Compare commits

...

368 Commits
master ... wang

Author SHA1 Message Date
wangwei f01ee30a53 增加版本号 2 years ago
wangwei e6cba70d0f 增加版本号 2 years ago
wangwei 8ef42f7ee7 增加版本号 2 years ago
wangwei a8f39c2816 增加版本号 2 years ago
wangwei e873ee5537 修改bug 2 years ago
wangwei d045aeaf8c 修改bug 2 years ago
wangwei 024b76a958 修改bug 2 years ago
wangwei 4ce7b3b006 修改bug 2 years ago
wangwei a3033e4a83 修改bug 2 years ago
wangwei 4a7e8bf9f1 修改bug 2 years ago
wangwei 9160cf6c69 修改bug 2 years ago
wangwei d5dcc90a8e 修改bug 2 years ago
wangwei c1df1d5c63 修改bug 2 years ago
wangwei 1524d40312 修改bug 2 years ago
郑明梁 7f09d20130 配送产品打印代码提交 2 years ago
郑明梁 b572af8676 Merge remote-tracking branch 'origin/orderChange' into orderChange 2 years ago
郑明梁 4f6b82910f 修改关联第三方仓库和单据提交bug 2 years ago
x_z e992870e61 Merge branch 'zhairh' into orderChange 2 years ago
x_z 11a298af3d 1.修复配货管理单据编辑无法显示往来单位名称问题
2.添加系统版本信息展示
2 years ago
郑明梁 af3bb1cd6e 更换方法名字 2 years ago
郑明梁 c9372c3947 生产企业资质打印功能代码提交 2 years ago
郑明梁 acda1b581b 修复bug 2 years ago
x_z ba8d9bc868 1.删除无用代码 2 years ago
郑明梁 83938bc082 修复配送企业资质功能问题 2 years ago
郑明梁 154fe42896 配送企业资质打印 2 years ago
x_z bec5ba7444 1.调整设备养护记录页面养护备注显示效果 2 years ago
x_z 8c51dec1e4 Merge remote-tracking branch 'origin/orderChange' into zhairh 2 years ago
x_z aa5a74e122 1.修复内部码打印提交按钮无效问题 2 years ago
wangwei b10bca8d15 修改bug 2 years ago
wangwei 29847e8765 修改bug 2 years ago
wangwei 17809f9a37 修改bug 2 years ago
x_z 23154db0d5 Merge remote-tracking branch 'origin/orderChange' into zhairh 2 years ago
x_z d2554c58f8 1.调整打印接口,修复打印空白问题 2 years ago
郑明梁 7611c5536b 修改耗材字段已经单据搜索问题 2 years ago
x_z fa13d83bec Merge remote-tracking branch 'origin/orderChange' into zhairh 2 years ago
x_z 8d9790cc2d 1.修复扫码单据库存校验失败问题,删除无用的debugger关键字 2 years ago
wangwei c4e1b368d3 修改bug 2 years ago
郑明梁 7410778171 耗材单据选入不到产品 2 years ago
x_z a9cabedd5b 1.修复资质审核页面分页问题 2 years ago
x_z a9f2945bc4 1.修复切换仓库等级,允许供应商使用选项未被重置问题 2 years ago
wangwei 3b143ac5bb Merge branch 'wang' into orderChange 2 years ago
wangwei d25e4670b1 修改bug 2 years ago
郑明梁 1967585890 Merge remote-tracking branch 'origin/orderChange' into orderChange 2 years ago
郑明梁 a74fcb5761 修改单据产品录入问题 2 years ago
wangwei 2adb4d7e0c 修改bug 2 years ago
wangwei f7be2225cd 修改bug 2 years ago
郑明梁 f4807835cb 修改扫码单据查询问题 2 years ago
郑明梁 edc985f0ea 修改扫码单据查询问题 2 years ago
郑明梁 8e85ef1e45 修改单据补单问题 2 years ago
郑明梁 0ff0cba800 同步管理系统1.0耗材bug问题 2 years ago
wangwei c0203b47a7 修改bug 2 years ago
wangwei 7237cb3d3f 修改bug 2 years ago
wangwei e74da945e9 修改bug 2 years ago
x_z 3d5e29a5e1 1.修复部分bug,添加设备养护记录打印功能 2 years ago
x_z 8219e2cafa 1.修复设备领用,养护bug 2 years ago
x_z cf2454cdfc 1.修复资产管理重置后无数据问题 2 years ago
郑明梁 a386a8bf5b 提示语错误修改 2 years ago
x_z a89473c8da 1.优化设备养护功能
2.修复耗材摆放的重新摆放功能
2 years ago
x_z f5aef6008b 1.资产管理页面添加过滤状态,修复未审核的领用设备也可以被查询出来的问题 2 years ago
x_z 3c86c2b297 Merge remote-tracking branch 'origin/orderChange' into zhairh 2 years ago
x_z dafdca99d8 1.修复设备领用和设备养护相关功能的bug 2 years ago
郑明梁 4d5cdb4501 Merge remote-tracking branch 'origin/orderChange' into orderChange 2 years ago
郑明梁 810c60257b 修改资质证书提示语 2 years ago
wangwei 75720e4e43 Merge branch 'wang' into orderChange 2 years ago
wangwei b7a1aac7c8 修改bug 2 years ago
wangwei 97a398b02d Merge branch 'wang' into orderChange 2 years ago
wangwei 2f8e7f0b39 修改bug 2 years ago
郑明梁 489e9bef21 去除搜索列表的仓库功能 2 years ago
x_z 4e10ae0e91 Merge remote-tracking branch 'origin/orderChange' into orderChange 2 years ago
x_z f705739f0b 1.修复设备领用和设备养护相关功能的bug 2 years ago
郑明梁 c8c41a94a7 修改单据和采购功能bug 2 years ago
wangwei 3625cbf995 Merge branch 'wang' into orderChange 2 years ago
wangwei 943c8c5eff 修改bug 2 years ago
x_z d13b18dd51 1.修复供应商器械信息页面供应商列表查询出非供应商信息问题 2 years ago
x_z 291d4ba1cb 1.修复第二页查询无数据问题
2.修复设备领用审核页面查询设备详情错误问题
2 years ago
x_z aff0ea0749 1.恢复路由文件 2 years ago
x_z ae318e8db4 Merge remote-tracking branch 'origin/orderChange' into zhairh
# Conflicts:
#	src/views/inventory/invMAOrderAudit.vue
2 years ago
x_z 7e36ea6c43 1.修改添加领用扫码校验逻辑 2 years ago
wangwei 483a504015 Merge branch 'wang' into orderChange 2 years ago
wangwei b95c089dfb 修改缺少信息bug 2 years ago
x_z 2674284890 Merge remote-tracking branch 'origin/orderChange' into zhairh
# Conflicts:
#	src/views/inventory/invMAOrderAudit.vue
2 years ago
x_z 14183ac140 Merge remote-tracking branch 'origin/zhairh' into zhairh 2 years ago
x_z 277e49d416 1.调整养护功能货位联动
2.修复单据备注编辑无法生效问题
2 years ago
wangwei d158fb2ed2 Merge remote-tracking branch 'origin/ww' into ww 2 years ago
x_z 635f54bd1c 1.调整设备领用功能 2 years ago
wangwei 47628e0ea7 Merge remote-tracking branch 'origin/orderChange' into ww 2 years ago
x_z 34dbd93959 1.同步申购管理部分代码
2.修复养护相关的部分问题
2 years ago
anthonywj d565bcdf6d 申购单据审核与扫码单据业务单据只留一个仓库问题修改 2 years ago
x_z cb1e27c381 1.修复关闭窗口按钮和驳回按钮重合问题 2 years ago
x_z 2fadb39eaa 1.修复接口404问题
2.修复分页,查询问题
2 years ago
x_z 2c8670c78b 1.修复领用等页面显示问题及传参问题 2 years ago
x_z 9f6b8ceadc 1.修复无库存查询耗材字典无数据问题
2.修复复制单据往来单位无数据问题
2 years ago
x_z 26678a3825 1.修复异常单据码详情选择供应商查询无法使用名称查询的问题 2 years ago
x_z ab4ac7036a 1.修复采购计划页面无法输入采购数量问题 2 years ago
anthonywj c4c9623223 新增扫码单据相关bug修改, 2 years ago
x_z 43b780d22c 1.修复盘点单据编辑页显示分库名称问题
2.修复单据编辑删除条码页面弹窗会被误触关闭的问题
2 years ago
anthonywj 2987dc6728 单据流转补单去掉之前缺量补单界面 2 years ago
x_z c888d13f10 1.补充代码缺漏 2 years ago
wangwei 57aff77502 修改bug 2 years ago
x_z 638779b6b3 1.修复备注无法回显问题 2 years ago
x_z b5efa00451 1.下载任务页面添加立即下载功能 2 years ago
x_z 4f5fa7b593 1.删除提交单据到自助平台功能 2 years ago
郑明梁 89731bff86 修改bug 2 years ago
x_z 4753486889 1.修复部分bug 2 years ago
x_z 42c695316f 1.调整设备养护功能页面 2 years ago
x_z 2787b09dd1 1.调整设备领用功能页面 2 years ago
x_z 46e0db9ded 1.调整设备领用功能 2 years ago
wangwei f99e536e4f Merge remote-tracking branch 'origin/ww' into orderChange 2 years ago
wangwei c0e9282d9a 修改bug 2 years ago
x_z 239e313a28 1.同步申购管理部分代码
2.修复养护相关的部分问题
2 years ago
x_z b6863f4b78 Merge remote-tracking branch 'origin/orderChange' into zhairh 2 years ago
x_z 1612e84f0f 1.修复关闭窗口按钮和驳回按钮重合问题 2 years ago
x_z adb807eae4 1.修复接口404问题
2.修复分页,查询问题
2 years ago
anthonywj 452fa1b671 申购单据审核与扫码单据业务单据只留一个仓库问题修改 2 years ago
x_z 373ee8f5d5 Merge remote-tracking branch 'origin/orderChange' into zhairh 2 years ago
x_z b8d8fb05ec 1.修复领用等页面显示问题及传参问题 2 years ago
wangwei 88a3a89fe1 Merge remote-tracking branch 'origin/ww' into orderChange 2 years ago
wangwei 1d11128802 修改bug 2 years ago
x_z bdd6e2d034 1.修复无库存查询耗材字典无数据问题
2.修复复制单据往来单位无数据问题
2 years ago
x_z dd8e21b3a9 1.修复异常单据码详情选择供应商查询无法使用名称查询的问题 2 years ago
x_z 5c5bdc629d 1.修复采购计划页面无法输入采购数量问题 2 years ago
x_z 2517ddc762 Merge remote-tracking branch 'origin/orderChange' into zhairh 2 years ago
anthonywj 5ed8d2f219 新增扫码单据相关bug修改, 2 years ago
x_z 0aa43734cb 1.修复盘点单据编辑页显示分库名称问题
2.修复单据编辑删除条码页面弹窗会被误触关闭的问题
2 years ago
anthonywj 7723268dcf 单据流转补单去掉之前缺量补单界面 2 years ago
x_z 635bdbead7 1.补充代码缺漏 2 years ago
x_z cbaa69057e Merge remote-tracking branch 'origin/orderChange' into zhairh 2 years ago
wangwei ed011531b9 修改bug 2 years ago
x_z 011a30345c 1.修复备注无法回显问题 2 years ago
x_z e43bd51f04 1.下载任务页面添加立即下载功能 2 years ago
x_z 4eac7d5b29 1.删除提交单据到自助平台功能 2 years ago
x_z f26169a1bb Merge remote-tracking branch 'origin/orderChange' into zhairh 2 years ago
郑明梁 b5180d2a61 Merge remote-tracking branch 'origin/feature-order-fix' into orderChange 2 years ago
郑明梁 bd925d0e97 修改bug 2 years ago
wangwei 4934b92ae2 修改bug 2 years ago
x_z 30ea52acc1 1.修复部分bug 2 years ago
x_z 4bcd4fe31f 1.调整设备养护功能页面 2 years ago
x_z 1cd0c8c374 Merge remote-tracking branch 'origin/orderChange' into zhairh 2 years ago
x_z e7b5de7fd3 1.调整设备领用功能页面 2 years ago
郑明梁 04f7cff829 修改耗材字典bug 2 years ago
x_z 5c2e8cd2a5 1.调整设备领用功能 2 years ago
郑明梁 10d8361f6f 同步1.0版本bug代码 2 years ago
郑明梁 0f3d914dc4 优化时间格式YYYY-mm-dd 2 years ago
郑明梁 85556ab834 修改bug 2 years ago
郑明梁 75605335a6 去除仓库功能 2 years ago
x_z 2b4f37aaf0 Merge remote-tracking branch 'origin/orderChange' into zhairh 2 years ago
x_z 62889b5c29 1.同步busUser分支的bug修复 2 years ago
郑明梁 7734de5c81 测试 2 years ago
x_z 78ab5976fa 1.添加盘点单号打印功能 2 years ago
x_z f6dd117b8d 1.完成设备养护功能 2 years ago
x_z 7cd0458866 1.保存代码 2 years ago
x_z 2986d1b47f 1.修改设备养护记录页面及接口文件 2 years ago
x_z 8ca5929c1f 1.调整设备领用审核及查询页面 2 years ago
x_z a7982a210b 1.修改设备领用相关页面,对接后端接口 2 years ago
x_z 586e715e57 1.保存代码 2 years ago
x_z 4ba2f1bea7 1.添加设备领用养护页面和js文件 2 years ago
x_z 2ed9acf038 Merge remote-tracking branch 'origin/orderChange' into zhairh 2 years ago
x_z c485e6ea01 1.优化分库下拉框显示效果,调整仓库码为总库名称 2 years ago
anthonyywj2 7601cb7d86 分支合并后提交 2 years ago
anthonyywj2 70fff6cff4 切换分支提交 2 years ago
x_z d89e3b13fa 1.优化库存养护页面展示效果
2.完善库存养护功能
2 years ago
郑明梁 d56def6d89 修改bug 2 years ago
x_z db1da58dc4 1.修复部分bug,优化仓库选择 2 years ago
x_z 4f0d7ad64c 1.完成新增库存养护记录页面 2 years ago
x_z 2c4fb58a8e 1.调整库存养护页面,对接接口 2 years ago
x_z eb850d80af 1.添加库存养护相关页面和api文件
2.完善新增库存养护记录页面
2 years ago
anthonyywj2 5ec890bb3e 单据流转设置改动,采购管理优化,bug处理 2 years ago
anthonyywj2 4b16e6ffca 切换分支代码备份 2 years ago
郑明梁 132d4ba9c1 Merge branch 'busUser' of https://gitee.com/anthonywj/udiwms-vue into busUser 2 years ago
郑明梁 616e26bd8e 修改仓库分页 2 years ago
x_z 0a26978d3a Merge remote-tracking branch 'origin/zhairh' into busUser 2 years ago
x_z d103fde86d Merge remote-tracking branch 'origin/busUser' into zhairh 2 years ago
x_z 167920855d 1.调整盘点页面 2 years ago
x_z b1931b4a30 1.修复查询盘点码明细未使用批次号条件过滤问题 2 years ago
zhengmingliang 31bfb201e1 同步自助平台代码 2 years ago
x_z e52c008fe3 1.修复异常单据页面来源字段无内容问题 2 years ago
zhengmingliang 0e91e27c59 同步自助平台代码 2 years ago
x_z 38c9cec350 Merge remote-tracking branch 'origin/busUser' into zhairh 2 years ago
x_z 9f488dab8c 1.修改码详情页面,添加扫码数量 2 years ago
x_z 2affcf8587 1.添加库存养护路由 2 years ago
x_z 209e6be48d 1.调整扫码单据页面单据来源数值,添加仓库盘点来源 2 years ago
x_z bde47d1399 1.扫码单据来源修改 2 years ago
anthonyywj2 176cbd88e9 代码被合并掉 2 years ago
x_z 5949c2235f 1.解决盘点分库货位查询问题 2 years ago
x_z 6d38451dd3 1.完善盘点功能 2 years ago
x_z 37f908f656 1.修改盘点功能bug 2 years ago
x_z d07b537c81 Merge remote-tracking branch 'origin/busUser' into zhairh 2 years ago
zhengmingliang 5a2ed31531 同步自助平台代码 2 years ago
x_z 51ff0291f4 1.修改页码未同步问题
2.扫码添加提示
2 years ago
x_z 637f91325a 1.修复盘点功能bug 2 years ago
x_z 507aa3f202 Merge remote-tracking branch 'origin/busUser' into zhairh
# Conflicts:
#	public/config.json
#	src/router/index.js
2 years ago
x_z e3ee9da38e 保存配置文件 2 years ago
anthonyywj2 fad77aab35 Merge remote-tracking branch 'origin/busUser' into busUser 2 years ago
anthonyywj2 df1c76d9e8 首营资质同步 2 years ago
x_z 1c74c6b2b2 1.添加医院客户接口和页面 2 years ago
anthonyywj2 40d361b4b9 Merge remote-tracking branch 'origin/busUser' into busUser 2 years ago
anthonyywj2 1bb8ff9ed6 自助平台代码同步 2 years ago
x_z 09599a2412 1.保存代码 2 years ago
anthonyywj2 c6969d9cd9 代码合并修改 2 years ago
anthonyywj2 b5db3754b1 领用管理bug修改 2 years ago
anthonyywj2 cac8361e57 首映功能完善,领用功能完善,采购管理完善 2 years ago
x_z 38cd608cab 1.修复盘点部分bug 2 years ago
x_z cb8286fbd1 1.查询货位列表添加状态字段,查询启用的货位 2 years ago
x_z ad911c7f99 1.修复盘点页面部分bug 2 years ago
x_z 7eba377238 1.调整盘点设置按钮禁用逻辑
2.修复耗材存放管理页面错误信息无法正确显示问题
3.修复新增部分盘点,盘点单无法选择产品问题
2 years ago
x_z 03ee2da1ed Merge remote-tracking branch 'origin/busUser' into zhairh
# Conflicts:
#	public/config.js
#	public/config.json
2 years ago
x_z 12e3bcbce9 提交配置文件 2 years ago
x_z b92af9cc3e 1.调整盘点方式,修改新增盘点单页面控制逻辑 2 years ago
x_z f15d6dc5a3 1.调整菜单名称
2.修改盘点设置和耗材存放管理页面
2 years ago
x_z f505e3a96f 1.调整盘点设置页面 2 years ago
zhengmingliang 46571d6261 修复仓库字典单据显示问题 2 years ago
x_z 122f40375b 1.添加盘点设置页面 2 years ago
anthonyywj2 ac15ed8066 首营功能完善 2 years ago
x_z ef4d2c78cc 1.完成盘点单审核和盘点单查询页面功能 2 years ago
zhengmingliang bd20bdff93 修改同步勾选第三方往来单位时候取消删除功能 2 years ago
x_z af40695ede 1.完成新增盘点单页面功能 2 years ago
x_z 6645e2ef42 1.保存代码 2 years ago
x_z 5b30d5aeb7 1.修改盘点单据页面,调整交互逻辑 2 years ago
x_z c29997d220 1.修改盘点单据页面 2 years ago
x_z 1baccb1175 1.添加盘点相关接口 2 years ago
x_z ef574c117e 1.保存代码 2 years ago
x_z 2a491bb851 1.添加货物摆放页面及对应接口 2 years ago
zhengmingliang 1758480b35 修复同步添加扫码单据bug 2 years ago
x_z f85312d3b4 1.添加货物摆放页面和路由 2 years ago
x_z 6b06d7b960 1.货位表添加分类字段 2 years ago
x_z e87614fc58 1.调整货位管理功能,移动到仓库关联的分库下
2.调整审核盘点单页面内容展示
2 years ago
zhengmingliang 05d962373f 未验收功能增加验收页面 2 years ago
x_z 7caf4e9cd2 1.提交新增盘点单据和盘点单据审核页面修改 2 years ago
x_z af6ea1cf23 1.保存代码 2 years ago
x_z 74eb8d9ced 1.修改新增盘点单页面 2 years ago
x_z b03776ddfe 1.整理页面,保存代码 2 years ago
x_z a05cbdb219 1.修改盘点单页面 2 years ago
x_z 45e474eeff 1.完成货位管理页面 2 years ago
x_z 6675843652 1.保存代码 2 years ago
x_z bf433baf6e 1.添加货位字典路由和页面文件 2 years ago
x_z 0d20d94865 1.修改新建盘点单页面 2 years ago
x_z 7441e5c040 1.新建个人分支,提交盘点页面代码 2 years ago
x_z 484e14e4b6 1.回滚部门分支代码 2 years ago
x_z 62edd2a72b 1.添加盘点管理路由和页面及对应的js文件 2 years ago
x_z 8f414d7510 1.修复重置按钮不清空搜索框问题 2 years ago
anthonyywj2 0070296594 切换分支备份 3 years ago
anthonyywj2 c5e9d69a61 平和接口对接修改 3 years ago
anthonyywj2 f98303b77e bug修改 3 years ago
anthonyywj2 1502f3f6e7 新增第三方产品信息上传审核界面 3 years ago
anthonyywj2 601b990bbe 功能大改造取得阶段性胜利 3 years ago
anthonyywj2 58462e2e3a bug修改!, 3 years ago
anthonyywj2 e5cfea56e7 第三方服务提交 3 years ago
x_z 451778589f 1.调整产品信息展示样式 3 years ago
x_z 91c4bb8da9 1.调整部分页面文字显示,功能菜单名称,仓库管理页面布局和操作优化 3 years ago
x_z 71468119e8 1.修改仓库字典添加用户和单据类型列表为不分页 3 years ago
x_z 93fae82509 1.修复领用单据库存产品查询未携带仓库码问题
2.修复同步任务查询时间未重置问题
3 years ago
anthonyywj2 ba7d382cc0 bug收尾 3 years ago
anthonyywj2 c5731c9631 Merge remote-tracking branch 'origin/busUser' into busUser
# Conflicts:
#	src/views/inventory/DialogInvProduct.vue
#	src/views/thrsys/ThrOrdedrReceiveAdd.vue
3 years ago
anthonyywj2 0c650184d4 领用单据相关bug修改,第三方业务单据修改 3 years ago
x_z 269a2edb11 1.修复领用单据分页查询未重置页码问题 3 years ago
x_z ad58a283d7 1.修复业务单据查询库存产品未添加分库条件的问题 3 years ago
anthonyywj2 e40e1f5a25 Merge remote-tracking branch 'origin/busUser' into busUser 3 years ago
anthonyywj2 5419240811 bug修复的 3 years ago
x_z e062765db5 1.修复部分bug 3 years ago
x_z 5fe9c76d1b 1.修复部分页面产品详情表格分页问题,领用单据仓库关联查询问题 3 years ago
x_z c5d68799c7 1.单据类型列表增加备注展示 3 years ago
anthonyywj2 99f2c2bc49 Merge remote-tracking branch 'origin/busUser' into busUser 3 years ago
x_z 86d85ef71c 1.引入工具库js 3 years ago
anthonyywj2 dd72897804 切换分支备份 3 years ago
anthonyywj2 4d6410ca15 Merge branch 'fengcang' into busUser 3 years ago
anthonyywj2 3beb292106 单据复制一二次复核 3 years ago
anthonyywj2 9873392b4b UDI自助平台代码同步 3 years ago
anthonyywj2 1361f9fe2a 切换分支备份 3 years ago
anthonyywj2 ea7d03a753 Merge branch 'fengcang' into busUser
# Conflicts:
#	public/config.json
#	src/views/basic/BasicEntrutsRece.vue
#	src/views/business/stockOrder.vue
#	src/views/business/stockOrderDelSearch.vue
#	src/views/business/stockOrderEditor.vue
#	src/views/business/stockOrderNew.vue
#	src/views/business/stockOrderNewDistribution.vue
#	src/views/business/stockOrderSearch.vue
#	src/views/business/stockOrderWaitCheck.vue
#	src/views/inout/IOAddOrder.vue
#	src/views/inout/IOCheckWaitOrder.vue
#	src/views/inout/IOFinishOrder.vue
3 years ago
anthonyywj2 8ed0e1a924 单据查询新增部门展示字段 3 years ago
anthonyywj2 4d2bbb7258 备份 3 years ago
anthonyywj2 e61fd5ff2a 备份 3 years ago
anthonyywj2 dfa3c1d1f2 备份 3 years ago
anthonyywj2 bae70ba064 bug修改 3 years ago
x_z c171190332 1.修复bug 3 years ago
anthonyywj2 52c94993d5 bug修改 3 years ago
x_z 34c50eda59 1.修复bug 3 years ago
x_z 296f15a93c 1.修复委托验收设置新增按钮弃用判断无效问题 3 years ago
x_z 3613199fe4 1.修复bug 3 years ago
x_z c28c701467 1.修复分库添加用户和单据类型数据未刷新问题 3 years ago
anthonyywj2 3b3699c521 Merge branch 'fengcang' into busUser 3 years ago
x_z 0563987331 1.修复预验收库查询码详情页分页问题 3 years ago
anthonyywj2 c3ce5cca1b bug修改 3 years ago
anthonyywj2 fcb6588515 自助平台bug修复同步(二级bug修复) 3 years ago
anthonyywj2 aacc8ebe28 单据管理默认选择仓库,分库 3 years ago
anthonyywj2 a1593d09e7 bug修复 3 years ago
anthonyywj2 eba2c3953d Merge branch 'fengcang' into busUser 3 years ago
anthonyywj2 b469674003 代码备份,新增部门 3 years ago
x_z dfbf57697a 1.修复校验异常单据选择业务单据弹出提示异常信息问题
2.修复分页bug
3 years ago
x_z d9777aa49f 1.扫码单据编辑列表添加实际数量字段 3 years ago
anthonyywj2 ce8cf494d5 第三方单据上传重复提交问题 3 years ago
anthonyywj2 b20b41d360 新增单据上传时间控制 3 years ago
x_z ea1f6b3e04 1.修复部分页面分页问题 3 years ago
x_z 8004ecfffa 1.修复bug 3 years ago
x_z d0d9eb4003 1.修复时间选择器时间格式化问题 3 years ago
x_z e1b2b276ac 1.修复bug 3 years ago
x_z 4297055a9f 1.修复部分已知bug 3 years ago
x_z a92f5e80fc 1.修复部分已知bug 3 years ago
anthonyywj2 9e058ff489 bug修改 3 years ago
x_z 7d76a568af 1.仓库添加关联用户和单据类型候选列表页添加分页功能 3 years ago
x_z f09537dc0d 1.分仓关联用户和单据类型增加分页查询 3 years ago
anthonyywj2 eb54709cb5 仓库字典禁用启用 3 years ago
anthonyywj2 d4b76e1ac1 Merge remote-tracking branch 'origin/fengcang' into fengcang
# Conflicts:
#	src/views/userManage/param/systemPDFModule.vue
3 years ago
anthonyywj2 65b7d9b070 bug修改 3 years ago
x_z 2e47219fe0 1.修复第三方系统页面相关bug 3 years ago
x_z 57f2179782 1.修复重置后数据列表分页页码回显错误问题 3 years ago
anthonyywj2 d79154583f bug修改,同步设置联动控制按钮是否可用 3 years ago
x_z ac3485ed8b 1.修复部分弹窗无法关闭,分页导致查询无效,关键字查询无效等问题,调整菜单页面布局,删除不需要的元素 3 years ago
x_z b4cf0c0760 1.修复添加第三方单据类型校验不提示信息的问题 3 years ago
anthonyywj2 22ddfe3d87 bug修改 3 years ago
x_z b8e07300c5 1.点击立即处理,移除已经提交的单据 3 years ago
anthonyywj2 22d0c351a1 Merge remote-tracking branch 'origin/fengcang' into fengcang 3 years ago
anthonyywj2 56bebe56ad 第三方单据上传弹窗设置 3 years ago
x_z ecfde910a9 1.添加业务单据类型增加校验 3 years ago
anthonyywj2 ead487f269 单据上传新增单据来源控制,其他一些问题修改 3 years ago
anthonyywj2 9dac1a5864 Merge remote-tracking branch 'origin/fengcang' into fengcang 3 years ago
anthonyywj2 a3c737095b 单据提交与单据类型修改 3 years ago
x_z af1975cc06 1.修复添加删除分仓展示错误问题 3 years ago
x_z 0dcc57b038 1.分仓列表展示主仓库名称 3 years ago
anthonyywj2 72ea0797cc bug修复,字段新增 3 years ago
anthonyywj2 6f3fb8728a 第三方对接,,, 3 years ago
anthonyywj2 f3552f79dd 增加一些日志,调整获取第三方单据,第三方库存产品信息 3 years ago
anthonyywj2 5b74ee432c 单据上传记录 3 years ago
anthonyywj2 47cee0ee49 Merge remote-tracking branch 'origin/fengcang' into fengcang 3 years ago
anthonyywj2 c4537a0ab8 第三方仓库新增分库,关联绑定第三方分库等,第三方的单据上传新增条码上传 3 years ago
x_z 06ec30e730 1.重复选入产品,重复不关闭弹窗 3 years ago
x_z 6b5e6d922c 1.修复扫码单据编辑产品信息之后未刷新的问题 3 years ago
anthonyywj2 a91972ba61 接收第三方单据上传 3 years ago
anthonyywj2 994630b56d 接收第三方单据上传 3 years ago
anthonyywj2 aa3460de4d 业务单据扫码单据使用后端返回的单据类型名称,仓库名称 3 years ago
anthonyywj2 66990e1ae5 bug修改,单据类型与仓库联动问题 3 years ago
x_z 37c5637c08 1.修复禅道bug 3 years ago
anthonyywj2 1a157b68cb 单据类型设置 3 years ago
x_z 2e5a541a6a 1.调整部分页面样式,统一第三方数据添加产品和产品详情展示字段
2.第三方产品信息详情页添加所属第三方系统名称信息
3 years ago
x_z 1b8edd4d9a 1.修复禅道bug 3 years ago
anthonyywj2 a2208a2a07 第三方单据轮询时间设置 3 years ago
anthonyywj2 fbf20cd82c 新增第三方单据提交设置,打印字段新增与修改,产品信息关联修改 3 years ago
anthonyywj2 c3bc6119af 模板修改 3 years ago
anthonyywj2 a192f62a36 禅道bug修改 3 years ago
anthonyywj2 e3bf58b980 手动修改批次号不生效问题 3 years ago
anthonyywj2 8565e20c0c 领用单据bug修复 3 years ago
anthonyywj2 d927096374 bug修复 3 years ago
anthonyywj2 5a0d441e83 条码编辑根据国家库设定禁用输入序列号 3 years ago
anthonyywj2 7256146389 Merge remote-tracking branch 'origin/fengcang' into fengcang 3 years ago
anthonyywj2 1dd413a391 新增扫码单据时无序列号可以直接输入数量,业务单据新增加入分库 3 years ago
x_z 3ba46795c2 1.修复库存查询未重置分页参数导致无数据的问题
2.删除无用的调试代码
3 years ago
anthonyywj2 057f316e14 委托验收界面问题 3 years ago
anthonyywj2 07129bdeff 新增扫码单据默认选择,切换后无法选择问题 3 years ago
x_z 6899706ec5 1.修复右上角用户分仓不显示的问题 3 years ago
x_z b86f23004e 1.修改单据配货管理,编辑页面,修改单据时间格式
2.调整判空方法逻辑
3 years ago
anthonyywj2 536723fa0c Merge remote-tracking branch 'origin/fengcang' into fengcang 3 years ago
anthonyywj2 726822bef6 bug修改,,, 3 years ago
x_z 60035c9f4b 1.复制单据添加分库和往来单位分库校验
2.新增扫码单据查询,弹窗提示后台接口错误信息
3 years ago
x_z 9ab49b4a00 1.已验收单据和未验收单据数据列表,当前仓库和当前分库使用后端返回名称,不再使用前端取值 3 years ago
anthonyywj2 0c34aa3761 数据延时上传功能 3 years ago
anthonyywj2 721aea904d 未验收业务单据无法完成验收问题,单据补单默认仓库,分库 3 years ago
anthonyywj2 439e419fa8 默认分库问题修改 3 years ago
anthonyywj2 363bd6ac43 Merge remote-tracking branch 'origin/fengcang' into fengcang 3 years ago
anthonyywj2 235cca9dea 委托验收补单问题,单独分库默认第一个 3 years ago
x_z 47237c5c71 1.优化委托验收设置,库存查询页面交互逻辑 3 years ago
anthonyywj2 677fba049a Merge remote-tracking branch 'origin/fengcang' into fengcang 3 years ago
anthonyywj2 bfdf381789 禅道bug修改,自助同步到UDI管理 3 years ago
x_z ba87eb80b1 1.调整样式,隐藏仓库用户主管显示,委托验收页面显示分库和委托验收分库 3 years ago
x_z 562572455f 1.添加校验,调整样式 3 years ago
anthonyywj2 8edb785fde 禅道bug修改,自助同步到UDI管理 3 years ago
x_z ca6ad2d29b 1.添加字符串处理工具
2.用户编辑页面提交方法添加参数校验
3.分库添加用户操作添加校验,不选择用户时无法关闭弹窗
3 years ago
anthonyywj2 56ff1562e8 分库编辑会新增问题 3 years ago
anthonyywj2 47b2bcab04 合并自助平台分库功能代码 3 years ago

@ -5,7 +5,7 @@ module.exports = {
},
'extends': [
'plugin:vue/essential',
'@vue/prettier'
// '@vue/prettier'
],
plugins: [
'vue'
@ -15,6 +15,6 @@ module.exports = {
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
},
parserOptions: {
parser: 'babel-eslint'
// parser: 'babel-eslint'
}
}
}

2
.gitignore vendored

@ -20,3 +20,5 @@ yarn-error.log*
*.njsproj
*.sln
*.sw*
/UDI_WMS_Client
/*.gitignore

53
package-lock.json generated

@ -10,6 +10,7 @@
"dependencies": {
"axios": "^0.23.0",
"babel-polyfill": "^6.26.0",
"element-china-area-data": "^5.0.2",
"element-ui": "^2.15.7",
"file-saver": "^2.0.5",
"js-cookie": "^2.2.0",
@ -34,7 +35,7 @@
"babel-core": "7.0.0-bridge.0",
"babel-jest": "^23.0.1",
"sass-loader": "^7.0.1",
"vue-template-compiler": "latest"
"vue-template-compiler": "2.5.16"
}
},
"node_modules/@babel/code-frame": {
@ -4661,6 +4662,11 @@
"integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==",
"dev": true
},
"node_modules/china-area-data": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/china-area-data/-/china-area-data-5.0.1.tgz",
"integrity": "sha512-BQDPpiv5Nn+018ekcJK2oSD9PAD+E1bvXB0wgabc//dFVS/KvRqCgg0QOEUt3vBkx9XzB5a9BmkJCEZDBxVjVw=="
},
"node_modules/chokidar": {
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz",
@ -6742,6 +6748,15 @@
"integrity": "sha512-x5uZWXcVNYkTh4JubD7KSC1VMKz0vZwJUqVwY3ihsW0bst1BXDe494Uqbg3Y0fDGVjJqA8vEeGuvO5foyH2+qw==",
"dev": true
},
"node_modules/element-china-area-data": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/element-china-area-data/-/element-china-area-data-5.0.2.tgz",
"integrity": "sha512-vLQuvOKJy/uiX7MRHEk3x/j09hipuIl6DJ/C4XFUG7D7Pj3O47sy+Y6aAArM6k9v8cD9UX6e+yz2S4J+IPnZ8g==",
"dependencies": {
"china-area-data": "^5.0.1",
"lodash-es": "^4.17.15"
}
},
"node_modules/element-ui": {
"version": "2.15.7",
"resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.15.7.tgz",
@ -11769,6 +11784,11 @@
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
"node_modules/lodash-es": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
"integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="
},
"node_modules/lodash.debounce": {
"version": "4.0.8",
"resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
@ -15333,8 +15353,8 @@
},
"node_modules/qrcodejs2": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/qrcodejs2/-/qrcodejs2-0.0.2.tgz",
"integrity": "sha1-Rlr+Xjnxn6zsuTLBH3oYYQkUauE="
"resolved": "https://registry.npmmirror.com/qrcodejs2/-/qrcodejs2-0.0.2.tgz",
"integrity": "sha512-+Y4HA+cb6qUzdgvI3KML8GYpMFwB24dFwzMkS/yXq6hwtUGNUnZQdUnksrV1XGMc2mid5ROw5SAuY9XhI3ValA=="
},
"node_modules/qs": {
"version": "6.5.2",
@ -19298,7 +19318,7 @@
},
"node_modules/vue": {
"version": "2.5.16",
"resolved": "https://registry.npmjs.org/vue/-/vue-2.5.16.tgz",
"resolved": "https://registry.npmmirror.com/vue/-/vue-2.5.16.tgz",
"integrity": "sha512-/ffmsiVuPC8PsWcFkZngdpas19ABm5mh2wA7iDqcltyCTwlgZjHGeJYOXkBMo422iPwIcviOtrTCUpSfXmToLQ=="
},
"node_modules/vue-eslint-parser": {
@ -25404,6 +25424,11 @@
"integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==",
"dev": true
},
"china-area-data": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/china-area-data/-/china-area-data-5.0.1.tgz",
"integrity": "sha512-BQDPpiv5Nn+018ekcJK2oSD9PAD+E1bvXB0wgabc//dFVS/KvRqCgg0QOEUt3vBkx9XzB5a9BmkJCEZDBxVjVw=="
},
"chokidar": {
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz",
@ -27095,6 +27120,15 @@
"integrity": "sha512-x5uZWXcVNYkTh4JubD7KSC1VMKz0vZwJUqVwY3ihsW0bst1BXDe494Uqbg3Y0fDGVjJqA8vEeGuvO5foyH2+qw==",
"dev": true
},
"element-china-area-data": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/element-china-area-data/-/element-china-area-data-5.0.2.tgz",
"integrity": "sha512-vLQuvOKJy/uiX7MRHEk3x/j09hipuIl6DJ/C4XFUG7D7Pj3O47sy+Y6aAArM6k9v8cD9UX6e+yz2S4J+IPnZ8g==",
"requires": {
"china-area-data": "^5.0.1",
"lodash-es": "^4.17.15"
}
},
"element-ui": {
"version": "2.15.7",
"resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.15.7.tgz",
@ -31220,6 +31254,11 @@
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
"lodash-es": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
"integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="
},
"lodash.debounce": {
"version": "4.0.8",
"resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
@ -34133,8 +34172,8 @@
},
"qrcodejs2": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/qrcodejs2/-/qrcodejs2-0.0.2.tgz",
"integrity": "sha1-Rlr+Xjnxn6zsuTLBH3oYYQkUauE="
"resolved": "https://registry.npmmirror.com/qrcodejs2/-/qrcodejs2-0.0.2.tgz",
"integrity": "sha512-+Y4HA+cb6qUzdgvI3KML8GYpMFwB24dFwzMkS/yXq6hwtUGNUnZQdUnksrV1XGMc2mid5ROw5SAuY9XhI3ValA=="
},
"qs": {
"version": "6.5.2",
@ -37405,7 +37444,7 @@
},
"vue": {
"version": "2.5.16",
"resolved": "https://registry.npmjs.org/vue/-/vue-2.5.16.tgz",
"resolved": "https://registry.npmmirror.com/vue/-/vue-2.5.16.tgz",
"integrity": "sha512-/ffmsiVuPC8PsWcFkZngdpas19ABm5mh2wA7iDqcltyCTwlgZjHGeJYOXkBMo422iPwIcviOtrTCUpSfXmToLQ=="
},
"vue-eslint-parser": {

@ -12,6 +12,7 @@
"dependencies": {
"axios": "^0.23.0",
"babel-polyfill": "^6.26.0",
"element-china-area-data": "^5.0.2",
"element-ui": "^2.15.7",
"file-saver": "^2.0.5",
"js-cookie": "^2.2.0",
@ -36,7 +37,7 @@
"babel-core": "7.0.0-bridge.0",
"babel-jest": "^23.0.1",
"sass-loader": "^7.0.1",
"vue-template-compiler": "latest"
"vue-template-compiler": "2.5.16"
},
"browserslist": [
"> 1%",

@ -1,5 +1,5 @@
window.global_config = {
"BASE_URL": "http://139.159.187.130:8080/UDI_WMS_MC",
"BASE_URL": "http://192.168.0.181:9991",
// "BASE_URL":"http://127.0.0.1:9991",
/**
*

@ -1,7 +1,7 @@
{
"UDI_SYNC_SERVER_IP": "http://192.168.0.109:9995/",
"BASE_URL":"http://192.168.0.109:9991",
"SERVER_IP": "http://192.168.0.109:9991/",
"WEBSOCKET_URL": "ws://192.168.0.109:9991/UDI_WMS_MC/api/websocket/",
"hosp_name": "诏安县总医院(测试)"
"UDI_SYNC_SERVER_IP": "http://127.0.0.1:9995/",
"BASE_URL":"http://127.0.0.1:9991",
"SERVER_IP": "http://127.0.0.1:9991/",
"WEBSOCKET_URL": "ws://127.0.0.1:9991/UDI_WMS_MC/api/websocket/",
"hosp_name": "平和县医院"
}

@ -0,0 +1,48 @@
//李自强
"UDI_SYNC_SERVER_IP": "http://192.168.0.109:9995/",
"BASE_URL":"http://192.168.0.66:8500/UDI_WMS_MC",
"SERVER_IP": "http://192.168.0.66:8500/UDI_WMS_MC/",
"WEBSOCKET_URL": "ws://192.168.0.109:9991/UDI_WMS_MC/api/websocket/",
"hosp_name": "福建省XX市医院"
//139
"UDI_SYNC_SERVER_IP": "http://192.168.0.109:9995/",
"BASE_URL":" http://139.9.178.73:8080/UDI_WMS_MC",
"SERVER_IP": " http://139.9.178.73:8080/UDI_WMS_MC,
"WEBSOCKET_URL": "ws://192.168.0.109:9991/UDI_WMS_MC/api/websocket/",
"hosp_name": "诏安县总医院"
//文明东
"UDI_SYNC_SERVER_IP": "http://192.168.0.109:9995/",
"BASE_URL":"http://192.168.0.66:8501/UDI_WMS_MC",
"SERVER_IP": "http://192.168.0.66:8501/UDI_WMS_MC/",
"WEBSOCKET_URL": "ws://192.168.0.109:9991/UDI_WMS_MC/api/websocket/",
"hosp_name": "平和县医院"
//139.73:
{
"UDI_SYNC_SERVER_IP": "http://192.168.0.109:9995/",
"BASE_URL":"http://139.9.178.73:8080/UDI_WMS_MC",
"SERVER_IP": "http://139.9.178.73:8080/UDI_WMS_MC/",
"WEBSOCKET_URL": "ws://192.168.0.109:9991/UDI_WMS_MC/api/websocket/",
"hosp_name": "平和县医院"
}
//本地
{
"UDI_SYNC_SERVER_IP": "http://192.168.0.109:9995/",
"BASE_URL":"http://192.168.0.109:9995",
"SERVER_IP": "http://192.168.0.109:9995",
"WEBSOCKET_URL": "ws://192.168.0.109:9991/UDI_WMS_MC/api/websocket/",
"hosp_name": "平和县医院"
}

@ -21,6 +21,24 @@ export function authAdminRoleList(query) {
});
}
//根据当前角色,获取是否为客户角色
export function roleCustomers(query) {
return axios({
url: "/admin/auth/admin/roleCustomers",
method: "get",
params: query
});
}
// 获取客户角色列表
export function authCustomerRoles(query) {
return axios({
url: "/admin/auth/admin/customerRoles",
method: "get",
params: query
});
}
// 保存
export function authAdminSave(data, formName, method = "post") {
let url =
@ -42,3 +60,12 @@ export function authAdminDelete(data) {
data: data
});
}
export function updateInv(data) {
return axios({
url: "/admin/auth/admin/updateInv",
method: "post",
data: data
});
}

@ -0,0 +1,33 @@
import axios from "../../utils/axios";
export function filterDepts(query) {
return axios({
url: "/udi/auth/dept/filter",
method: "get",
params: query
});
}
export function addDept(data) {
return axios({
url: "/udi/auth/dept/add",
method: "post",
data: data
});
}
export function updateDept(data) {
return axios({
url: "/udi/auth/dept/update",
method: "post",
data: data
});
}
export function deleteDept(data) {
return axios({
url: "/udi/auth/dept/delete",
method: "post",
data: data
});
}

@ -8,6 +8,14 @@ export function getChangeBusType(query) {
});
}
export function filterAll(query) {
return axios({
url: "/spms/busTypeChange/filter",
method: "get",
params: query
});
}
export function addChangeBusType(query) {
return axios({

@ -0,0 +1,33 @@
import axios from "../../utils/axios";
export function getBusChange(query) {
return axios({
url: "/basic/bustype/change/filter",
method: "get",
params: query
});
}
export function updateBusChange(query) {
return axios({
url: "/basic/bustype/change/update",
method: "post",
data: query
});
}
export function insertBusChange(query) {
return axios({
url: "/basic/bustype/change/insert",
method: "post",
data: query
});
}
export function delBusChange(query) {
return axios({
url: "/basic/bustype/change/delete",
method: "post",
data: query
});
}

@ -0,0 +1,85 @@
import axios from "../../utils/axios";
export function filterSubAll(query) {
return axios({
url: "/spms/sub/inv/warehouse/filter",
method: "get",
params: query
});
}
export function filterSubByInv(query) {
return axios({
url: "/spms/sub/inv/warehouse/findByInv",
method: "get",
params: query
});
}
export function filterSub(query) {
return axios({
url: "/spms/sub/inv/warehouse/filterSub",
method: "get",
params: query
});
}
// 保存
export function saveSubWarehouse(data, formName, method = "post") {
let url =
formName !== "edit"
? "/spms/sub/inv/warehouse/save"
: "/spms/sub/inv/warehouse/edit";
return axios({
url: url,
method: method,
data: data
});
}
// 删除
export function deleteSubWarehouse(data) {
return axios({
url: "/spms/sub/inv/warehouse/delete",
method: "post",
data: data
});
}
//查询第三方系统和仓库数据关联信息
export function getSubThrsysDetail(params) {
return axios({
url: "/spms/sub/inv/warehouse/thridSys/detail",
method: "get",
params: params
});
}
//绑定第三方仓库
export function bindThrSubWarehouse(params) {
return axios({
url: "/spms/sub/inv/warehouse/bindThrWarehouse",
method: "post",
params: params
});
}
//解绑第三方仓库
export function unbindSubThrWarehouse(params) {
return axios({
url: "/spms/sub/inv/warehouse/unbindThrWarehouse",
method: "post",
params: params
});
}
export function getInvWarehouseList(params) {
return axios({
url: "/spms/sub/inv/warehouse/filterSubInvList",
method: "get",
params: params
});
}

@ -107,8 +107,8 @@ export function exportJson(query) {
export function warehouseUserList(query) {
return axios({
url: '/warehouse/inout/warehouseUserList',
method: 'get',
params: query
method: 'post',
data: query
});
}
@ -116,8 +116,8 @@ export function warehouseUserList(query) {
export function warehouseBussinessTypeList(query) {
return axios({
url: '/warehouse/inout/warehouseBussniessTypeList',
method: 'get',
params: query
method: 'post',
data: query
});
}
@ -199,3 +199,14 @@ export function replaceCodes(data) {
data: data
})
}
export function filterThridSubByInv(params) {
return axios({
url: "/spms/sub/inv/warehouse/filterThridInv",
method: "get",
params: params
});
}

@ -0,0 +1,26 @@
import axios from "../../utils/axios";
export function filterList(query) {
return axios({
url: "/udiwms/basic/newDi/filter",
method: "get",
params: query
});
}
export function deleteNewDi(query) {
return axios({
url: "/udiwms/basic/newDi/delete",
method: "post",
data: query
});
}
export function postThird(query) {
return axios({
url: "/udiwms/basic/newDi/postThird",
method: "post",
data: query
});
}

@ -0,0 +1,44 @@
import axios from "../../utils/axios";
export function getUnitMaintain(query) {
return axios({
url: "/warehouse/unitMaintain/filter",
method: "get",
params: query
});
}
export function combine(query) {
return axios({
url: "/udiwms/basic/unit/maintain/combine",
method: "post",
data: query
});
}
export function deleteUnitMaintain(query) {
return axios({
url: "/warehouse/unitMaintain/delete",
method: "post",
data: query
});
}
export function addUnit(query) {
return axios({
url: "/warehouse/unitMaintain/add",
method: "post",
data: query
});
}
export function modifyUnit(query) {
return axios({
url: "/warehouse/unitMaintain/modify",
method: "post",
data: query
});
}

@ -0,0 +1,28 @@
import axios from "../../utils/axios";
export function getAcceptOrder(query) {
return axios({
url: "/udiwms/stock/order/accept/getOrder",
method: "get",
params: query
});
}
export function acceptClear(query) {
return axios({
url: "/udiwms/stock/order/acceptClear",
method: "post",
data: query
});
}
export function acceptAddCode(query) {
return axios({
url: "/udiwms/stock/order/accept/addCode",
method: "post",
data: query
});
}

@ -116,3 +116,12 @@ export function addStockOrder(query) {
params: query
});
}
export function addReceiveOrder(query) {
return axios({
url: "/udiwms/receive/addStockOrder",
method: "get",
params: query
});
}

@ -348,3 +348,31 @@ export function getOrderById(params) {
params: params
})
}
export function updateOrder(data) {
return axios({
url: "/udiwms/inout/order/updateOrder",
method: "post",
data: data
})
}
export function uploadSpms(query) {
return axios(
{
url: "/warehouse/inout/order/uploadSpms",
method: "post",
data: query
}
);
}
export function updateOrderPrintRemark(data) {
return axios({
url: "/udiwms/inout/order/updateOrderPrintRemark",
method: "post",
data: data
});
}

@ -0,0 +1,13 @@
import axios from "../../utils/axios";
//--------------获取领用单据-------------------
export function getReceiveOrder(query) {
return axios({
url: "/udiwms/receive/order/filter",
method: "get",
params: query
});
}

@ -206,6 +206,17 @@ export function stockOrderDetailFilterProduct(query) {
)
}
export function filterAllProduct(query) {
return axios(
{
url: "/udiwms/inner/order/filterProduct",
method: "get",
params: query
}
)
}
export function uploadStockOrderDetail(query) {
return axios(
{
@ -235,6 +246,15 @@ export function generateStockOrderQRCodeText(query) {
});
}
export function generateInnerQRCodeText(query) {
return axios({
url: "/udiwms/inner/order/generate/text",
method: "post",
data: query
});
}
export function stockOrderGenerateBillNo(query) {
return axios({
@ -278,6 +298,16 @@ export function stockOrderChange(query) {
});
}
export function updateStatus(query) {
return axios({
url: "/spms/inout/order/web/updateStatus",
method: "post",
data: query
});
}
export function submitStockOrderToThirdSys(params) {
return axios({
url: "/udiwms/stock/order/error/submitStockOrderToThirdSys",
@ -286,4 +316,32 @@ export function submitStockOrderToThirdSys(params) {
})
}
// export function findOrderByStockOrder(query) {
// return axios({
// url: "/udiwms/inout/order/findOrderByStockOrder",
// method: 'get',
// params: query
// });
// }
export function rollbackOrder(params) {
return axios({
url: "/udiwms/stock/order/received/rollback",
method: "get",
params: params
});
}
export function rollUnReceivebackOrder(params) {
return axios({
url: "/udiwms/stock/order/unReceive/rollback",
method: "get",
params: params
});
}

@ -34,3 +34,11 @@ export function statDetailProducts(query) {
});
}
export function clearAllProducts(data) {
return axios({
url: "/spms/prein/inv/products/clearAll",
method: "post",
data: data
});
}

@ -26,3 +26,44 @@ export function deleteProducts(query) {
}
)
}
export function getPlacementDetailList(params) {
return axios({
url: "spms/inv/products/getPlacementDetailList",
method: "get",
params: params
});
}
export function bindInvSpace(data) {
return axios({
url: "spms/inv/products/bindInvSpace",
method: "post",
data: data
});
}
export function checkCodeSpace(data) {
return axios({
url: "spms/inv/products/checkCodeSpace",
method: "post",
data: data
});
}
export function getCountInvProductProduct(params) {
return axios({
url: "spms/inv/products/getCountInvProduct",
method: "get",
params: params
});
}
export function getMAInvProducts(params) {
return axios({
url: "spms/inv/products/getMAInvProducts",
method: "get",
params: params
});
}

@ -0,0 +1,98 @@
import axios from "../../utils/axios";
export function getCollectOrderList(params) {
return axios({
url: "/device/collect/order/filterList",
method: "get",
params: params
});
}
export function addCollectOrder(data) {
return axios({
url: "/device/collect/order/addOrder",
method: "post",
data: data
});
}
export function updateCollectOrder(data) {
return axios({
url: "/device/collect/order/update",
method: "post",
data: data
});
}
export function submitAudit(data) {
return axios({
url: "/device/collect/order/submitAudit",
method: "post",
data: data
});
}
export function updateCollectOrderStatus(data) {
return axios({
url: "/device/collect/order/updateStatus",
method: "post",
data: data
});
}
export function deleteCollectOrder(data) {
return axios({
url: "/device/collect/order/delete",
method: "post",
data: data
});
}
export function getCollectOrderDetailList(params) {
return axios({
url: "/device/collect/order/detail/filterList",
method: "get",
params: params
});
}
export function checkCode(params) {
return axios({
url: "/device/collect/order/detail/checkCode",
method: "get",
params: params
});
}
export function addCollectOrderDetail(data) {
return axios({
url: "/device/collect/order/detail/addOrderDetail",
method: "post",
data: data
});
}
export function updateCollectOrderDetail(data) {
return axios({
url: "/device/collect/order/detail/updateOrderDetail",
method: "post",
data: data
})
}
export function deleteCollectOrderDetail(data) {
return axios({
url: "/device/collect/order/detail/deleteOrderDetail",
method: "post",
data: data
});
}
export function filterDetail(params) {
return axios({
url: "/device/MA/order/detail/filterMAOrderDetail",
method: "get",
params: params
});
}

@ -0,0 +1,100 @@
import axios from "../../utils/axios";
export function getDeviceMAOrderList(params) {
return axios({
url: "/device/MA/order/filterList",
method: "get",
params: params
});
}
export function addMAOrder(data) {
return axios({
url: "/device/MA/order/addMAOrder",
method: "post",
data: data
});
}
export function updateDeviceMAOrder(data) {
return axios({
url: "/device/MA/order/updateMAOrder",
method: "post",
data: data
});
}
export function deleteDeviceMAOrder(data) {
return axios({
url: "/device/MA/order/deleteMAOrder",
method: "post",
data: data
});
}
export function getDeviceMAOrderDetailList(params) {
return axios({
url: "/device/MA/order/detail/filterList",
method: "get",
params: params
});
}
export function addDeviceMAOrderDetail(data) {
return axios({
url: "/device/MA/order/detail/addOrderDetail",
method: "post",
data: data
});
}
export function updateDeviceMAOrderDetail(data) {
return axios({
url: "/device/MA/order/detail/updateOrderDetail",
method: "post",
data: data
});
}
export function deleteDeviceMAOrderDetail(data) {
return axios({
url: "/device/MA/order/detail/deleteOrderDetail",
method: "post",
data: data
});
}
export function deviceList(params) {
return axios({
url: "/device/collect/order/detail/deviceList",
method: "get",
params: params
});
}
export function addDeviceMAOrder(data) {
return axios({
url: "/device/MA/order/addDeviceMAOrder",
method: "post",
data: data
});
}
export function verifyTemplateFile(data) {
return axios({
url: "/device/MA/order/verifyTemplateFile",
method: "post",
data: data
});
}
export function printOrder(data) {
return axios({
url: "/device/MA/order/pintOrder",
method: "post",
data: data,
headers: {'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'},
responseType: 'arraybuffer', //一定要设置响应类型否则页面会是空白pdf
});
}

@ -0,0 +1,89 @@
import request from '@/utils/axios'
import axios from "@/utils/axios";
export function listInnerOrder(query) {
return request({
url: '/inv/inner/order/list',
method: 'get',
params: query
})
}
export function auditListInnerOrder(query) {
return request({
url: '/inv/inner/order/auditList',
method: 'get',
params: query
})
}
export function listInnerOrderDetail(query) {
return request({
url: '/inv/inner/order/list/detail',
method: 'get',
params: query
})
}
export function getInnerOrder(id) {
return request({
url: '/inv/inner/order/' + id,
method: 'get'
})
}
export function addInnerOrder(data) {
return request({
url: '/inv/inner/order',
method: 'post',
data: data
})
}
export function auditOrder(data) {
return request({
url: '/inv/inner/order/auditOrder',
method: 'post',
data: data
})
}
// 修改pur
export function updateInnerOrder(data) {
return request({
url: '/inv/inner/order',
method: 'put',
data: data
})
}
// 删除pur
export function delInnerOrder(id) {
return request({
url: '/inv/inner/order/' + id,
method: 'delete'
})
}
export function inserThrOrderWeb(query) {
return axios({
url: "/inv/inner/order/postOrder",
method: "post",
data: query
});
}
// 删除pur
export function delInnerOrderDetail(id) {
return request({
url: '/inv/inner/order/detail/' + id,
method: 'delete'
})
}

@ -0,0 +1,33 @@
import axios from "../../utils/axios";
export function getCountCodesList(params) {
return axios({
url: "/invCount/codes/filter",
method: "get",
params: params
});
}
export function deleteCode(data) {
return axios({
url: "/invCount/codes/deleteCode",
method: "post",
data: data
});
}
export function addCode(data) {
return axios({
url: "/invCount/codes/addCode",
method: "post",
data: data
});
}
export function getCodesNum(params) {
return axios({
url: "/invCount/codes/getCountOrderCodesNum",
method: "get",
params: params
});
}

@ -0,0 +1,83 @@
import axios from "../../utils/axios";
export function getCountOrderList(params) {
return axios({
url: "/invCount/order/filter",
method: "get",
params: params
});
}
export function deleteCountOrder(data) {
return axios({
url: "/invCount/order/delete",
method: "post",
data: data
});
}
export function getCountOrderDetailList(params) {
return axios({
url: "/invCount/order/detail/filter",
method: "get",
params: params
});
}
export function saveCountOrder(data) {
return axios({
url: "/invCount/order/saveCountOrder",
method: "post",
data: data
});
}
export function submitAudit(params) {
return axios({
url: "/invCount/order/submitAudit",
method: "get",
params: params
});
}
export function deleteCountOrderDetail(data) {
return axios({
url: "/invCount/order/detail/deleteOrderDetail",
method: "post",
data: data
});
}
export function addCountOrderDetail(data) {
return axios({
url: "/invCount/order/detail/addCountOrderDetail",
method: "post",
data: data
});
}
export function updateCountOrderStatus(data) {
return axios({
url: "/invCount/order/updateCountOrderStatus",
method: "post",
data: data
});
}
export function verifyTemplateFile(data) {
return axios({
url: "/invCount/order/verifyTemplateFile",
method: "post",
data: data
});
}
export function printOrder(data) {
return axios({
url: "/invCount/order/printOrder",
method: "post",
data: data,
headers: {'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'},
responseType: 'arraybuffer', //一定要设置响应类型否则页面会是空白pdf
});
}

@ -0,0 +1,25 @@
import axios from "../../utils/axios";
export function getSettingList(params) {
return axios({
url: "/invCount/setting/filterList",
method: "get",
params: params
});
}
export function saveCountSetting(data, formName) {
return axios({
url: formName === 'add' ? "/invCount/setting/add" : "/invCount/setting/update",
method: "post",
data: data
});
}
export function verifyAdd() {
return axios({
url: "/invCount/setting/verifyAdd",
method: "get",
params: null
});
}

@ -0,0 +1,89 @@
import axios from "../../utils/axios";
export function getMAOrderList(params) {
return axios({
url: "/inv/MA/order/filterList",
method: "get",
params: params
});
}
export function addOrder(data) {
return axios({
url: "/inv/MA/order/addOrder",
method: "post",
data: data
});
}
export function updateOrder(data) {
return axios({
url: "/inv/MA/order/update",
method: "post",
data: data
});
}
export function submitAudit(data) {
return axios({
url: "/inv/MA/order/submitAudit",
method: "post",
data: data
});
}
export function updateStatus(data) {
return axios({
url: "/inv/MA/order/updateStatus",
method: "post",
data: data
});
}
export function deleteOrder(data) {
return axios({
url: "/inv/MA/order/delete",
method: "post",
data: data
});
}
export function getMAOrderDetailList(params) {
return axios({
url: "/inv/MA/order/detail/filterList",
method: "get",
params: params
});
}
export function addOrderDetail(data) {
return axios({
url: "/inv/MA/order/detail/addOrderDetail",
method: "post",
data: data
});
}
export function batchAddDetail(data) {
return axios({
url: "/inv/MA/order/detail/batchAddDetail",
method: "post",
data: data
});
}
export function deleteDetail(data) {
return axios({
url: "/inv/MA/order/detail/delete",
method: "post",
data: data
});
}
export function updateDetail(data) {
return axios({
url: "/inv/MA/order/detail/update",
method: "post",
data: data
});
}

@ -0,0 +1,32 @@
import axios from "../../utils/axios";
export function filterSelectInvUser(query) {
return axios({
url: "/spms/bus/user/select/filter",
method: "get",
params: query
});
}
export function updateInvUser(query) {
return axios(
{
url: "/spms/bus/user/warehouse/update",
method: "post",
data: query
}
)
}
export function filterUserBusTypeList(query) {
return axios(
{
url: "spms/bus/user/filterUserBusList",
method: "get",
params: query
}
)
}

@ -0,0 +1,9 @@
import axios from "@/utils/axios";
export function filterSickTrace(query) {
return axios({
url: "/spms/inv/sick/order/trace",
method: "get",
params: query
});
}

@ -0,0 +1,33 @@
import axios from "../../utils/axios";
export function getInvSpaceList(params) {
return axios({
url: "/spms/inv/space/filter",
method: "get",
params: params
});
}
export function saveSpace(data, formName){
return axios({
url: formName === "add" ? "/spms/inv/space/add" : "/spms/inv/space/update",
method: "post",
data: data
});
}
export function deleteSpace(data) {
return axios({
url: "/spms/inv/space/delete",
method: "post",
data: data
})
}
export function getSpaceCodeList(params) {
return axios({
url: "/spms/inv/space/getSpaceCodeList",
method: "get",
params: params
})
}

@ -2,7 +2,7 @@ import axios from "../../utils/axios";
export function getOnhands(query) {
return axios({
url: "/udiwms/inv/getOnHand",
url: "/udiwms/inv/getInvProducts",
method: "get",
params: query
});

@ -31,6 +31,7 @@ export function selectSysParamByKey(query) {
params: query
});
}
export function selectIp(query) {
return axios({
url: "/udiwms/basic/thirdsys/selectIp",
@ -39,5 +40,15 @@ export function selectIp(query) {
});
}
//获取产品信息设置
export function finProductSet(query) {
return axios({
url: "/udiwms/sys/config/selectByBasic",
method: "get",
params: query
});
}

@ -0,0 +1,11 @@
import axios from "../../utils/axios";
export function filterClassify(query) {
return axios(
{
url: "/spms/classify/code/filter",
method: "get",
params: query
}
);
}

@ -0,0 +1,59 @@
import axios from "../../utils/axios";
export function filterCompanyCert(query) {
return axios(
{
url: "/sup/company/cert/filter",
method: "get",
params: query
}
)
}
export function insertCompanyCert(query) {
return axios(
{
url: "/sup/info/insertCompanyCert",
method: "post",
data: query
}
);
}
export function updateCompanyCert(query) {
return axios(
{
url: "/sup/info/updateCompanyCert",
method: "post",
data: query
}
);
}
export function auditSupCert(query) {
return axios(
{
url: "/sale/sup/cert/audit",
method: "post",
data: query
}
);
}
export function deleteCompanyCert(query) {
return axios(
{
url: "/sup/info/deleteCompanyCert",
method: "post",
data: query
}
);
}

@ -0,0 +1,89 @@
import request from '@/utils/axios'
import axios from "@/utils/axios";
export function listApply(query) {
return request({
url: '/purchase/apply/list',
method: 'get',
params: query
})
}
export function auditListApply(query) {
return request({
url: '/purchase/apply/auditList',
method: 'get',
params: query
})
}
export function listApplyDetail(query) {
return request({
url: '/purchase/apply/list/detail',
method: 'get',
params: query
})
}
export function getApply(id) {
return request({
url: '/purchase/apply/' + id,
method: 'get'
})
}
export function addApply(data) {
return request({
url: '/purchase/apply',
method: 'post',
data: data
})
}
export function auditOrder(data) {
return request({
url: '/purchase/apply/auditOrder',
method: 'post',
data: data
})
}
// 修改pur
export function updateApply(data) {
return request({
url: '/purchase/apply',
method: 'put',
data: data
})
}
// 删除pur
export function delApply(id) {
return request({
url: '/purchase/apply/' + id,
method: 'delete'
})
}
export function inserThrOrderWeb(query) {
return axios({
url: "/purchase/apply/postOrder",
method: "post",
data: query
});
}
// 删除pur
export function delApplyDetail(id) {
return request({
url: '/purchase/apply/detail/' + id,
method: 'delete'
})
}

@ -0,0 +1,86 @@
import axios from "@/utils/axios";
export function listPlan(query) {
return axios({
url: '/purchase/plan/list',
method: 'get',
params: query
})
}
export function auditListPlan(query) {
return axios({
url: '/purchase/plan/auditList',
method: 'get',
params: query
})
}
export function listApplyDetail(query) {
return axios({
url: '/purchase/plan/list/detail',
method: 'get',
params: query
})
}
export function getApply(id) {
return axios({
url: '/purchase/plan/' + id,
method: 'get'
})
}
export function addApply(data) {
return axios({
url: '/purchase/plan',
method: 'post',
data: data
})
}
export function auditOrder(data) {
return axios({
url: '/purchase/plan/auditOrder',
method: 'post',
data: data
})
}
// 修改pur
export function updateApply(data) {
return axios({
url: '/purchase/plan',
method: 'put',
data: data
})
}
// 删除pur
export function delApply(id) {
return axios({
url: '/purchase/plan/' + id,
method: 'delete'
})
}
export function inserThrOrderWeb(query) {
return axios({
url: "/purchase/plan/postOrder",
method: "post",
data: query
});
}
// 删除pur
export function delApplyDetail(id) {
return axios({
url: '/purchase/plan/detail/' + id,
method: 'delete'
})
}

@ -0,0 +1,54 @@
import axios from "../../utils/axios";
export function filterCertSet(query) {
return axios(
{
url: "/sup/cert/set/filter",
method: "get",
params: query
}
);
}
export function delSupCertCert(query) {
return axios(
{
url: "/sup/cert/set/delete",
method: "post",
data: query
}
);
}
export function addSupCertSet(query) {
return axios(
{
url: "/sup/cert/set/add",
method: "post",
data: query
}
);
}
export function modifySupCertSet(query) {
return axios(
{
url: "/sup/cert/set/update",
method: "post",
data: query
}
);
}
export function selectAllCert(query) {
return axios(
{
url: "/sup/info/selectAllCert",
method: "post",
data: query
}
);
}

@ -0,0 +1,162 @@
import axios from "../../utils/axios";
export function getSupComapnys(query) {
return axios(
{
url: "/api/pur/getSupComapnys",
method: "get",
params: query
}
);
}
export function delSupComapnys(query) {
return axios(
{
url: "/api/pur/supCompany/delete",
method: "post",
data: query
}
);
}
export function modifyCompany(query) {
return axios(
{
url: "/api/pur/modifyCompany",
method: "post",
data: query
}
);
}
export function auditCompany(query) {
return axios(
{
url: "/api/pur/auditCompany",
method: "post",
data: query
}
);
}
export function addCompany(query) {
return axios(
{
url: "/api/pur/addCompany",
method: "post",
data: query
}
);
}
export function getRefid(query) {
return axios(
{
url: "/sale/info/refid",
method: "get",
params: query
}
);
}
export function checkCompany(query) {
return axios(
{
url: "/salewarehouse/register/checkCompany",
method: "get",
params: query
}
);
}
export function getRegisterConfig(query) {
return axios(
{
url: "/salewarehouse/register/getRegisterConfig",
method: "get",
params: query
}
);
}
export function getSubCompany(query) {
return axios(
{
url: "/sale/info/getSubCompany",
method: "get",
params: query
}
);
}
export function verifyTemplateFile(data) {
return axios({
url: "/sup/info/verifyTemplateFile",
method: "post",
data: data
});
}
export function printSupCert(data) {
return axios({
url: "/sup/info/printOrder",
method: "post",
headers: {'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'},
responseType: 'arraybuffer', //一定要设置响应类型否则页面会是空白pdf
data: data
});
}
export function bindCorp(query) {
return axios(
{
url: "/sup/company/selectBind",
method: "post",
data: query
}
);
}
export function filterCompanyCertIdList(query) {
return axios(
{
url: "/sup/info/filterCompanyCertIdList",
method: "post",
data: query
}
);
}
export function printSupCertManufacturer(data) {
return axios({
url: "/sup/info/printSupCertManufacturer",
method: "post",
headers: {'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'},
responseType: 'arraybuffer', //一定要设置响应类型否则页面会是空白pdf
data: data
});
}
export function printSupCertProduction(data) {
return axios({
url: "/sup/info/printSupCertProduction",
method: "post",
headers: {'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'},
responseType: 'arraybuffer', //一定要设置响应类型否则页面会是空白pdf
data: data
});
}

@ -0,0 +1,58 @@
import axios from "../../utils/axios";
export function getCompanyList(query) {
return axios({
url: "/sup/manufacturer/getCompanyList",
method: "get",
params: query
});
}
export function getCompanyBySup(query) {
return axios({
url: "/sup/manufacturer/getCompanyBySup",
method: "get",
params: query
});
}
export function getCompanyInfo(query) {
return axios({
url: "/sup/manufacturer/getCompanyInfo",
method: "get",
params: query
});
}
export function addOrModifyCompany(query, formName) {
let url = formName === "add" ?
"/sup/manufacturer/addCompany" : "/sup/manufacturer/modifyCompany";
return axios(
{
url: url,
method: "post",
data: query
}
);
}
export function auditManufacturer(query) {
return axios(
{
url: "/udiwms/sup/manufacturer/audit",
method: "post",
data: query
}
);
}
export function deleteCompany(query) {
return axios({
url: "/sup/manufacturer/basic/delete",
method: "get",
params: query
});
}

@ -0,0 +1,57 @@
import axios from "../../utils/axios";
export function filterCompanyCert(query) {
return axios(
{
url: "/udiwms/info/suppliers/enterprise/basic/cert/filter",
method: "get",
params: query
}
)
}
export function getCompanyCert(query) {
return axios(
{
url: "/udiwms/info/suppliers/enterprise/basic/cert/companyCert",
method: "get",
params: query
}
);
}
export function insertCompanyCert(query) {
return axios(
{
url: "/udiwms/info/suppliers/enterprise/basic/cert/insertCompanyCert",
method: "post",
data: query
}
);
}
export function updateCompanyCert(query) {
return axios(
{
url: "/udiwms/info/suppliers/enterprise/basic/cert/updateCompanyCert",
method: "post",
data: query
}
);
}
export function deleteCompanyCert(query) {
return axios(
{
url: "/udiwms/info/suppliers/enterprise/basic/cert/deleteCompanyCert",
method: "post",
data: query
}
);
}

@ -0,0 +1,55 @@
import axios from "../../utils/axios";
export function getRegistrationList(query) {
return axios({
url: "/sup/product/getRegistrationList",
method: "get",
params: query
});
}
export function getRegistrationInfo(query) {
return axios({
url: "/sup/product/getRegistrationInfo",
method: "get",
params: query
});
}
export function addOrModifyRegistration(query, formName) {
let url = formName === "add" ?
"/sup/product/addRegistration" : "/sup/product/modifyRegistration";
return axios(
{
url: url,
method: "post",
data: query
}
);
}
export function deleteRegistration(query) {
return axios({
url: "/sup/product/delete",
method: "get",
params: query
});
}
export function auditSupProduct(data) {
return axios({
url: '/udiwms/pur/suppliers/product/audit',
method: 'post',
data: data
})
}
export function bindProduct(data) {
return axios({
url: '/sup/product/selectBind',
method: 'post',
data: data
})
}

@ -24,3 +24,11 @@ export function findConfig(query) {
params: query
});
}
export function downloadNow(params) {
return axios({
url: "/spsync/download/now",
method: "get",
params: params
});
}

@ -0,0 +1,21 @@
import axios from "../../utils/axios";
export function findConfig(query) {
return axios({
url: "/system/third/syncData/config",
method: "get",
params: query
});
}
export function updateConfig(query) {
return axios({
url: "/system/third/syncData/save",
method: "post",
data: query
});
}

@ -24,6 +24,15 @@ export function delThrOrders(query) {
});
}
export function delOrderDetail(query) {
return axios({
url: "/udiwms/thrsys/delOrderDetail",
method: "post",
data: query
});
}
export function delAll(query) {
return axios({
url: "/udiwms/thrsys/order/delAll",

@ -7,3 +7,12 @@ export function inserThrOrderWeb(query) {
data: query
});
}
export function updateReceive(query) {
return axios({
url: "/udiwms/receive/order/update",
method: "post",
data: query
});
}

@ -0,0 +1,43 @@
import axios from "../../utils/axios";
export function filterThridSubAll(query) {
return axios({
url: "/thirdSys/sub/inv/warehouse/filter",
method: "get",
params: query
});
}
export function filterSubByInv(query) {
return axios({
url: "/thirdSys/sub/inv/warehouse/findByInv",
method: "get",
params: query
});
}
// 保存
export function saveSubWarehouse(data, formName, method = "post") {
let url =
formName !== "edit"
? "/thirdSys/sub/inv/warehouse/save"
: "/thirdSys/sub/inv/warehouse/edit";
return axios({
url: url,
method: method,
data: data
});
}
// 删除
export function deleteSubWarehouse(data) {
return axios({
url: "/thirdSys/sub/inv/warehouse/delete",
method: "post",
data: data
});
}

@ -15,6 +15,14 @@ import axios from "axios";
import "../public/config.json";
import myReq from "./utils/axios";
import myReq2 from "./utils/axios2";
import {parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, handleTree} from "@/utils/ruoyi";
import {getUUID} from "@/utils/strUtil";
Vue.prototype.parseTime = parseTime
Vue.prototype.resetForm = resetForm
Vue.prototype.getUUID = getUUID
// 注册全局组件register global
Vue.component("icon-svg", IconSvg);
Vue.use(allTools);
@ -24,6 +32,7 @@ Object.keys(filters).forEach(key => {
});
Vue.config.productionTip = false;
Vue.config.silent = true;
let getUrl = "";
let startApp = function () {
console.log(window.global_config.BASE_URL);

@ -104,7 +104,7 @@ router.beforeEach((to, from, next) => {
})
.catch(() => {
store.dispatch("fedLogout").then(() => {
Message.error("验证失败,请重新登录");
Message.error("登录失效,请重新登录");
let redirect = to.fullPath;
store.dispatch("loginOut").then(() => {
next({

@ -14,6 +14,7 @@ import Empty from "../views/home/Empty.vue";
import authAdmin from "../views/userManage/admin/authAdmin.vue";
import authRole from "../views/userManage/admin/authRole.vue";
import authPermissionRule from "../views/userManage/admin/authPermissionRule.vue";
import authDept from "../views/userManage/authDept.vue";
import systemParamConfig from "../views/userManage/param/systemParamConfig.vue";
import phoneRegisterManage from "../views/userManage/param/phoneRegisterManage.vue";
import systemPDFTemplate from "../views/userManage/param/systemPDFTemplate";
@ -27,6 +28,10 @@ import invWarehouse from "../views/basic/invWarehouse"
import BussinessType from "../views/basic/BussinessType.vue";
import BussinessTypeLocl from "../views/basic/BussinessTypeLocl.vue";
import bussinessTypeThird from "../views/basic/BussinessTypeThird.vue";
import otherTypeChange from "../views/basic/OtherTypeChange.vue";
import bussinessTypeChange from "../views/basic/BusTypeChange.vue";
import basicUnitMaintain from "../views/basic/CorpMaintain.vue";
import corpImport from "../views/basic/CorpImport.vue";
import corpExport from "../views/basic/CorpExport.vue";
@ -39,6 +44,21 @@ import udiInfoDb from "../views/basic/UdiInfoDb.vue";
import UdidbImportLog from "../views/basic/UdidbImportLog.vue";
import spsSyncData from "../views/thrsys/SysUdimsData.vue";
//资质审核
import supCompany from "../views/purchase/supCompanyAdd.vue";
import supCompanyAudit from "../views/purchase/supCompanyAudit.vue";
import supCompanySearch from "../views/purchase/supCompanySearch.vue";
import supManufacturer from "../views/purchase/supManufacturerAdd.vue";
import supManufacturerAudit from "../views/purchase/supManufacturerAudit.vue";
import supManufacturerSearch from "../views/purchase/supManufacturerSearch.vue";
import supProduct from "../views/purchase/supProductAdd.vue";
import supProductAudit from "../views/purchase/supProductAudit.vue";
import supProductSearch from "../views/purchase/supProductSearch.vue";
import supCertAudit from "../views/purchase/supCertAudit.vue";
import supCertSearch from "../views/purchase/supCertSearch.vue";
import supCertSet from "../views/purchase/supCertSet.vue";
import supCertificationAdd from "../views/purchase/supCertificationAdd.vue";
import UdiInfoSmpUpload from "../views/smp/UdiInfoSmpUpload.vue";
// import ErpOrderSmpUpload from "../views/smp/ErpOrderSmpUpload.vue";
@ -65,17 +85,46 @@ import stockOrder from "../views/business/stockOrder";
//业务单据上传
import stockOrderUpload from "@/views/business/stockOrderUpload";
import stockOrderUploadLog from "@/views/business/stockOrderUploadLog";
import stockOrderRecedLog from "@/views/business/stockOrderRecedLog";
import thirdUploadSet from "@/views/thrsys/thirdUploadSet";
//库存管理
import stockCheck from "../views/inventory/stockCheck.vue";
import innerOrder from "../views/inventory/innerOrder.vue";
import onHand from "../views/inventory/OnHand.vue";
import inCodeLog from "../views/inventory/InCodeLog.vue";
import stockPrint from "../views/inventory/IncodeSearch.vue";
import inCodePrint from "../views/inventory/IncodePrint.vue";
import stockCode from "../views/inventory/stockCode.vue";
import stockOrderDelSearch from "../views/business/stockOrderDelSearch";
import stockOrderInvSearch from "../views/business/stockOrderInvSearch";
import stockOrderDelete from "../views/business/stockOrderDelete";
import stockOrderChange from "../views/inout/stockOrderChange";
//盘点管理
import invCountOrderNew from "@/views/inventory/invCountOrderNew";
import invCountOrderAudit from "@/views/inventory/invCountOrderAudit";
import invCountOrderCompleted from "@/views/inventory/invCountOrderCompleted";
import invCountSetting from "@/views/inventory/invCountSetting";
//货物摆放
import invGoodsPlacement from "@/views/inventory/InvGoodsPlacement";
//库存养护记录
import invMAOrderNew from "@/views/inventory/invMAOrderNew";
import invMAOrderAudit from "@/views/inventory/invMAOrderAudit";
import invMAOrderCompleted from "@/views/inventory/invMAOrderCompleted";
//设备管理
import deviceCollectOrderNew from "@/views/inventory/deviceCollectOrderNew.vue";
import deviceCollectOrderAudit from "@/views/inventory/deviceCollectOrderAudit.vue";
import deviceCollectOrderCompleted from "@/views/inventory/deviceCollectOrderCompleted.vue";
import deviceMAOrderNew from "@/views/inventory/deviceMAOrderNew.vue";
import deviceMAOrderCompleted from "@/views/inventory/deviceMAOrderCompleted.vue";
import assetManage from "@/views/inventory/assetManage.vue";
//库存
import invProducts from "../views/inventory/InvProducts.vue";
@ -103,6 +152,7 @@ import thrCorpsImport from "../views/thrsys/ThrCorpsImport.vue";
import corpExportSmp from "../views/basic/CorpExportSmp.vue";
import udiinfoExportSmp from "../views/basic/UdiinfoExportSmp.vue";
import UdiInfoManageSp from "../views/basic/UdiInfoManageSp.vue"
import basicNewDiUpload from "../views/basic/BasicNewDiUpload.vue"
import UdiInfoDonwloadSmp from "../views/basic/UdiInfoDonwloadSmp.vue";
import thrOrderExportSmp from "../views/thrsys/ThrOrderExportSmp.vue";
import thrProductsExportSmp from "../views/thrsys/ThrProductsExportSmp.vue";
@ -118,6 +168,17 @@ import BasicEntrutsRece from "../views/basic/BasicEntrutsRece.vue";
//同步管理
import sysUdimsDownloadData from "../views/thrsys/SysUdimsDownloadData";
//采购管理
import purApply from "../views/purchase/purApply";
import pureApplyAudit from "../views/purchase/pureApplyAudit";
import pureApplySearch from "../views/purchase/pureApplySearch";
import purPlan from "../views/purchase/purPlan";
import purPlanAudit from "../views/purchase/purPlanAudit";
import purPlanSearch from "../views/purchase/purPlanSearch";
// Vue.use(VueRouter);
const err401 = r =>
@ -240,6 +301,15 @@ export const asyncRouterMap = [
authRule: ["authMange/auth_permission_rule"]
}
},
{
path: "authDept",
component: authDept,
name: "科室管理",
icon: "",
meta: {
authRule: ["authMange/authDept"]
}
},
]
},
@ -288,6 +358,24 @@ export const asyncRouterMap = [
authRule: ["system/BussinessTypeLocl"]
}
},
{
path: "bussinessTypeChange",
name: "单据流转设置",
component: bussinessTypeChange,
meta: {
authRule: ["admin/bussinessTypeChange"]
}
},
{
path: "otherTypeChange",
name: "耗材领用设置",
component: otherTypeChange,
meta: {
authRule: ["admin/otherTypeChange"]
}
},
]
},
@ -390,8 +478,7 @@ export const asyncRouterMap = [
}
},
]
},
}
// {
// path: "bussinessType",
@ -426,7 +513,7 @@ export const asyncRouterMap = [
{
path: "invWarehouse",
component: invWarehouse,
name: "仓库字典",
name: "仓库/科室字典",
icon: "",
meta: {
authRule: ["basicProduct/invWarehouse"]
@ -473,6 +560,14 @@ export const asyncRouterMap = [
authRule: ["product/UdiInfoManageSp"]
}
},
{
path: "newDiUpload",
name: "新增配送产品上传",
component: basicNewDiUpload,
meta: {
authRule: ["product/newDiUpload"]
}
},
]
},
{
@ -540,6 +635,207 @@ export const asyncRouterMap = [
]
},
{
path: "/firstCamp",
component: Home,
redirect: "/firstCamp/certAdd",
icon: "tongyong",
name: "首营资质",
noDropdown: false,
meta: {
authRule: ["firstCamp"]
},
children: [
{
path: "/certAdd",
redirect: "/certAdd/supplierAdd",
name: "资质新增",
component: Empty,
meta: {
authRule: ["firstCamp/certAdd"]
},
children: [
{
path: "supplierAdd",
name: "配送企业资质新增",
component: supCompany,
meta: {
authRule: ["firstCamp/certAdd/supplierAdd"]
}
},
{
path: "manufacturerAdd",
name: "生产企业资质新增",
hidden: true,
component: supManufacturer,
meta: {
authRule: ["firstCamp/certAdd/manufacturerAdd"]
}
},
{
path: "productAdd",
name: "配送产品资质新增",
component: supCertificationAdd,
meta: {
authRule: ["firstCamp/certAdd/productAdd"]
}
},
]
},
{
path: "certAudit",
component: supCertAudit,
name: "资质审核",
icon: "",
meta: {
authRule: ["firstCamp/certAudit"]
}
},
{
path: "certSearch",
component: supCertSearch,
name: "资质查询",
icon: "",
meta: {
authRule: ["firstCamp/certSearch"]
}
},
{
path: "certSet",
component: supCertSet,
name: "资质上传设置",
icon: "",
meta: {
authRule: ["firstCamp/certSet"]
}
},
{
path: "/supplierManage",
redirect: "/supplierManage/supplierAdd",
name: "供应商资质管理",
hidden: true,
component: Empty,
meta: {
authRule: ["firstCamp/supplierManage"]
},
children: [
{
path: "supplierAdd",
name: "供应商资质新增",
component: supCompany,
meta: {
authRule: ["firstCamp/supplierManage/supplierAdd"]
}
},
{
path: "supplierAudit",
name: "供应商资质审核",
component: supCompanyAudit,
meta: {
authRule: ["firstCamp/supplierManage/supplierAudit"]
}
},
{
path: "supplierSearch",
name: "供应商资质查询",
component: supCompanySearch,
meta: {
authRule: ["firstCamp/supplierManage/supplierSearch"]
}
},
]
},
{
path: "/manufacturerManage",
redirect: "/manufacturerManage/manufacturerAdd",
name: "生产企业资质管理",
hidden: true,
component: Empty,
meta: {
authRule: ["firstCamp/manufacturerManage"]
},
children: [
{
path: "manufacturerAdd",
name: "生产企业资质新增",
component: supManufacturer,
meta: {
authRule: ["firstCamp/manufacturerManage/manufacturerAdd"]
}
},
{
path: "manufacturerAudit",
name: "生产企业资质审核",
component: supManufacturerAudit,
meta: {
authRule: ["firstCamp/manufacturerManage/manufacturerAudit"]
}
},
{
path: "manufacturerSearch",
name: "生产企业资质查询",
component: supManufacturerSearch,
meta: {
authRule: ["firstCamp/manufacturerManage/manufacturerSearch"]
}
},
]
},
{
path: "/productManage",
redirect: "/productManage/productAdd",
name: "产品资质管理",
component: Empty,
hidden: true,
meta: {
authRule: ["firstCamp/productManage"]
},
children: [
{
path: "productAdd",
name: "产品资质新增",
component: supProduct,
meta: {
authRule: ["firstCamp/productManage/productAdd"]
}
},
{
path: "supProductAudit",
name: "产品资质审核",
component: supProductAudit,
meta: {
authRule: ["firstCamp/productManage/supProductAudit"]
}
},
{
path: "supProductSearch",
name: "产品资质查询",
component: supProductSearch,
meta: {
authRule: ["firstCamp/productManage/supProductSearch"]
}
},
]
},
]
},
{
path: "/inout",
component: Home,
@ -712,6 +1008,16 @@ export const asyncRouterMap = [
authRule: ["inout/busOrderUpload"]
},
children: [
{
path: "thirdUploadSet",
component: thirdUploadSet,
name: "上传设置",
meta: {
authRule: ["busOrderUpload/thirdUploadSet"]
}
},
{
path: "stockOrderUpload",
component: stockOrderUpload,
@ -723,10 +1029,18 @@ export const asyncRouterMap = [
{
path: "stockOrderUploadLog",
component: stockOrderUploadLog,
name: "上传日志",
name: "单据上传日志",
meta: {
authRule: ["busOrderUpload/uploadLog"]
}
},
{
path: "stockOrderRecedLog",
component: stockOrderRecedLog,
name: "单据接收日志",
meta: {
authRule: ["busOrderUpload/RecedLog"]
}
}
]
@ -758,6 +1072,99 @@ export const asyncRouterMap = [
]
},
{
path: "/purchase",
component: Home,
redirect: "/purchase/apply",
icon: "tongyong",
name: "采购管理",
noDropdown: false,
meta: {
authRule: ["purchase"]
},
children: [
{
path: "/apply",
component: Empty,
name: "产品申购管理",
redirect: "/apply/applyAdd",
meta: {
authRule: ["purchase/apply"]
},
children: [
{
path: "applyAdd",
component: purApply,
name: "新增申购单据",
meta: {
authRule: ["purchase/apply/add"]
}
},
{
path: "applyAudit",
component: pureApplyAudit,
name: "申购单据审核",
meta: {
authRule: ["purchase/apply/audit"]
}
},
{
path: "applySearch",
component: pureApplySearch,
name: "申购单据查询",
meta: {
authRule: ["purchase/apply/search"]
}
},
]
},
{
path: "/plan",
component: Empty,
name: "采购计划管理",
redirect: "/plan/planAdd",
meta: {
authRule: ["plan/planAdd"]
},
children: [
{
path: "planAdd",
component: purPlan,
name: "新增采购计划",
meta: {
authRule: ["purchase/plan/planAdd"]
}
},
{
path: "planAudit",
component: purPlanAudit,
name: "采购计划审核",
meta: {
authRule: ["purchase/plan/planAudit"]
}
},
{
path: "planSearch",
component: purPlanSearch,
name: "采购计划查询",
meta: {
authRule: ["purchase/plan/planSearch"]
}
},
]
},
]
},
{
path: "/warehouse",
redirect: "/warehouse/product",
@ -779,8 +1186,6 @@ export const asyncRouterMap = [
authRule: ["warehouse/onHand"]
}
},
{
path: "stockCode",
name: "库存明细",
@ -790,12 +1195,10 @@ export const asyncRouterMap = [
authRule: ["warehouse/stockCode"]
}
},
]
},
{
path: "/smp",
redirect: "/smp/udiinfoExportSmp",
@ -951,6 +1354,26 @@ export const asyncRouterMap = [
authRule: ["inv/invProducts"]
}
},
{
path: "onHand",
name: "现存量查询",
component: onHand,
meta: {
authRule: ["warehouse/onHand"]
}
},
{
path: "innerOrder",
component: innerOrder,
name: "内部码打印",
meta: {
authRule: ["inv/innerOrder"]
}
},
{
path: "/invManage",
component: Empty,
@ -977,14 +1400,13 @@ export const asyncRouterMap = [
}
},
{
path: "stockOrderDelSearch",
component: stockOrderDelSearch,
path: "stockOrderInvSearch",
component: stockOrderInvSearch,
name: "业务单据查询",
meta: {
authRule: ["inv/stockOrderDelSearch"]
authRule: ["inv/stockOrderInvSearch"]
}
},
{
path: "invStatistics",
component: invStatistics,
@ -994,8 +1416,192 @@ export const asyncRouterMap = [
authRule: ["invManage/invStatistics"]
}
},
{
path: "invGoodsPlacement",
component: invGoodsPlacement,
name: "耗材存放管理",
icon: "",
meta: {
authRule: ["invManage/invGoodsPlacement"]
}
},
{
path: "/invMaintenance",
component: Empty,
name: "库存养护",
icon: "",
meta: {
authRule: ["invMaintenance/manage"]
},
children: [
{
path: "/maintenanceOrder",
component: Empty,
name: "养护记录",
icon: "",
meta: {
authRule: ["invMaintenance/order"]
},
children: [
{
path: "maintenanceOrderNew",
component: invMAOrderNew,
name: "新增养护记录",
icon: "",
meta: {
authRule: ["invMaintenance/orderNew"]
},
},
{
path: "maintenanceOrderAudit",
component: invMAOrderAudit,
name: "审核养护记录",
icon: "",
meta: {
authRule: ["invMaintenance/orderAudit"]
},
}
]
},
{
path: "maintenanceOrderCompleted",
component: invMAOrderCompleted,
name: "养护记录查询",
icon: "",
meta: {
authRule: ["invMaintenance/orderCompleted"]
}
}
]
},
{
path: "/deviceManage",
component: Empty,
name: "设备管理",
icon: "",
meta: {
authRule: ["invManage/deviceManage"]
},
children: [
{
path: "/deviceCollectOrder",
component: Empty,
name: "设备领用",
icon: "",
meta: {
authRule: ["deviceCollectOrder/order"]
},
children: [
{
path: "deviceCollectOrderNew",
component: deviceCollectOrderNew,
name: "新增领用记录",
icon: "",
meta: {
authRule: ["deviceCollectOrder/orderNew"]
}
},
{
path: "deviceCollectOrderAudit",
component: deviceCollectOrderAudit,
name: "审核领用记录",
icon: "",
meta: {
authRule: ["deviceCollectOrder/orderAudit"]
}
},
{
path: "deviceCollectOrderCompleted",
component: deviceCollectOrderCompleted,
name: "领用记录查询",
icon: "",
meta: {
authRule: ["deviceCollectOrder/orderCompleted"]
}
},
]
},
{
path: "/deviceMA",
component: Empty,
name: "设备养护",
icon: "",
meta: {
authRule: ["deviceManage/deviceMAOrder"]
},
children: [
{
path: "assetManage",
component: assetManage,
name: "资产管理",
icon: "",
meta: {
authRule: ["deviceMA/orderNew"]
}
},
{
path: "deviceMAOrderCompleted",
component: deviceMAOrderCompleted,
name: "养护记录",
icon: "",
meta: {
authRule: ["deviceMA/orderCompleted"]
}
}
]
}
]
}
]
},
{
path: "/invCount",
component: Empty,
name: "盘点管理",
icon: "",
meta: {
authRule: ["inv/invCount"]
},
children: [
{
path: "countSetting",
component: invCountSetting,
name: "盘点设置",
icon: "",
meta: {
authRule: ["invCount/countSetting"]
}
},
{
path: "countOrderNew",
component: invCountOrderNew,
name: "新增盘点单",
icon: "",
meta: {
authRule: ["invCount/countOrderNew"]
}
},
{
path: "countOrderAudit",
component: invCountOrderAudit,
name: "盘点单审核",
icon: "",
meta: {
authRule: ["invCount/countOrderAudit"]
}
},
{
path: "countOrderCompleted",
component: invCountOrderCompleted,
name: "盘点单查询",
icon: "",
meta: {
authRule: ["invCount/countOrderCompleted"]
}
},
]
},
{
path: "/otherInvManage",
component: Empty,
@ -1025,15 +1631,6 @@ export const asyncRouterMap = [
},
]
},
// {
// path: "stockCheck",
// name: "盘点单据",
// component: stockCheck,
// meta: {
// authRule: ["inv/stockCheck"]
// }
// },
{
path: "udiTrace",
name: "UDI码流向",

@ -1,6 +1,6 @@
import { userInfo, loginName, logout } from "../../api/auth/login";
import {userInfo, loginName, logout} from "../../api/auth/login";
import * as types from "../mutation-types";
import { constantRouterMap } from "../../router";
import {constantRouterMap} from "../../router";
import {
getToken,
setToken,
@ -10,18 +10,22 @@ import {
removeAdminId
} from "../../utils/auth";
// import { $NOT_NETWORK } from '../../utils/errorCode'
import { Message } from "element-ui";
import {Message} from "element-ui";
import {RECEIVE_ADMIN_EMPLOY_NAME} from "../mutation-types";
// initial state
const state = {
adminId: getAdminId(), // id
userName: "", // 昵称
employeeName:null,
employeeName: null,
avatar: "", // 头像
token: getToken(), // 登录token
authRules: [], // 权限列表
routers: constantRouterMap // 路由列表
routers: constantRouterMap, // 路由列表
locInvCode: "",
locSubInvCode: "",
locInvName: "",
locSubInvName: ""
};
// getters
@ -32,19 +36,23 @@ const getters = {
avatar: state => state.avatar,
token: state => state.token,
authRules: state => state.authRules,
routers: state => state.routers
routers: state => state.routers,
locInvCode: state => state.locInvCode,
locSubInvCode: state => state.locSubInvCode,
locInvName: state => state.locInvName,
locSubInvName: state => state.locSubInvName,
};
// actions
const actions = {
// 用户名登录
loginName({ commit }, userInfo) {
console.log(userInfo.userName + "=----" + userInfo.pwd);
loginName({commit}, userInfo) {
const userName = userInfo.userName ? userInfo.userName.trim() : "";
const pwd = userInfo.pwd ? userInfo.pwd : "";
return new Promise((resolve, reject) => {
loginName(userName, pwd)
.then(response => {
console.log(response);
if (response.code != 20000) {
Message({
message: response.message,
@ -64,20 +72,19 @@ const actions = {
});
});
},
userInfo({ commit }) {
userInfo({commit}) {
return new Promise((resolve, reject) => {
userInfo()
.then(response => {
console.log(response.code + "---" + response.data);
if (response.code != 20000) {
if (response.code !== 20000) {
reject("登录失效");
}
const data = response.data || {};
console.log(data.userName + "--" + data.authRules);
commit(types.RECEIVE_ADMIN_NAME, data.userName);
commit(types.RECEIVE_ADMIN_EMPLOY_NAME, data.employeeName);
commit(types.RECEIVE_ADMIN_AVATAR, data.avatar);
commit(types.RECEIVE_ADMIN_AUTH_RULES, data.authRules);
resolve(data);
})
.catch(error => {
@ -86,13 +93,17 @@ const actions = {
});
},
// 登出
loginOut({ commit }) {
loginOut({commit}) {
return new Promise((resolve, reject) => {
logout()
.then(() => {
commit(types.RECEIVE_ADMIN_ID, "");
commit(types.RECEIVE_ADMIN_TOKEN, "");
commit(types.RECEIVE_ADMIN_AUTH_RULES, []);
commit(types.RECEIVE_LOCINVCODE, "");
commit(types.RECEIVE_LOCSUBINVCODE, "");
commit(types.RECEIVE_LOCINVNAME, "");
commit(types.RECEIVE_LOCSUBINVNAME, "");
resolve();
})
.catch(error => {
@ -102,11 +113,15 @@ const actions = {
},
// 前端 登出
fedLogout({ commit }) {
fedLogout({commit}) {
return new Promise(resolve => {
commit(types.RECEIVE_ADMIN_ID, "");
commit(types.RECEIVE_ADMIN_TOKEN, "");
commit(types.RECEIVE_ADMIN_AUTH_RULES, []);
commit(types.RECEIVE_LOCINVCODE, "");
commit(types.RECEIVE_LOCSUBINVCODE, "");
commit(types.RECEIVE_LOCINVNAME, "");
commit(types.RECEIVE_LOCSUBINVNAME, "");
resolve();
});
},
@ -116,8 +131,8 @@ const actions = {
* @param data
* @returns {Promise}
*/
filterRouter({ commit }, data) {
const { accessedRouters } = data;
filterRouter({commit}, data) {
const {accessedRouters} = data;
if (accessedRouters && accessedRouters.length > 0) {
commit(types.RECEIVE_ROUTERS, accessedRouters);
}
@ -145,19 +160,32 @@ const mutations = {
[types.RECEIVE_ADMIN_NAME](state, userName) {
state.userName = userName;
},
[types.RECEIVE_ADMIN_EMPLOY_NAME](state, employeeName) {
state.employeeName = employeeName;
},
[types.RECEIVE_ADMIN_AVATAR](state, avatar) {
state.avatar = avatar;
},
[types.RECEIVE_ADMIN_AUTH_RULES](state, authRules) {
state.authRules = authRules;
},
[types.RECEIVE_ADMIN_EMPLOY_NAME](state, employeeName) {
state.employeeName = employeeName;
},
[types.RECEIVE_ROUTERS](state, routers) {
const tempRm = constantRouterMap.concat(routers);
state.routers = JSON.parse(JSON.stringify(tempRm));
}
},
[types.RECEIVE_LOCINVCODE](state, locInvCode) {
state.locInvCode = locInvCode;
},
[types.RECEIVE_LOCSUBINVCODE](state, locSubInvCode) {
state.locSubInvCode = locSubInvCode;
},
[types.RECEIVE_LOCINVNAME](state, locInvName) {
state.locInvName = locInvName;
},
[types.RECEIVE_LOCSUBINVNAME](state, locSubInvName) {
state.locSubInvName = locSubInvName;
},
};
export default {

@ -12,3 +12,7 @@ export const RECEIVE_ADMIN_EMPLOY_NAME = "RECEIVE_ADMIN_EMPLOY_NAME"; //账号
export const RECEIVE_ADMIN_AVATAR = "RECEIVE_ADMIN_AVATAR"; // 头像
export const RECEIVE_ADMIN_AUTH_RULES = "RECEIVE_ADMIN_AUTH_RULES"; // 权限列表
export const RECEIVE_ROUTERS = "RECEIVE_ROUTERS"; // 初始化路由表
export const RECEIVE_LOCINVCODE = "RECEIVE_LOCINVCODE"; // 当前仓库
export const RECEIVE_LOCSUBINVCODE = "RECEIVE_LOCSUBINVCODE"; // 当前分库
export const RECEIVE_LOCINVNAME = "RECEIVE_LOCINVNAME"; // 当前仓库
export const RECEIVE_LOCSUBINVNAME = "RECEIVE_LOCSUBINVNAME"; // 当前分库

@ -42,7 +42,7 @@ service.interceptors.response.use(
if (data.code) {
if (data.code === 2) {
store.dispatch("fedLogout").then(() => {
Message.error("验证失败,请重新登录");
Message.error("登录失效,请重新登录");
router.push({
path: "/login",
query: { redirect: router.currentRoute.fullPath } // 从哪个页面跳转过来

@ -21,7 +21,7 @@ service.interceptors.response.use(
if (data.code) {
if (data.code === 2) {
store.dispatch("fedLogout").then(() => {
Message.error("验证失败,请重新登录");
Message.error("登录失效,请重新登录");
router.push({
path: "/login",
query: {redirect: router.currentRoute.fullPath} // 从哪个页面跳转过来

@ -22,3 +22,12 @@ export function formatDate (date, fmt) {
function padLeftZero (str) {
return ('00' + str).substr(str.length);
};
export function convertDate(date) {
if(date!=null && date!=undefined && date.length>5){
var time="20"+date.substring(0,2)+"-"+date.substring(2,4)+"-"+date.substring(4,6);
return time;
}else{
return date;
}
};

@ -0,0 +1,237 @@
/**
* 通用js方法封装处理
* Copyright (c) 2019 ruoyi
*/
// 日期格式化
export function parseTime(time, pattern) {
if (arguments.length === 0 || !time) {
return null
}
const format = pattern || '{y}-{m}-{d} {h}:{i}:{s}'
let date
if (typeof time === 'object') {
date = time
} else {
if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) {
time = parseInt(time)
} else if (typeof time === 'string') {
time = time.replace(new RegExp(/-/gm), '/').replace('T', ' ').replace(new RegExp(/\.[\d]{3}/gm), '');
}
if ((typeof time === 'number') && (time.toString().length === 10)) {
time = time * 1000
}
date = new Date(time)
}
const formatObj = {
y: date.getFullYear(),
m: date.getMonth() + 1,
d: date.getDate(),
h: date.getHours(),
i: date.getMinutes(),
s: date.getSeconds(),
a: date.getDay()
}
const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {
let value = formatObj[key]
// Note: getDay() returns 0 on Sunday
if (key === 'a') {
return ['日', '一', '二', '三', '四', '五', '六'][value]
}
if (result.length > 0 && value < 10) {
value = '0' + value
}
return value || 0
})
return time_str
}
// 表单重置
export function resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
}
// 添加日期范围
export function addDateRange(params, dateRange, propName) {
let search = params;
search.params = typeof (search.params) === 'object' && search.params !== null && !Array.isArray(search.params) ? search.params : {};
dateRange = Array.isArray(dateRange) ? dateRange : [];
if (typeof (propName) === 'undefined') {
search.params['beginTime'] = dateRange[0];
search.params['endTime'] = dateRange[1];
} else {
search.params['begin' + propName] = dateRange[0];
search.params['end' + propName] = dateRange[1];
}
return search;
}
// 回显数据字典
export function selectDictLabel(datas, value) {
if (value === undefined) {
return "";
}
var actions = [];
Object.keys(datas).some((key) => {
if (datas[key].value == ('' + value)) {
actions.push(datas[key].label);
return true;
}
})
if (actions.length === 0) {
actions.push(value);
}
return actions.join('');
}
// 回显数据字典(字符串数组)
export function selectDictLabels(datas, value, separator) {
if (value === undefined) {
return "";
}
var actions = [];
var currentSeparator = undefined === separator ? "," : separator;
var temp = value.split(currentSeparator);
Object.keys(value.split(currentSeparator)).some((val) => {
var match = false;
Object.keys(datas).some((key) => {
if (datas[key].value == ('' + temp[val])) {
actions.push(datas[key].label + currentSeparator);
match = true;
}
})
if (!match) {
actions.push(temp[val] + currentSeparator);
}
})
return actions.join('').substring(0, actions.join('').length - 1);
}
// 字符串格式化(%s )
export function sprintf(str) {
var args = arguments, flag = true, i = 1;
str = str.replace(/%s/g, function () {
var arg = args[i++];
if (typeof arg === 'undefined') {
flag = false;
return '';
}
return arg;
});
return flag ? str : '';
}
// 转换字符串undefined,null等转化为""
export function parseStrEmpty(str) {
if (!str || str == "undefined" || str == "null") {
return "";
}
return str;
}
// 数据合并
export function mergeRecursive(source, target) {
for (var p in target) {
try {
if (target[p].constructor == Object) {
source[p] = mergeRecursive(source[p], target[p]);
} else {
source[p] = target[p];
}
} catch (e) {
source[p] = target[p];
}
}
return source;
};
/**
* 构造树型结构数据
* @param {*} data 数据源
* @param {*} id id字段 默认 'id'
* @param {*} parentId 父节点字段 默认 'parentId'
* @param {*} children 孩子节点字段 默认 'children'
*/
export function handleTree(data, id, parentId, children) {
let config = {
id: id || 'id',
parentId: parentId || 'parentId',
childrenList: children || 'children'
};
var childrenListMap = {};
var nodeIds = {};
var tree = [];
for (let d of data) {
let parentId = d[config.parentId];
if (childrenListMap[parentId] == null) {
childrenListMap[parentId] = [];
}
nodeIds[d[config.id]] = d;
childrenListMap[parentId].push(d);
}
for (let d of data) {
let parentId = d[config.parentId];
if (nodeIds[parentId] == null) {
tree.push(d);
}
}
for (let t of tree) {
adaptToChildrenList(t);
}
function adaptToChildrenList(o) {
if (childrenListMap[o[config.id]] !== null) {
o[config.childrenList] = childrenListMap[o[config.id]];
}
if (o[config.childrenList]) {
for (let c of o[config.childrenList]) {
adaptToChildrenList(c);
}
}
}
return tree;
}
/**
* 参数处理
* @param {*} params 参数
*/
export function tansParams(params) {
let result = ''
for (const propName of Object.keys(params)) {
const value = params[propName];
var part = encodeURIComponent(propName) + "=";
if (value !== null && value !== "" && typeof (value) !== "undefined") {
if (typeof value === 'object') {
for (const key of Object.keys(value)) {
if (value[key] !== null && value[key] !== "" && typeof (value[key]) !== 'undefined') {
let params = propName + '[' + key + ']';
var subPart = encodeURIComponent(params) + "=";
result += subPart + encodeURIComponent(value[key]) + "&";
}
}
} else {
result += part + encodeURIComponent(value) + "&";
}
}
}
return result
}
// 验证是否为blob格式
export async function blobValidate(data) {
try {
const text = await data.text();
JSON.parse(text);
return false;
} catch (error) {
return true;
}
}

@ -0,0 +1,26 @@
//封装字符串相关的方法
export function isBlank(value) {
if (value === "" || value === null || value === undefined) {
return true;
}
value = value + "";
value = value.trim();
if ("" === value || value === "string" || value === "undefined") {
return true;
}
}
export function getUUID(tabName){
var str=[];
var Chars='0123456789abcdefghijklmnopqrstuvwxyz';
for(var i=0;i<36;i++){
str[i]=Chars.substr(Math.floor(Math.random()*16),1)
}
// str[0]=str[8]=str[13]=str[18]=str[23]='-';
return tabName+str.join("")
}

@ -12,8 +12,9 @@
<el-form-item>
<el-button-group style="margin-left: 10px;display:flex;">
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
<el-button type="primary" icon="search" @click="getList"></el-button>
<el-button type="primary" icon="search" @click="search"></el-button>
<el-button type="primary" icon="search" @click="handleAddClick"
:disabled="!configParms.entrustAction"
>新增
</el-button
>
@ -26,8 +27,9 @@
<el-table-column label="序号" type="index" width="60" fixed></el-table-column>
<el-table-column label="扫码单据类型" prop="curName" fixed></el-table-column>
<el-table-column label="当前仓库" prop="curInvName" fixed></el-table-column>
<el-table-column label="委托验收仓库" prop="entrustInvName" fixed>
</el-table-column>
<el-table-column label="当前分库" prop="invWarehouseName" fixed></el-table-column>
<el-table-column label="委托验收仓库" prop="entrustInvName" fixed></el-table-column>
<el-table-column label="委托验收分库" prop="entrustSubInvName" fixed></el-table-column>
<el-table-column label="委托验收人" prop="employeeName" fixed>
</el-table-column>
<el-table-column label="操作" fixed="right">
@ -36,6 +38,7 @@
type="text"
size="small"
@click.native.stop="handleModifyClick(scope.row)"
:disabled="!configParms.entrustAction"
>编辑
</el-button
>
@ -43,6 +46,7 @@
type="text"
size="small"
@click.native.stop="deleteDialog(scope.row)"
:disabled="!configParms.entrustAction"
>删除
</el-button
>
@ -97,6 +101,7 @@
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
:current-page="filterQuery.page"
></el-pagination>
</el-card>
</div>
@ -110,6 +115,7 @@ import {
} from "../../api/basic/EntrustRece";
import modifyDialog from "./BasicEntrutsReceModify";
import {findConfig} from "@/api/thrsys/spsSyncStatus";
export default {
data() {
@ -131,6 +137,8 @@ export default {
entrustAction: null,
finishRece: false,
curInv: "",
entrustSubInv: "",
invWarehouseCode: "",
},
enableMap: {
true: "是",
@ -145,6 +153,7 @@ export default {
multipleSelection: [],
uploadFileUrl: null,
headers: {},
configParms: {},
};
},
@ -169,6 +178,10 @@ export default {
this.filterQuery.page = val;
this.getList();
},
search() {
this.filterQuery.page = 1;
this.getList();
},
getList() {
this.loading = true;
getEntrustRece(this.filterQuery)
@ -191,24 +204,35 @@ export default {
this.$message.error("单据类型不能为空!");
return;
}
if (this.$isBlank(this.inputQuery.curInv)) {
this.$message.error("请输入委托仓库!");
if (this.$isBlank(this.inputQuery.entrustUser)) {
this.$message.error("请输入接受委托人!");
return;
}
if (this.$isBlank(this.inputQuery.entrustInv)) {
this.$message.error("请输入委托验收人仓库!");
if (this.$isBlank(this.inputQuery.invWarehouseCode)) {
this.$message.error("当前仓库不能为空!");
return;
}
if (this.$isBlank(this.inputQuery.entrustInv)) {
this.$message.error("请输入委托验收人");
if (this.$isBlank(this.inputQuery.entrustSubInv)) {
this.$message.error("请输入接受委托仓库");
return;
}
//
// if (this.$isBlank(this.inputQuery.entrustAction)) {
// this.$message.error("");
// return;
// }
insertEntrustRece(this.inputQuery)
.then((response) => {
this.loading = false;
this.cancelDialog();
this.getList();
if (response.code == 20000) {
this.loading = false;
this.cancelDialog();
this.getList();
} else {
this.$message.error(response.message);
}
})
.catch(() => {
this.loading = false;
@ -226,14 +250,28 @@ export default {
return;
}
if (this.$isBlank(this.inputQuery.entrustInv)) {
this.$message.error("请输入委托验收人仓库!");
this.$message.error("请输入接受委托仓库!");
return;
}
if (this.$isBlank(this.inputQuery.entrustInv)) {
this.$message.error("请输入委托验收人!");
if (this.$isBlank(this.inputQuery.entrustUser)) {
this.$message.error("请输入接受委托人!");
return;
}
insertEntrustRece(this.inputQuery)
if (this.$isBlank(this.inputQuery.invWarehouseCode)) {
this.$message.error("当前分库不能为空!");
return;
}
if (this.$isBlank(this.inputQuery.entrustSubInv)) {
this.$message.error("请输入接受委托分库!");
return;
}
// if (this.$isBlank(this.inputQuery.entrustAction)) {
// this.$message.error("");
// return;
// }
updateEntrustRece(this.inputQuery)
.then((response) => {
this.loading = false;
this.cancelDialog();
@ -253,6 +291,7 @@ export default {
handleModifyClick(row) {
this.inputQuery = row;
this.modifyDialogVisible = true;
this.getList();
},
deleteDialog(rowId) {
@ -289,6 +328,16 @@ export default {
.catch(() => {
});
},
getSyncConfig() {
findConfig()
.then((response) => {
if (response.code == 20000) {
this.configParms = response.data;
}
})
.catch(() => {
});
},
},
components: {
modifyDialog,
@ -297,6 +346,7 @@ export default {
},
created() {
this.getList();
this.getSyncConfig();
},
};
</script>

@ -1,28 +1,34 @@
<template>
<div>
<el-form :model="inputQuery" :rules="formRules" ref="dataForm">
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>委托仓库:&nbsp;</span>
<span>当前仓库:&nbsp;</span>
</div>
<el-select v-model="inputQuery.curInv" placeholder="当前仓库" @change="invChange" clearable>
<el-select v-model="inputQuery.invWarehouseCode" placeholder="当前仓库"
@change="entrustInvChange"
filterable
clearable>
<el-option
v-for="item in storageList"
v-for="item in subInvList"
:key="item.code"
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{
item.warehouseName
}}</span>
</el-option>
</el-select>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
@ -40,39 +46,33 @@
</div>
</el-col>
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.finishRece">
</el-checkbox>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>接受委托仓库:&nbsp;</span>
</div>
<el-select v-model="inputQuery.entrustInv" placeholder="接受委托仓库" @change="entrustInvChange"
<el-select v-model="inputQuery.entrustSubInv" placeholder="接受委托仓库"
@change="subInvChangeMeg"
filterable
clearable>
<el-option
v-for="item in entrustStorageList"
v-for="item in entrustSubInvList"
:key="item.code"
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</div>
</el-col>
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>接受委托人:&nbsp;</span>
</div>
<el-select v-model="inputQuery.entrustUser" placeholder="接受委托人" clearable>
<el-option
v-for="item in entrustUserArray"
:key="item.userid"
:label="item.employeeName"
:value="item.userid">
<span style="float: left">{{ item.employeeName }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{
item.warehouseName
}}</span>
</el-option>
</el-select>
@ -101,12 +101,26 @@
</el-select>
</div>
</el-col>
<el-col :span="4" class="el-col">
<el-col :span="10" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.finishRece">
</el-checkbox>
<div class="itemTag">
<span>接受委托人:&nbsp;</span>
</div>
<el-select v-model="inputQuery.entrustUser" placeholder="接受委托人" clearable>
<el-option
v-for="item in entrustUserArray"
:key="item.userid"
:label="item.employeeName"
:value="item.userid">
<span style="float: left">{{ item.employeeName }}</span>
</el-option>
</el-select>
</div>
</el-col>
</el-row>
</el-form>
</div>
@ -124,6 +138,7 @@ import {
import {filterAll, filterNext, warehouseBussinessTypeList, warehouseUserList} from "@/api/basic/invWarehouse";
import {getBasicUnitMaintains} from "@/api/basic/basicUnitMaintain";
import {filterNoUseBusType} from "@/api/basic/EntrustRece";
import {filterSubByInv, filterSub} from "@/api/basic/invSubWarehouse";
export default {
@ -143,6 +158,8 @@ export default {
isFilterBind: true,
},
storageList: [],
subInvList: [],
entrustSubInvList: [],
entrustStorageList: [],
orderTypeList: [],
fromSpecialOptions: [],
@ -154,14 +171,12 @@ export default {
action: [
{required: true, message: "请输入扫码单据类型", trigger: "blur"}
],
curInv: [
{required: true, message: "请输入委托仓库", trigger: "blur"}
],
entrustInv: [
{required: true, message: "请输入接受委托仓库", trigger: "blur"}
{required: true, message: "请输入委托验收人仓库", trigger: "blur"}
],
entrustUser: [
{required: true, message: "请输入接受委托人", trigger: "blur"}
{required: true, message: "请输入委托验收人", trigger: "blur"}
],
},
}
@ -187,30 +202,55 @@ export default {
this.loading = false;
this.localTypes = [];
});
},
getStorage() {
this.storageList = [];
filterAll()
findSubInvByInv() {
this.subInvList = [];
let query = {
filter: 3
};
filterSubByInv(query)
.then((response) => {
this.subInvList = response.data || [];
this.getOrderType();
})
.catch(() => {
});
},
findEntrustSubInvByInv() {
this.entrustSubInvList = [];
let query = {
code: this.inputQuery.invWarehouseCode,
filter: 2,
};
filterSub(query)
.then((response) => {
this.storageList = response.data || [];
this.entrustSubInvList = response.data || [];
this.entrustSubInvChange();
})
.catch(() => {
});
},
getEntrustStorage() {
this.entrustStorageList = [];
let nextQuery = {pcode: this.inputQuery.curInv};
filterNext(nextQuery)
.then((response) => {
this.entrustStorageList = response.data || [];
this.findEntrustSubInvByInv();
})
.catch(() => {
});
},
getOrderType(code) {
getOrderType() {
let query = {
locInvCode: code
locSubInvCode: this.inputQuery.invWarehouseCode
}
filterNoUseBusType(query).then((response) => {
this.busTypes = response.data || [];
@ -218,42 +258,96 @@ export default {
})
},
invChange(code) {
this.getOrderType(code);
invChange() {
this.findSubInvByInv();
this.inputQuery.invWarehouseCode = null;
this.$set(this.inputQuery, "entrustUser", "");
this.$set(this.inputQuery, "entrustInv", "");
this.getEntrustStorage();
},
entrustInvChange(code) {
subInvChange() {
this.getOrderType();
},
entrustInvChange() {
this.subInvList.forEach(item => {
if (item.code === this.inputQuery.invWarehouseCode) {
this.inputQuery.curInv = item.parentId;
}
})
//
this.inputQuery.entrustSubInv = null;
this.inputQuery.entrustInv = null;
this.findEntrustSubInvByInv();
this.getOrderType();
this.$forceUpdate();
},
entrustSubInvChange() {
//
this.entrustSubInvList.forEach(item => {
if (item.code === this.inputQuery.entrustSubInv) {
this.inputQuery.entrustInv = item.parentId;
}
})
let query = {
code: code
code: this.inputQuery.entrustSubInv,
}
// this.$set(this.inputQuery, "entrustUser","");
// this.$set(this.inputQuery, "entrustAction","");
this.$forceUpdate();
//
warehouseUserList(query).then((res) => {
this.entrustUserArray = [];
this.entrustUserArray = res.data;
if (this.inputQuery.entrustUser != null && this.inputQuery.entrustUser != '') {
this.inputQuery.entrustUser = Number(this.inputQuery.entrustUser);
}
this.entrustUserArray = res.data.list;
}).catch((error) => {
this.$message.error("用户数据加载失败")
});
//
warehouseBussinessTypeList(query).then((res) => {
this.entrustBusArray = res.data;
this.entrustBusArray = res.data.list;
}).catch((error) => {
this.$message.error("单据类型数据加载失败")
});
},
subInvChangeMeg() {
this.$set(this.inputQuery, "entrustAction", "");
this.$set(this.inputQuery, "entrustUser", "");
//
this.entrustSubInvList.forEach(item => {
if (item.code === this.inputQuery.entrustSubInv) {
this.inputQuery.entrustInv = item.parentId;
}
})
let query = {
code: this.inputQuery.entrustSubInv,
}
//
warehouseUserList(query).then((res) => {
this.entrustUserArray = [];
this.entrustUserArray = res.data.list;
}).catch((error) => {
this.$message.error("用户数据加载失败")
});
//
warehouseBussinessTypeList(query).then((res) => {
this.entrustBusArray = res.data.list;
}).catch((error) => {
this.$message.error("单据类型数据加载失败")
});
},
},
computed: {
corpType() {
@ -263,13 +357,12 @@ export default {
created() {
this.getOrderType();
this.getList();
this.getStorage();
this.findSubInvByInv();
this.getEntrustStorage();
if (this.$isNotBlank(this.inputQuery.entrustInv)) {
this.entrustInvChange(this.inputQuery.entrustInv);
}
// if (this.$isNotBlank(this.inputQuery.entrustInv)) {
// this.entrustInvChange(this.inputQuery.entrustInv);
// }
},
};

@ -0,0 +1,321 @@
<template>
<div>
<el-card>
<el-form :inline="true" :model="query" class="query-form" size="mini">
<el-row>
<el-form-item class="query-form-item">
<el-input v-model="filterQuery.genKey" placeholder="DI产品标识"></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-select v-model="filterQuery.uploadStatus" placeholder="上传状态">
<el-option label="全部" value=""></el-option>
<el-option label="正在上传" value="0"></el-option>
<el-option label="上传成功" value="1"></el-option>
<el-option label="上传失败" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button-group style="display:flex;">
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
<el-button type="primary" icon="search" @click="getList"></el-button>
</el-button-group>
</el-form-item>
</el-row>
</el-form>
<el-table
v-loading="loading"
:data="list"
style="width: 100%"
@selection-change="handleSelectionChange"
>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column
label="DI产品标识"
prop="nameCode"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
label="产品名称"
prop="productName"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
label="目标系统"
prop="thirdSysFk"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
label="第三方编码"
prop="uploadCode"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
label="更新日期"
prop="updateTime"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="上传状态"
prop="uploadStatus"
show-overflow-tooltip
>
<template slot-scope="scope">
<el-tag
:type="statusFilterType(scope.row.uploadStatus)"
>{{ status[scope.row.uploadStatus] }}
</el-tag
>
</template>
</el-table-column>
<el-table-column label="操作" fixed="right" width="160">
<template slot-scope="scope">
<el-button
type="text"
size="small"
@click.native.stop="uploadDilaog(scope.row)"
>上传
</el-button
>
<el-button
type="text"
size="small"
@click.native.stop="handleDetailClick(scope.row)"
>详情
</el-button
>
<el-button
type="text"
size="small"
@click.native.stop="deleteDialog(scope.row.id)"
>删除
</el-button
>
</template>
</el-table-column>
</el-table>
<el-pagination
:page-size="filterQuery.limit"
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
:current-page="filterQuery.page"
></el-pagination>
</el-card>
</div>
</template>
<script>
import {filterList, deleteNewDi, postThird} from "../../api/basic/newDiUpload";
import {getBasicThirdSys} from "../../api/basic/basicThirdSys";
import {deleteLog} from "@/api/basic/corpImport";
export default {
data() {
return {
filterQuery: {
nameCode: null,
uploadStatus: null,
thirdSysFk: null,
page: 1,
limit: 20,
},
list: [],
thirdSys: [],
total: 0,
currentRow: null,
status: {
0: "等待上传",
1: "正在上传",
2: "上传失败",
3: "上传成功"
},
};
},
methods: {
onReset() {
this.$router.push({
path: "",
});
this.filterQuery = {
nameCode: null,
uploadStatus: null,
thirdSysFk: null,
page: 1,
limit: 20,
};
this.getList();
},
getList() {
this.loading = true;
filterList(this.filterQuery)
.then((response) => {
this.loading = false;
this.list = response.data.list || [];
this.total = response.data.total || 0;
})
.catch(() => {
this.loading = false;
this.list = [];
this.total = 0;
});
},
handleDetailClick(row) {
this.currentRow = row;
this.$confirm(this.currentRow.uploadMsg, "上传结果信息", {
confirmButtonText: '确定',
type: 'warning'
}).then(() => {
}).catch(() => {
this.$message({
type: 'info',
message: '已取消操作'
});
});
},
cancelDialog() {
this.corpImportDetailVisible = false;
},
handleCurrentChange(val) {
this.filterQuery.page = val;
this.getList();
},
deleteDialog(rowId) {
this.$confirm("此操作将删除该产品上传记录, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
let dQuery = {
id: rowId,
};
deleteNewDi(dQuery)
.then((response) => {
this.loading = false;
if (response.code == 20000) {
this.$message.success("删除成功");
} else {
this.$message.error(response.message);
}
this.getList();
})
.catch(() => {
this.loading = false;
});
})
.catch(() => {
});
},
getBasicThirdSys() {
let query = {
enabled: true,
};
getBasicThirdSys(query)
.then((response) => {
this.thirdSys = response.data.list || [];
this.getList();
})
.catch(() => {
this.loading = false;
this.list = [];
});
},
statusFilterType(status) {
const statusMap = {
0: "warning",
1: "warning",
2: "danger",
3: "success",
};
return statusMap[status];
},
uploadDilaog(row) {
this.$confirm("确定上传产品信息至第三方系统", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.postProduct(row);
})
.catch(() => {
});
},
postProduct(row) {
postThird(row)
.then((response) => {
if (response.code == 20000) {
this.getList();
} else {
this.$message.error(response.message);
}
})
.catch(() => {
this.loading = false;
this.list = [];
});
}
},
mounted() {
}
,
created() {
this.getBasicThirdSys();
this.getList();
}
,
}
;
</script>
<style>
.itemTag {
float: left;
text-align: left;
margin-top: 10px;
width: 100px;
}
.text {
font-size: 13px;
font-family: "Microsoft YaHei";
}
.el-row {
display: flex;
flex-wrap: wrap;
}
.el-col {
border-radius: 4px;
flex-wrap: wrap;
}
</style>

@ -24,11 +24,10 @@
<el-form-item>
<el-button-group>
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
<el-button type="primary" icon="search" @click="getList"></el-button>
<el-button type="primary" icon="search" @click="search"></el-button>
</el-button-group>
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="list" style="width: 100%" highlight-current-row="true"
@current-change="handleCurrentChange">
<el-table-column label="序号" type="index" width="120" fixed></el-table-column>
@ -65,8 +64,6 @@
</template>
</el-table-column>
</el-table>
<el-dialog
title="第三方系统设置"
:close-on-click-modal="false"
@ -86,10 +83,9 @@
>
</div>
</el-dialog>
</el-card>
<el-card class="el-card">
<el-table v-loading="loading" :data="detailList" style="width: 100%"
<el-table v-loading="loading" :data="detailList" style="width: 100%" highlight-current-row="true"
@current-change="handleBustypeChange">
<el-table-column label="序号" type="index" show-overflow-tooltip="true"></el-table-column>
<el-table-column label="接口名称" prop="name" show-overflow-tooltip="true"></el-table-column>
@ -147,7 +143,7 @@
>提交
</el-button
>
<el-button type="primary" size="small" icon="search" @click="cancelDialog"
<el-button type="primary" size="small" icon="search" @click="cancelInterfaceDialog"
>取消
</el-button
>
@ -158,14 +154,16 @@
@current-change="handlePageChange"
layout="prev, pager, next"
:total="total"
:current-page="filterQuery.page"
></el-pagination>
</el-card>
<el-card class="el-card">
<el-button v-if="addBussinessTypeBtnVisible" type="primary" style="float: right; margin-bottom: 5px;" @click="addBussinessType"></el-button>
<el-table v-loading="busTypeLoading" :data="busTypeList" style="width: 100%">
<el-card class="el-card" v-if="addBussinessTypeBtnVisible">
<el-button type="primary" style="float: right; margin-bottom: 5px;"
@click="addBussinessType">添加单据类型
</el-button>
<el-table v-loading="busTypeLoading" :data="busTypeList" style="width: 100%" highlight-current-row="true">
<el-table-column label="序号" type="index" show-overflow-tooltip="true"></el-table-column>
<el-table-column label="单据类型" prop="name" show-overflow-tooltip="true"></el-table-column>
<el-table-column v-if="submitOrderVisible" label="第三方单据类型" prop="thirdBuyName"></el-table-column>
@ -175,15 +173,15 @@
<el-table-column label="操作" width="200" prop="price" fixed="right">
<template slot-scope="scope">
<el-button v-if="submitOrderVisible"
type="text"
size="small"
@click="handleEdit(scope.$index, scope.row)"
type="text"
size="small"
@click="handleEdit(scope.$index, scope.row)"
>编辑
</el-button>
<el-button v-if="getOrdersEditBtnVisible"
type="text"
size="small"
@click="editGeOrderParam(scope.$index, scope.row)"
type="text"
size="small"
@click="editGeOrderParam(scope.$index, scope.row)"
>编辑
</el-button>
<el-button
@ -196,12 +194,14 @@
</el-table-column>
</el-table>
<div style="margin-top: 18px ; color: #F71616;">
<span>重要提示本页功能仅供技术提供方修改&nbsp;</span>
</div>
</el-card>
<div style="margin-top: 18px ; color: #F71616;">
<span>重要提示本页功能仅供技术提供方修改&nbsp;</span>
</div>
<!--业务单据提交编辑弹窗-->
<el-dialog
:title="formMap[formName]"
@ -210,75 +210,90 @@
:visible.sync="bussinessTypeFormVisible"
style="width: 100%"
>
<div>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>单据类型:&nbsp;</span>
</div>
<el-select style="width: 150%;" v-model="thirdBuyForm.name" placeholder="单据类型">
<div>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>单据类型:&nbsp;</span>
</div>
<el-select style="width: 150%;" v-model="thirdBuyForm.name" placeholder="单据类型">
<el-option
v-for="item in bussinessTypeList"
:key="item.action"
:label="item.name"
:value="item.name"
></el-option>
</el-select>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>第三方单据类型:&nbsp;</span>
</div>
<el-select style="width: 150%;" v-model="thirdBuyForm.thirdBuyName" placeholder="第三方单据类型">
<el-option
v-for="item in thirdBuyList"
:key="item.name"
:label="item.name"
:value="item.name"
></el-option>
</el-select>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>接口地址:&nbsp;</span>
</div>
<el-input
style="width: 150%;"
size="small"
splaceholder="请输入内容"
v-model="thirdBuyForm.url"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>备注:&nbsp;</span>
</div>
<el-input
style="width: 150%;"
size="small"
splaceholder="请输入内容"
v-model="thirdBuyForm.remark"
></el-input>
</div>
</el-col>
</el-row>
</div>
</el-select>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>第三方单据类型:&nbsp;</span>
</div>
<el-select
v-model="thirdBuyForm.thirdBuyCode"
filterable
remote
style="width: 150%;"
clearable="true"
reserve-keyword
placeholder="请选择第三方单据类型"
:remote-method="remoteMethod"
:loading="loading">
<el-option
v-for="item in thridBusFilter"
:key="item.action"
:label="item.name"
:value="item.action">
<span style="float: left;font-size: 13px">{{ item.name }}</span>
<span style="float: right; color: #8492a6; font-size: 13px;margin-left: 10px">{{
item.remark
}}</span>
</el-option>
</el-select>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>接口地址:&nbsp;</span>
</div>
<el-input
style="width: 150%;"
size="small"
splaceholder="请输入内容"
v-model="thirdBuyForm.url"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>备注:&nbsp;</span>
</div>
<el-input
style="width: 150%;"
size="small"
splaceholder="请输入内容"
v-model="thirdBuyForm.remark"
></el-input>
</div>
</el-col>
</el-row>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click.native="bussinessTypeFormVisible = !bussinessTypeFormVisible"
@ -375,7 +390,7 @@
:visible.sync="addInterfaceVisible"
style="width: 100%"
>
<el-table :data="thirdSysDetailList" style="width: 100%;" @selection-change="selectedInterface">
<el-table :data="thirdSysDetailList" style="width: 100%;" @selection-change="selectedInterface">
<el-table-column type="selection" :reserve-selection="false" width="55"></el-table-column>
<el-table-column prop="name" label="接口名称"></el-table-column>
<el-table-column prop="value" label="接口地址"></el-table-column>
@ -410,6 +425,7 @@ import {getOriginBusType} from "../../api/basic/busOriginType";
import modifyDialog from "./BasicThirdSysModify";
import modifyDetailDialog from "./BasicThirdSysDetailModify";
import {filterForThirdSys} from "../../api/basic/busLocalType";
import {isBlank} from "@/utils/strUtil";
export default {
data() {
@ -447,7 +463,7 @@ export default {
busTypeList: [],
total: 0,
loading: false,
busTypeLoading:false,
busTypeLoading: false,
currentCheckIndex: -1,
bussinessTypeFormVisible: false,
bussinessTypeList: [],
@ -471,8 +487,10 @@ export default {
remark: null
},
thirdBuyList: [], //,
thridBusFilter: [],
thirdSysDetailList: [],
selectInterfaceList: []
selectInterfaceList: [],
currentRow: null
};
},
@ -491,14 +509,20 @@ export default {
this.getList();
},
cancelDialog() {
this.getList();
this.modifyDialogVisible = false;
this.modifyDetailDialogVisible = false;
this.modifyBusYypeDialogVisible = false;
},
//
cancelInterfaceDialog() {
this.modifyDetailDialogVisible = false;
this.getDetailList();
},
handleCurrentChange(row) {
if (row != null) {
this.thirdSysFk = row.thirdId;
}
this.currentRow = row;
this.getDetailList(row);
},
handleBustypeChange(row) {
@ -517,6 +541,10 @@ export default {
}
this.thirdSysFk = this.thirdSysFk;
},
search() {
this.filterQuery.page = 1;
this.getList();
},
getList() {
this.loading = true;
getBasicThirdSys(this.filterQuery)
@ -575,10 +603,14 @@ export default {
});
},
onModifySubmit() {
this.modifyDialogVisible = false;
if (isBlank(this.inputQuery.thirdName)) {
this.$message.warning("系统名称不能为空")
return;
}
updateBasicThirdSys(this.inputQuery)
.then((response) => {
if (response.code == 20000) {
this.modifyDialogVisible = false;
this.loading = false;
this.getList();
this.$message.success(response.data);
@ -621,7 +653,7 @@ export default {
this.currentCheckIndex = index;
this.formName = "edit";
this.getBussinessType();
this.getThirdBuyType();
this.remoteMethod();
this.bussinessTypeFormVisible = true;
this.thirdBuyForm = {
id: row.id,
@ -645,10 +677,10 @@ export default {
},
addBussinessType() {
this.formName = "add";
this.remoteMethod();
if (this.submitOrderVisible) {
this.bussinessTypeFormVisible = true;
this.getBussinessType();
this.getThirdBuyType();
this.thirdBuyForm = {
id: null,
code: null,
@ -662,7 +694,6 @@ export default {
};
} else if (this.getOrdersEditBtnVisible) {
this.editGeOrderParamVisible = true;
this.getThirdBuyType();
this.thirdBuyForm = {
id: null,
code: null,
@ -680,15 +711,37 @@ export default {
})
},
addBussinessTypeData() {
//
if (isBlank(this.thirdBuyForm.name)) {
this.$message.error("单据类型不能为空!")
return;
}
if (this.submitOrderVisible) {
if (isBlank(this.thirdBuyForm.thirdBuyCode)) {
this.$message.error("第三方单据类型不能为空!");
return;
}
}
// if (isBlank(this.thirdBuyForm.url)) {
// this.$message.error("")
// return;
// }
if (!isBlank(this.thirdBuyForm.remark)) {
if (this.thirdBuyForm.remark.length > 200) {
this.$message.error("备注信息不得超过200字");
return;
}
}
if (this.getOrdersEditBtnVisible) {
this.editGeOrderParamVisible = false;
} else {
this.bussinessTypeFormVisible = false;
}
//
this.bussinessTypeList.forEach(item =>{
this.bussinessTypeList.forEach(item => {
//
if (item.name === this.thirdBuyForm.name) {
this.thirdBuyForm.code = item.action;
@ -697,11 +750,13 @@ export default {
this.thirdBuyList.forEach(item => {
//
if (item.name === this.thirdBuyForm.thirdBuyName) {
this.thirdBuyForm.thirdBuyCode = item.action;
if (item.action === this.thirdBuyForm.thirdBuyCode) {
// this.thirdBuyForm.thirdBuyCode = item.code;
this.thirdBuyForm.thirdBuyName = item.name;
}
});
saveBusTypes(this.thirdBuyForm).then((res) => {
this.handleBustypeChange(this.submitOrderRow);
}).catch((error) => {
@ -709,21 +764,50 @@ export default {
})
},
handleDelete(index, row) {
let params = {id: row.id};
deleteThirdSysBusType(params).then((res) => {
this.handleBustypeChange(this.submitOrderRow);
}).catch((error) => {
this.$message.error(error.message);
})
this.$confirm('是否确认删除业务单据类型?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
let params = {id: row.id};
deleteThirdSysBusType(params).then((res) => {
if (res.code === 20000) {
this.$message({
type: 'success',
message: '删除成功!'
});
}
this.handleBustypeChange(this.submitOrderRow);
}).catch((error) => {
this.$message.error(error.message);
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
},
getThirdBuyType() {
getThirdBuyType(keyword) {
let query = {
key: keyword,
thirdSys: this.thirdSysFk
}
getOriginBusType(query).then((res)=> {
getOriginBusType(query).then((res) => {
this.thirdBuyList = res.data.list;
});
},
remoteMethod(keyword) {
let query = {
key: keyword,
thirdSys: this.thirdSysFk
}
getOriginBusType(query).then((res) => {
this.thridBusFilter = res.data.list;
});
},
handleAddInterface(row) {
this.addInterfaceVisible = true;
if (this.thirdSysFk == null) {
@ -747,7 +831,7 @@ export default {
_this.selectInterfaceList.push(row.id);
});
},
addInterfaceData(){
addInterfaceData() {
let data = [];
if (this.selectInterfaceList.length > 0) {
this.addInterfaceVisible = false;
@ -787,33 +871,45 @@ export default {
});
},
disableInterface(row) {
let data = [{id: row.id, enabled: false}];
updateInterfaceStatus(data).then((res) => {
if (res.code === 20000) {
this.$message.success("移除成功");
let query = {
thirdSysFk: this.thirdSysFk,
enabled: true
};
this.loading = true;
getDetailBasicThirdSys(query)
.then((response) => {
this.loading = false;
this.detailList = response.data.list || [];
this.total = response.data.total || 0;
})
.catch(() => {
this.loading = false;
this.list = [];
this.total = 0;
});
}
})
this.$confirm('是否确认移除此接口?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
let data = [{id: row.id, enabled: false}];
updateInterfaceStatus(data).then((res) => {
if (res.code === 20000) {
this.$message.success("移除成功");
let query = {
thirdSysFk: this.thirdSysFk,
enabled: true
};
this.loading = true;
getDetailBasicThirdSys(query)
.then((response) => {
this.loading = false;
this.detailList = response.data.list || [];
this.total = response.data.total || 0;
})
.catch(() => {
this.loading = false;
this.list = [];
this.total = 0;
});
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
},
editGeOrderParam(index,row) {
editGeOrderParam(index, row) {
this.formName = "edit";
this.editGeOrderParamVisible = true;
this.getThirdBuyType();
this.thirdBuyForm = {
id: row.id,
code: row.code,
@ -832,6 +928,7 @@ export default {
},
created() {
this.getList();
this.getThirdBuyType();
},
};
</script>

@ -59,7 +59,7 @@
<el-col :span="18" class="el-col">
<div class="text item">
<div class="itemTag" style="width: 200px;">
<span>第三方服务IP地址:&nbsp;</span>
<span v-text="inputQuery.thirdName + 'IP地址: '"></span>
</div>
<el-input
@ -122,7 +122,7 @@
<el-col :span="18" class="el-col">
<div class="text item">
<div class="itemTag" style="width: 200px;">
<span>第三方服务接口授权:&nbsp;</span>
<span v-text="inputQuery.thirdName + '接口授权:'">&nbsp;</span>
</div>
</div>
</el-col>
@ -131,21 +131,24 @@
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="18" class="el-col" style="margin-left: 60px;">
<div class="text item">
<label>apikey</label>
<el-input
style="width: 40%; margin-right: 10px; margin-left: 10px;"
size="mini"
splaceholder="请输入内容"
v-model="inputQuery.apikey"
></el-input>
<label>secretkey</label>
<el-input
style="width: 40%"
size="mini"
splaceholder="请输入内容"
v-model="inputQuery.secretkey"
></el-input>
<el-row>
<label style="width: 80px;">apikey</label>
<el-input
style="width: 40%;"
size="mini"
splaceholder="请输入内容"
v-model="inputQuery.apikey"
></el-input>
</el-row>
<el-row>
<label style="width: 80px;">secretkey</label>
<el-input
style="width: 40%"
size="mini"
splaceholder="请输入内容"
v-model="inputQuery.secretkey"
></el-input>
</el-row>
</div>
</el-col>
</el-row>
@ -190,11 +193,16 @@ export default {
methods: {
testThirdService() {
testThirdService(this.inputQuery).then((res) => {
console.log(res)
if (res.code === 20000) {
this.$message.success("连接成功");
} else
} else{
this.$message.error(res.message);
});
}
}).catch((error) => {
console.log(error)
this.$message.error(error.message);
})
},
testThirdInter() {

@ -0,0 +1,288 @@
<template>
<div>
<el-card>
<el-form :inline="true" :model="filterQuery" class="query-form" size="mini">
<el-form-item class="query-form-item">
<el-input
v-model="filterQuery.name"
placeholder="单据类型名称"
style="width: 200px"
></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-input
v-model="filterQuery.originAction"
placeholder="单据类型代码"
style="width: 200px"
></el-input>
</el-form-item>
<el-form-item>
<el-button-group style="margin-left: 10px;display:flex;">
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
<el-button type="primary" icon="search" @click="search"></el-button>
<el-button type="primary" icon="search" @click="handleAddClick"
>新增
</el-button
>
</el-button-group>
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="list" style="width: 100%">
<el-table-column label="序号" type="index" width="55"></el-table-column>
<el-table-column label="原单据类型" prop="originName"></el-table-column>
<el-table-column label="目标单据类型" prop="targetName"></el-table-column>
<el-table-column label="目标当前仓库" prop="locSubInvName"></el-table-column>
<el-table-column label="目标往来仓库" prop="defautSubInvName"></el-table-column>
<el-table-column label="时间推移(小时)" prop="beforeTime"></el-table-column>
<el-table-column label="补单方式" prop="supplementAll">
<template slot-scope="scope">
<span>{{ enableMap[scope.row.supplementAll] }}</span>
</template>
</el-table-column>
<el-table-column label="备注" prop="intro"></el-table-column>
<el-table-column label="操作" width="100" fixed="right">
<template slot-scope="scope">
<el-button
type="text"
size="small"
@click.native.stop="handleModifyClick(scope.row)"
>编辑
</el-button
>
<el-button
type="text"
size="small"
:disabled="scope.row.systemDefault"
@click.native.stop="handleDeleteClick(scope.row)"
>删除
</el-button
>
</template>
</el-table-column>
</el-table>
<el-dialog
:title="formMap[formName]"
:visible.sync="addDialogVisible"
width="70%"
:close-on-click-modal="false"
:close-on-press-escape="false"
v-if="addDialogVisible"
>
<modifyDialog :inputQuery="inputQuery"></modifyDialog>
<div style="text-align: center">
<el-button type="primary" size="small" icon="search" @click="onAddSubmit"
>提交
</el-button
>
<el-button type="primary" size="small" icon="search" @click="cancelDialog"
>取消
</el-button
>
</div>
</el-dialog>
<el-pagination
:page-size="filterQuery.limit"
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
:current-page="filterQuery.page"
></el-pagination>
</el-card>
</div>
</template>
<script>
import modifyDialog from "./BusTypeChangeModify";
import axios from "axios";
import {addChangeBusType, filterAll, updateChangeBusType, removeBusChange} from "@/api/basic/busChangeType";
export default {
data() {
return {
filterQuery: {
name: "",
page: 1,
limit: 20,
},
addDialogVisible: false,
list: [],
inputQuery: {},
enableMap: {
true: "全量补单",
false: "自动补单",
},
total: 0,
loading: false,
configParms: {},
formMap: {
add: "新增单据流转设置",
update: "编辑单据流转设置",
},
formName: "add",
};
},
methods: {
onReset() {
this.$router.push({
path: "",
});
this.filterQuery = {
name: null,
enable: null,
page: 1,
limit: 20,
};
this.getList();
},
cancelDialog() {
this.addDialogVisible = false;
this.getList();
},
search() {
this.filterQuery.page = 1;
this.getList();
},
getList() {
this.loading = true;
filterAll(this.filterQuery)
.then((response) => {
this.loading = false;
this.list = response.data.list || [];
this.total = response.data.total || 0;
})
.catch(() => {
this.loading = false;
this.list = [];
this.total = 0;
});
},
handleCurrentChange(val) {
this.filterQuery.page = val;
this.getList();
},
onAddSubmit() {
if (this.$isBlank(this.inputQuery.originAction)) {
this.$message.error("原单据类型不能为空!");
return;
}
if (this.$isBlank(this.inputQuery.action)) {
this.$message.error("目标单据类型不能为空!");
return;
}
if (this.$isBlank(this.inputQuery.locSubInv)) {
this.$message.error("目标所在仓库不能为空!");
return;
}
if (this.$isBlank(this.inputQuery.action)) {
this.$message.error("原单据类型不能为空!");
return;
}
if (this.formName == "add") {
let numRegExp = '^[0-9]*$';
let numReg = new RegExp(numRegExp);
if (numReg.test(this.inputQuery.name)) {
this.$message.error("单据类型名称不得为纯数字类型!");
return;
}
this.inputQuery.type = 1; //
addChangeBusType(this.inputQuery)
.then((response) => {
if (response.code == 20000) {
this.loading = false;
this.cancelDialog();
this.getList();
} else {
this.$message.error(response.message);
}
})
.catch(() => {
this.loading = false;
this.cancelDialog();
});
} else {
updateChangeBusType(this.inputQuery)
.then((response) => {
this.loading = false;
this.cancelDialog();
this.getList();
})
.catch(() => {
this.loading = false;
this.cancelDialog();
});
}
},
handleAddClick() {
this.inputQuery = {};
this.formName = "add";
this.addDialogVisible = true;
},
handleModifyClick(row) {
this.inputQuery = row;
this.formName = "update";
this.addDialogVisible = true;
},
handleDeleteClick(row) {
this.deleteDialog(row.id)
},
deleteDialog(rowId) {
this.$confirm("此操作将永久删除该单据类型信息, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
let query = {
id: rowId,
}
removeBusChange(query)
.then((response) => {
if (response.code == 20000) {
this.$message.success("删除成功!");
this.getList();
} else
this.$message.error(response.message);
})
.catch(() => {
});
})
.catch(() => {
});
},
thirdSysChange() {
this.getList();
},
},
components: {
modifyDialog,
},
mounted() {
},
created() {
this.getList();
},
};
</script>

@ -0,0 +1,279 @@
<template>
<div>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="3">
<div class="ao-text">
<span>原单据类型</span>
</div>
</el-col>
<el-col :span="7" class="el-col">
<el-select v-model="inputQuery.originAction" placeholder="请选择" clearable="true" style="width: 80%">
<el-option
v-for="item in originBusTypes"
:key="item.localAction"
:label="item.localName"
:value="item.localAction">
<span style="float: left">{{ item.localName }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.localAction }}</span>
</el-option>
</el-select>
</el-col>
<el-col :span="3">
<div class="ao-text">
<span>目标单据类型</span>
</div>
</el-col>
<el-col :span="7" class="el-col">
<el-select v-model="inputQuery.action" placeholder="请选择" clearable="true" style="width: 80%">
<el-option
v-for="item in targetBusTypes"
:key="item.localAction"
:label="item.localName"
:value="item.localAction">
<span style="float: left">{{ item.localName }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.localAction }}</span>
</el-option>
</el-select>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="3">
<div class="ao-text">
<span>目标所在仓库</span>
</div>
</el-col>
<el-col :span="7" class="el-col">
<el-select v-model="inputQuery.locSubInv" placeholder="目标所在仓库" clearable="true"
@change="invChange" style="width: 80%"
size="small">
<el-option
v-for="item in locInvs"
:key="item.name"
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</el-col>
<el-col :span="3">
<div class="ao-text">
<span>目标往来仓库</span>
</div>
</el-col>
<el-col :span="7" class="el-col">
<el-select v-model="inputQuery.defaultSubInv" placeholder="目标往来仓库" clearable="true" style="width: 80%"
@change="invChange"
size="small">
<el-option
v-for="item in fromInvs"
:key="item.name"
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="3">
<div class="ao-text">
<span>推移时间(小时)</span>
</div>
</el-col>
<el-col :span="7" class="el-col">
<el-input
style="width: 80%"
size="small"
type="number"
splaceholder="请输入内容"
v-model="inputQuery.beforeTime"
></el-input>
</el-col>
<el-col :span="3">
<div class="ao-text">
<span>流转方式</span>
</div>
</el-col>
<el-col :span="7" class="el-col">
<el-select v-model="inputQuery.supplementAll" placeholder="流转方式" style="width: 80%">
<el-option label="全量补单" :value="true"></el-option>
<el-option label="自动补单" :value="false"></el-option>
</el-select>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="3">
<div class="ao-text">
<span>备注</span>
</div>
</el-col>
<el-col :span="7" class="el-col">
<el-input
style="width: 80%"
size="small"
splaceholder="请输入内容"
v-model="inputQuery.intro"
></el-input>
</el-col>
</el-row>
<el-divider></el-divider>
</div>
</template>
<script>
import {
getLocalJoinByUser, getLocalJoinBusType,
} from "../../api/basic/busLocalType";
import {filterSubAll, filterSubByInv} from "@/api/basic/invSubWarehouse";
export default {
name: "BusTypeChangeModify",
props: {
inputQuery: {
type: Object,
required: true,
},
},
data() {
return {
filterQuery: {
enabled: true,
isBuType: true,
},
originBusTypes: [],
targetBusTypes: [],
locInvs: [],
fromInvs: [],
isAdd: false,
}
},
methods: {
getOriginBusType() {
let query = {
enabled: true,
};
getLocalJoinBusType(query)
.then((response) => {
this.originBusTypes = response.data.list || [];
})
.catch(() => {
});
},
getTargetBusType() {
let query = {
invWarehouseCode: this.inputQuery.locSubInv,
enabled: true,
};
getLocalJoinByUser(query)
.then((response) => {
this.targetBusTypes = response.data.list || [];
})
.catch(() => {
});
},
getLocalInv() {
let subQuery = {}
filterSubAll(subQuery).then((res) => {
if (res.code == 20000) {
this.locInvs = res.data;
}
}).catch((error) => {
});
},
invChange(){
this.getTargetBusType();
this.getFromInv();
},
getFromInv() {
let subQuery = {
code:this.inputQuery.locSubInv,
filter:2
}
filterSubByInv(subQuery).then((res) => {
if (res.code == 20000) {
this.fromInvs = res.data;
}
}).catch((error) => {
});
},
},
created() {
if (this.inputQuery.originAction == null) {
this.isAdd = true;
}else {
this.getFromInv();
this.getTargetBusType();
}
this.getOriginBusType();
this.getLocalInv();
},
}
;
</script>
<style scoped>
.itemTag {
float: left;
text-align: left;
margin-top: 10px;
width: 100px;
}
.text {
font-size: 13px;
font-family: "Microsoft YaHei";
}
.el-row {
display: flex;
flex-wrap: wrap;
margin-bottom: 20px;
}
.el-col {
border-radius: 4px;
flex-wrap: wrap;
}
</style>

@ -25,7 +25,7 @@
<el-form-item>
<el-button-group style="margin-left: 10px;display:flex;">
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
<el-button type="primary" icon="search" @click="getList"></el-button>
<el-button type="primary" icon="search" @click="search"></el-button>
<el-button type="primary" icon="search" @click="handleAddClick"
:disabled="!configParms.typeScan"
>新增
@ -147,6 +147,7 @@
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
:current-page="filterQuery.page"
></el-pagination>
</el-card>
</div>
@ -164,6 +165,7 @@ import axios from "axios";
import store from "@/store";
import {getLocalJoinBusType} from "@/api/basic/busLocalType";
import {findConfig} from "@/api/thrsys/spsSyncStatus";
import {isBlank} from "@/utils/strUtil";
export default {
data() {
@ -181,7 +183,7 @@ export default {
inputQuery: {
action: "",
name: "",
enable: "",
enable: null,
remark: "",
mainAction: "",
thirdSysFk: "",
@ -198,6 +200,7 @@ export default {
checkPc: null,
checkWebNew: null,
checkChange: null,
checkCopy: null,
secCheckUdims: null,
secCheckPdaEd: null,
secCheckPdaUn: null,
@ -209,6 +212,7 @@ export default {
checkSp: null,
checkBalacne: null,
secCheckBalacne: null,
secCheckCopy: null,
corpType: null,
storageCode: null,
supplementOrderType: null,
@ -222,6 +226,9 @@ export default {
vailInv: null,
entrutSpms: null,
codeFillCheck: null,
defaultInv: null,
defaultSubInv: null,
orderVisibleType: 0,
},
enableMap: {
true: "是",
@ -237,6 +244,7 @@ export default {
uploadFileUrl: null,
headers: {},
configParms: {},
loading: false,
};
},
@ -259,9 +267,10 @@ export default {
this.modifyDialogVisible = false;
this.addDialogVisible = false;
},
// handleChange() {
// this.getList();
// },
search() {
this.filterQuery.page = 1;
this.getList();
},
getList() {
this.loading = true;
getJoinBussinessType(this.filterQuery)
@ -282,8 +291,16 @@ export default {
},
onAddSubmit() {
if (isBlank(this.inputQuery.name)) {
this.$message.error("扫码单据类型名称不能为空!");
return;
}
if (this.$isBlank(this.inputQuery.corpType)) {
this.$message.error("往来信息类型不能为空!");
return;
}
if (this.inputQuery.enable && this.inputQuery.localAction == "") {
this.$message.error("本地单据不能为空!");
this.$message.error("本地单据类型不能为空!");
return;
}
if (this.inputQuery.mainAction == "" || this.inputQuery.mainAction == null) {
@ -292,9 +309,13 @@ export default {
}
insertBussinessType(this.inputQuery)
.then((response) => {
this.loading = false;
this.cancelDialog();
this.getList();
if (response.code == 20000) {
this.loading = false;
this.cancelDialog();
this.getList();
} else {
this.$message.error(response.message);
}
})
.catch(() => {
this.loading = false;
@ -304,7 +325,7 @@ export default {
onModifySubmit() {
if (this.inputQuery.enable && this.inputQuery.localAction == "") {
this.$message.error("本地单据不能为空!");
this.$message.error("本地单据类型不能为空!");
return;
}
@ -314,9 +335,13 @@ export default {
}
updateBussinessType(this.inputQuery)
.then((response) => {
this.loading = false;
this.cancelDialog();
this.getList();
if (response.code == 20000) {
this.loading = false;
this.cancelDialog();
this.getList();
} else {
this.$message.error(response.message);
}
})
.catch(() => {
this.loading = false;
@ -346,7 +371,7 @@ export default {
handleAddClick() {
this.inputQuery = {enable: true, expireTip: true};
this.inputQuery = {enable: false, expireTip: true};
this.addDialogVisible = true;
},
@ -395,8 +420,12 @@ export default {
vailInv: row.vailInv,
entrutSpms: row.entrutSpms,
codeFillCheck: row.codeFillCheck,
changeEnable: row.changeEnable
changeEnable: row.changeEnable,
defaultSubInv: row.defaultSubInv,
defaultInv: row.defaultInv,
orderVisibleType: row.orderVisibleType,
checkCopy: row.checkCopy,
secCheckCopy: row.secCheckCopy,
};
this.modifyDialogVisible = true;
@ -460,11 +489,9 @@ export default {
});
},
handleChange(response, files, fileList) {
console.log(response);
if (response.code != 20000) {
this.$message.error(response.message);
} else {
// console.log(files[0] + "\n" + this.fileList[0] + "\n" + fileList[0]);
this.$message.success(response.data);
this.getList();
}

@ -19,7 +19,7 @@
<el-form-item>
<el-button-group>
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
<el-button type="primary" icon="search" @click="getList"></el-button>
<el-button type="primary" icon="search" @click="search"></el-button>
<el-button type="primary" icon="search" @click="handleAddClick"
:disabled="!configParms.typeBus"
>新增
@ -34,7 +34,7 @@
<el-table-column label="序号" type="index" width="120" fixed></el-table-column>
<el-table-column label="业务单据类型名称" prop="name" fixed></el-table-column>
<el-table-column label="业务单据类型代码" prop="action" fixed></el-table-column>
<el-table-column label="第三方单据类型" prop="originAction" fixed></el-table-column>
<el-table-column label="第三方单据类型" prop="originName" fixed></el-table-column>
<el-table-column label="是否寄售" prop="advanceType" fixed>
<template slot-scope="scope">
<span>{{ enableMap[scope.row.advanceType] }}</span>
@ -55,6 +55,7 @@
<span>{{ enableMap[scope.row.spUse] }}</span>
</template>
</el-table-column>
<el-table-column label="备注" prop="remark" fixed></el-table-column>
<el-table-column label="操作" fixed="right">
<template slot-scope="scope">
<el-button
@ -66,7 +67,7 @@
>
<el-button
type="text"
size="small"
size="small" :disabled="!configParms.typeBus"
@click.native.stop="deleteDialog(scope.row)"
>删除
</el-button
@ -117,6 +118,14 @@
>
</div>
</el-dialog>
<el-pagination
:page-size="filterQuery.limit"
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
:current-page="filterQuery.page"
></el-pagination>
</el-card>
</div>
</template>
@ -125,6 +134,7 @@
import {getLocalBusType, addLocalBusType, updateLocalBusType, deleteLocalBusType} from "@/api/basic/busLocalType";
import modifyDialog from "./BussinessTypeLoclModify";
import {findConfig} from "@/api/thrsys/spsSyncStatus";
import {isBlank} from "@/utils/strUtil";
export default {
data() {
@ -154,7 +164,7 @@ export default {
changeEnable: null,
spUse: null,
prefix: null,
preIn: null,
preIn: null, supplementAll: false,
},
enableMap: {
true: "是",
@ -184,7 +194,14 @@ export default {
this.modifyDialogVisible = false;
this.addDialogVisible = false;
},
handleCurrentChange(val) {
this.filterQuery.page = val;
this.getList();
},
search() {
this.filterQuery.page = 1;
this.getList();
},
getList() {
this.loading = true;
getLocalBusType(this.filterQuery)
@ -202,6 +219,10 @@ export default {
onAddSubmit() {
if (isBlank(this.inputQuery.name)) {
this.$message.warning("业务单据类型名称为空");
return;
}
addLocalBusType(this.inputQuery)
.then((response) => {
this.loading = false;
@ -222,8 +243,12 @@ export default {
updateLocalBusType(this.inputQuery)
.then((response) => {
this.loading = false;
this.cancelDialog();
this.getList();
if (response.code === 20000) {
this.cancelDialog();
this.getList();
} else {
this.$message.error(response.message);
}
})
.catch(() => {
this.loading = false;
@ -248,6 +273,7 @@ export default {
spUse: row.spUse,
prefix: row.prefix,
preIn: row.preIn,
supplementAll: row.supplementAll,
};
},

@ -36,7 +36,7 @@
<span>第三方单据类型:&nbsp;</span>
</div>
<!-- <el-select v-model="inputQuery.originAction" placeholder="请选择第三方系统单据类型" clearable="true">-->
<!-- <el-select v-model="inputQuery.originAction" placeholder="请选择第三方系统单据类型" clearable="true">-->
<!-- <el-option-->
<!-- v-for="item in originTypes"-->
<!-- :key="item.name"-->
@ -51,7 +51,7 @@
<el-select
v-model="inputQuery.originAction"
filterable
remote
:remote-method="getTypes"
clearable="true"
reserve-keyword
placeholder="请选择第三方系统单据类型"
@ -113,9 +113,8 @@
</el-col>
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.changeEnable" @change="isChangeOrder"
:disabled="!changeEnable || inputQuery.mainAction=='WareHouseIn' || inputQuery.id == null || inputQuery.mainAction==null ||inputQuery.preIn">
缺量自动补单
<el-checkbox v-model="inputQuery.preIn" @change="preInChange"
:disabled="inputQuery.mainAction=='WareHouseOut' || inputQuery.mainAction==null">预验收
</el-checkbox>
</div>
</el-col>
@ -124,13 +123,22 @@
<el-checkbox v-model="inputQuery.spUse">使</el-checkbox>
</div>
</el-col>
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.preIn" @change="preInChange"
:disabled="inputQuery.mainAction=='WareHouseOut' || inputQuery.mainAction==null">预验收
</el-checkbox>
</div>
</el-col>
<!-- <el-col :span="4" class="el-col">-->
<!-- <div class="text item">-->
<!-- <el-checkbox v-model="inputQuery.changeEnable" @change="isChangeOrder"-->
<!-- :disabled="!changeEnable || inputQuery.mainAction=='WareHouseIn' || inputQuery.id == null || inputQuery.mainAction==null ||inputQuery.preIn">-->
<!-- 自动补单-->
<!-- </el-checkbox>-->
<!-- </div>-->
<!-- </el-col>-->
<!-- <el-col :span="4" class="el-col">-->
<!-- <div class="text item">-->
<!-- <el-checkbox v-model="inputQuery.supplementAll"-->
<!-- :disabled="!inputQuery.changeEnable">全量补单-->
<!-- </el-checkbox>-->
<!-- </div>-->
<!-- </el-col>-->
<!-- <el-col :span="4" class="el-col">
<div class="text item">
@ -139,7 +147,7 @@
</el-col>-->
</el-row>
<div v-if="visibleChange">
<!-- <div v-if="visibleChange">-->
<!-- <div style="float:right;margin-bottom: 10px">-->
<!-- <el-button-->
@ -150,34 +158,26 @@
<!-- </el-button-->
<!-- >-->
<!-- </div>-->
<el-table border style="margin-bottom: 20px;margin-top: 10px" :data="changeList">
<el-table-column label="序号" type="index" width="55"></el-table-column>
<el-table-column label="补单说明" prop="intro"></el-table-column>
<!-- <el-table-column label="补单单据类型代码" prop="action"></el-table-column>-->
<el-table-column label="补单扫码单据类型" prop="name"></el-table-column>
<el-table-column label="推前时长(小时)" prop="beforeTime"></el-table-column>
<el-table-column label="备注" prop="remark"></el-table-column>
<el-table-column label="操作" fixed="right">
<template slot-scope="scope">
<el-button
type="text"
size="small"
@click.native.stop="handleModifyClick(scope.row)"
>编辑
</el-button
>
<!-- <el-button-->
<!-- type="text"-->
<!-- size="small"-->
<!-- @click.native.stop="deleteClick(scope.row)"-->
<!-- >删除-->
<!-- </el-button-->
<!-- >-->
</template>
</el-table-column>
</el-table>
</div>
<!-- <el-table border style="margin-bottom: 20px;margin-top: 10px" :data="changeList">-->
<!-- <el-table-column label="补单扫码单据类型" prop="name"></el-table-column>-->
<!-- <el-table-column label="推前时长(小时)" prop="beforeTime"></el-table-column>-->
<!-- <el-table-column label="补单默认仓库" prop="defautInvName"></el-table-column>-->
<!-- <el-table-column label="补单默认分库" prop="defautSubInvName"></el-table-column>-->
<!-- <el-table-column label="备注" prop="remark"></el-table-column>-->
<!-- <el-table-column label="操作" fixed="right">-->
<!-- <template slot-scope="scope">-->
<!-- <el-button-->
<!-- type="text"-->
<!-- size="small"-->
<!-- @click.native.stop="handleModifyClick(scope.row)"-->
<!-- >编辑-->
<!-- </el-button-->
<!-- >-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- </el-table>-->
<!-- </div>-->
<el-dialog
:title="formMap[changeEdit]"
:visible.sync="editChangeTypeVisible"
@ -220,6 +220,47 @@
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>补单默认仓库:&nbsp;</span>
</div>
<el-select v-model="editQuery.defaultInv" placeholder="默认仓库" clearable="true"
@change="invChange"
size="small">
<el-option
v-for="item in storageList"
:key="item.name"
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</div>
</el-col>
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>补单默认分库:&nbsp;</span>
</div>
<el-select v-model="editQuery.defaultSubInv" placeholder="默认分库" clearable="true"
size="small">
<el-option
v-for="item in subInvList"
:key="item.name"
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<div class="text item">
@ -235,6 +276,19 @@
></el-input>
</div>
</el-col>
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>备注:&nbsp;</span>
</div>
<el-input
style="width: 200px"
size="small"
splaceholder="请输入内容"
v-model="editQuery.remark"
></el-input>
</div>
</el-col>
</el-row>
<div slot="footer" class="dialog-footer">
<el-button @click.native="hideForm" size="small">取消</el-button>
@ -261,6 +315,8 @@ import {
deleteChangeBusType,
updateChangeBusType, removeBusChange
} from "../../api/basic/busChangeType";
import {filterAll} from "@/api/basic/invWarehouse";
import {filterSubByInv} from "@/api/basic/invSubWarehouse";
export default {
name: "inputQuery",
@ -297,6 +353,8 @@ export default {
changeList: [],
visibleChange: false,
loading: false,
storageList: [],
subInvList: [],
}
},
methods: {
@ -330,7 +388,9 @@ export default {
getTypes(query) {
let tQuery = {
key: query,
onlyMain: true,
}
getOriginBusType(tQuery)
.then((response) => {
this.originTypes = response.data.list || [];
@ -339,9 +399,10 @@ export default {
});
this.getBusTypes();
},
findMethod(query){
findMethod(query) {
let tQuery = {
key: query,
onlyMain: true,
}
getOriginBusType(tQuery)
.then((response) => {
@ -388,9 +449,10 @@ export default {
,
handleModifyClick(row) {
this.changeEdit = 1;
this.editQuery = row;
this.editQuery = JSON.parse(JSON.stringify(row));
this.editChangeTypeVisible = true;
this.getBusTypes();
this.findDefaultSubInv();
}
,
hideForm() {
@ -410,8 +472,12 @@ export default {
} else {
updateChangeBusType(this.editQuery)
.then((response) => {
this.editChangeTypeVisible = false;
this.getList();
if (response.code == 999) {
this.$message.error(response.message);
} else {
this.editChangeTypeVisible = false;
this.getList();
}
})
.catch(() => {
});
@ -432,25 +498,59 @@ export default {
}
,
advanceChange() {
if (this.inputQuery.advanceType) {
this.inputQuery.preIn = false;
}
},
isChangeOrder() {
console.log("this.inputQuery.changeEnable = " + this.inputQuery.changeEnable);
if (this.inputQuery.changeEnable) {
this.query.type = "changeEnable";
this.getList()
} else {
this.visibleChange = false;
this.removeBusChangeType();
this.inputQuery.supplementAll = false;
}
}
,
supplementChange() {
},
getStorage() {
this.storageList = [];
filterAll()
.then((response) => {
this.storageList = response.data || [];
this.findDefaultSubInv();
})
.catch(() => {
});
},
findDefaultSubInv() {
this.subInvList = [];
let query = {
pcode: this.editQuery.defaultInv
};
filterSubByInv(query)
.then((response) => {
this.subInvList = response.data || [];
})
.catch(() => {
});
},
invChange() {
this.editQuery.defaultSubInv = null;
this.findDefaultSubInv();
},
},
created() {
this.getTypes();
this.getList();
this.getStorage();
}
,
}
;
</script>

@ -171,7 +171,38 @@
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="20" class="el-col">
<!-- <el-col :span="10" class="el-col">-->
<!-- <div class="text item">-->
<!-- <div class="itemTag">-->
<!-- <span>补单默认仓库:&nbsp;</span>-->
<!-- </div>-->
<!-- <el-select v-model="inputQuery.defaultInv" placeholder="默认仓库" clearable="true"-->
<!-- @change="invChange"-->
<!-- style="width: 30%"-->
<!-- size="small">-->
<!-- <el-option-->
<!-- v-for="item in storageList"-->
<!-- :key="item.name"-->
<!-- :label="item.name"-->
<!-- :value="item.code">-->
<!-- <span style="float: left">{{ item.name }}</span>-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- <el-select v-model="inputQuery.defaultSubInv" placeholder="默认分库" clearable="true"-->
<!-- style="width: 30%"-->
<!-- size="small">-->
<!-- <el-option-->
<!-- v-for="item in subInvList"-->
<!-- :key="item.name"-->
<!-- :label="item.name"-->
<!-- :value="item.code">-->
<!-- <span style="float: left">{{ item.name }}</span>-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </div>-->
<!-- </el-col>-->
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>备注:&nbsp;</span>
@ -192,30 +223,40 @@
<div class="text item" style="margin-top: 6px">
<el-checkbox v-model="inputQuery.enable"></el-checkbox>
<!-- <el-checkbox v-model="inputQuery.innerOrder"></el-checkbox>-->
<el-checkbox v-model="inputQuery.enable" :disabled="inputQuery.localAction==null"></el-checkbox>
<el-checkbox v-model="inputQuery.genUnit" :disabled="inputQuery.corpType !=2">
</el-checkbox>
<el-checkbox v-model="inputQuery.useDyCount" :disabled="true">使
<el-checkbox v-model="inputQuery.useDyCount" :disabled="inputQuery.corpType !=2">使
</el-checkbox>
<el-checkbox v-model="inputQuery.outTospms" >手持终端提交单据至自助平
<el-checkbox v-model="inputQuery.outTospms">
</el-checkbox>
<el-checkbox v-model="inputQuery.entrutSpms" >允许验收自助平台单
<el-checkbox v-model="inputQuery.entrutSpms">
</el-checkbox>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="24" class="el-col">
<span style="margin-left: 15px">单据详情展示方式:</span>
<el-select v-model="inputQuery.orderVisibleType" style="margin-left: 5px"
placeholder="单据详情展示方式"
size="mini">
<el-option label="批次号" :value=0></el-option>
<el-option label="条码清单" :value=1></el-option>
</el-select>
</el-col>
</el-row>
<el-divider></el-divider>
<span>单据默认选项</span>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="24" class="el-col">
<div class="text item" style="margin-top: 12px">
<el-checkbox v-model="inputQuery.ullageFill" :disabled="!inputQuery.changeEnable">
<el-checkbox v-model="inputQuery.ullageFill" :disabled="!inputQuery.changeEnable">
</el-checkbox>
<el-checkbox v-model="inputQuery.scanPreIn" :disabled="inputQuery.corpType!='2'">
<el-checkbox v-model="inputQuery.scanPreIn" :disabled="inputQuery.corpType!='2'">
</el-checkbox>
<el-checkbox v-model="inputQuery.vailInv">
<el-checkbox v-model="inputQuery.vailInv" :disabled="inputQuery.mainAction!='WareHouseOut'">
</el-checkbox>
<el-checkbox v-model="inputQuery.codeFillCheck">UDI
</el-checkbox>
@ -299,7 +340,7 @@
</el-col>
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.checkChange" :disabled="!inputQuery.checkEnable">
<el-checkbox v-model="inputQuery.checkChange" :disabled="!inputQuery.checkEnable">
</el-checkbox>
</div>
</el-col>
@ -309,6 +350,12 @@
</el-checkbox>
</div>
</el-col>
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.checkCopy" :disabled="!inputQuery.checkEnable">
</el-checkbox>
</div>
</el-col>
</el-row>
<el-divider></el-divider>
@ -370,7 +417,7 @@
</el-col>
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.secCheckChange" :disabled="!inputQuery.secCheckEnable">
<el-checkbox v-model="inputQuery.secCheckChange" :disabled="!inputQuery.secCheckEnable">
</el-checkbox>
</div>
</el-col>
@ -380,6 +427,12 @@
</el-checkbox>
</div>
</el-col>
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.secCheckCopy" :disabled="!inputQuery.secCheckEnable">
</el-checkbox>
</div>
</el-col>
</el-row>
<el-divider></el-divider>
@ -398,9 +451,10 @@ import {
import {filterAll, filterAllByUser} from "@/api/basic/invWarehouse";
import {getCandidateBussinessType} from "../../api/basic/bussinessType";
import {getBasicUnitMaintains} from "@/api/basic/basicUnitMaintain";
import {filterSubByInv} from "@/api/basic/invSubWarehouse";
export default {
name: "inputQuery",
name: "BussinessTypeModify",
props: {
inputQuery: {
type: Object,
@ -416,6 +470,7 @@ export default {
isFilterBind: true,
},
storageList: [],
subInvList: [],
orderTypeList: [],
fromSpecialOptions: [],
thirdSys: [],
@ -442,7 +497,10 @@ export default {
},
methods: {
getList() {
getOriginBusType()
let originQuery = {
onlyMain: true,
};
getOriginBusType(originQuery)
.then((response) => {
this.originTypes = response.data.list || [];
})
@ -473,6 +531,24 @@ export default {
filterAll()
.then((response) => {
this.storageList = response.data || [];
this.findDefaultSubInv();
})
.catch(() => {
});
},
invChange() {
if (this.$isNotBlank(this.inputQuery.defaultSubInv))
this.inputQuery.defaultSubInv = null;
this.findDefaultSubInv();
},
findDefaultSubInv() {
this.subInvList = [];
let query = {
pcode: this.inputQuery.defaultInv
};
filterSubByInv(query)
.then((response) => {
this.subInvList = response.data || [];
})
.catch(() => {
});
@ -503,6 +579,7 @@ export default {
,
//
getOrderType() {
this.orderTypeList = [];
let query = {
mainAction: this.inputQuery.mainAction,

@ -27,14 +27,15 @@
<el-form-item>
<el-button-group style="margin-left: 10px;display:flex;">
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
<el-button type="primary" icon="search" @click="getList"></el-button>
<el-button type="primary" icon="search" @click="search"></el-button>
<el-button type="primary" icon="search" @click="handleAddClick"
:disabled="!configParms.typeBus"
:disabled="!configParms.typeThird"
>新增
</el-button
>
<el-button type="primary" icon="search" @click="updateDownload"
v-if="this.thirdSysDetail.enabled && this.thirdSysDetail.fromType==3"
:disabled="!configParms.typeThird"
>更新下载
</el-button>
</el-button-group>
@ -58,7 +59,7 @@
<el-button
type="text"
size="small"
:disabled="!configParms.typeBus"
:disabled="!configParms.typeThird"
@click.native.stop="handleModifyClick(scope.row)"
>编辑
</el-button
@ -66,7 +67,7 @@
<el-button
type="text"
size="small"
:disabled="!configParms.typeBus"
:disabled="!configParms.typeThird"
@click.native.stop="handleDeleteClick(scope.row)"
>删除
</el-button
@ -121,6 +122,7 @@
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
:current-page="filterQuery.page"
></el-pagination>
</el-card>
</div>
@ -136,6 +138,7 @@ import modifyDialog from "./BussinessTypeThirdModify";
import axios from "axios";
import {filterDetailByKey, getBasicThirdSys} from "@/api/basic/basicThirdSys";
import {findConfig} from "@/api/thrsys/spsSyncStatus";
import {isBlank} from "@/utils/strUtil";
export default {
data() {
@ -168,7 +171,7 @@ export default {
uploadFileUrl: null,
loading: false,
thirdSysDetail: {},
configParms:{},
configParms: {},
};
},
@ -190,7 +193,10 @@ export default {
this.modifyDialogVisible = false;
this.addDialogVisible = false;
},
search() {
this.filterQuery.page = 1;
this.getList();
},
getList() {
this.loading = true;
getOriginBusType(this.filterQuery)
@ -246,15 +252,37 @@ export default {
onAddSubmit() {
if (this.$isBlank(this.inputQuery.action)) {
if (isBlank(this.inputQuery.action)) {
this.$message.error("单据类型代码不能为空!");
return;
}
if (isBlank(this.inputQuery.name)) {
this.$message.error("单据类型名称不能为空!");
return;
}
if (isBlank(this.inputQuery.thirdSys)) {
this.$message.error("第三方系统不能为空");
return;
}
let numRegExp = '^[0-9]*$';
let numReg = new RegExp(numRegExp);
if (numReg.test(this.inputQuery.name)) {
this.$message.error("单据类型名称不得为纯数字类型!");
return;
}
insertBussinessType(this.inputQuery)
.then((response) => {
this.loading = false;
this.cancelDialog();
this.getList();
if (response.code === 20000) {
this.loading = false;
this.cancelDialog();
this.getList();
} else {
this.$message.error(response.message);
}
})
.catch(() => {
this.loading = false;
@ -263,15 +291,34 @@ export default {
},
onModifySubmit() {
if (this.$isBlank(this.inputQuery.name)) {
this.$message.error("单据类型名称不能为空!");
return;
}
if (this.$isBlank(this.inputQuery.action)) {
this.$message.error("单据类型代码不能为空!");
return;
}
if (this.$isBlank(this.inputQuery.thirdSys)) {
this.$message.error("所属系统不不能为空!");
return;
}
let numRegExp = '^[0-9]*$';
let numReg = new RegExp(numRegExp);
if (numReg.test(this.inputQuery.name)) {
this.$message.error("单据类型名称不得为纯数字类型!");
return;
}
updateBussinessType(this.inputQuery)
.then((response) => {
this.loading = false;
this.cancelDialog();
this.getList();
if (response.code === 20000) {
this.loading = false;
this.cancelDialog();
this.getList();
} else {
this.$message.error(response.message);
}
})
.catch(() => {
this.loading = false;
@ -368,11 +415,9 @@ export default {
});
},
handleChange(response, files, fileList) {
console.log(response);
if (response.code != 20000) {
this.$message.error(response.message);
} else {
// console.log(files[0] + "\n" + this.fileList[0] + "\n" + fileList[0]);
this.$message.success(response.data);
this.getList();
}

@ -1,156 +1,159 @@
<template>
<div>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>单据类型名称:&nbsp;</span>
</div>
<el-input
style="width: 200px"
size="small"
splaceholder="请输入内容"
:disabled="!isAdd"
v-model="inputQuery.name"
></el-input>
</div>
</el-col>
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>单据类型代码:&nbsp;</span>
</div>
<el-input
style="width: 200px"
:disabled="!isAdd"
size="small"
splaceholder="请输入内容"
v-model="inputQuery.action"
></el-input>
</div>
</el-col>
</el-row>
<div>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>单据类型名称:&nbsp;</span>
</div>
<el-input
style="width: 200px"
size="small"
clearable
splaceholder="请输入内容"
:disabled="!isAdd"
v-model.trim="inputQuery.name"
></el-input>
</div>
</el-col>
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>单据类型代码:&nbsp;</span>
</div>
<el-input
style="width: 200px"
:disabled="!isAdd"
clearable
size="small"
splaceholder="请输入内容"
v-model.trim="inputQuery.action"
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>第三方系统:&nbsp;</span>
</div>
<el-select v-model="inputQuery.thirdSys" placeholder="请选择" clearable="true">
<el-option
v-for="item in thirdSys"
:key="item.value"
:label="item.thirdName"
:value="item.thirdId">
<span style="float: left">{{ item.thirdName }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.thirdId }}</span>
</el-option>
</el-select>
</div>
</el-col>
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>备注:&nbsp;</span>
</div>
<el-input
style="width: 200px"
size="small"
splaceholder="请输入内容"
v-model="inputQuery.remark"
></el-input>
</div>
</el-col>
</el-row>
></el-input>
</div>
</el-col>
</el-row>
<el-divider></el-divider>
</div>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>第三方系统:&nbsp;</span>
</div>
<el-select v-model="inputQuery.thirdSys" placeholder="请选择" clearable="true">
<el-option
v-for="item in thirdSys"
:key="item.value"
:label="item.thirdName"
:value="item.thirdId">
<span style="float: left">{{ item.thirdName }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.thirdId }}</span>
</el-option>
</el-select>
</div>
</el-col>
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>备注:&nbsp;</span>
</div>
<el-input
style="width: 200px"
size="small"
splaceholder="请输入内容"
v-model="inputQuery.remark"
></el-input>
</div>
</el-col>
</el-row>
<el-divider></el-divider>
</div>
</template>
<script>
import {
getBasicThirdSys,
getBasicThirdSys,
} from "../../api/basic/basicThirdSys";
import {
getLocalBusType,
getLocalBusType,
} from "../../api/basic/busLocalType";
export default {
name: "inputQuery",
props: {
inputQuery: {
type: Object,
required: true,
},
name: "inputQuery",
props: {
inputQuery: {
type: Object,
required: true,
},
},
data() {
return {
filterQuery: {
enabled: true,
isBuType: true,
},
thirdSys: [],
localTypes: [],
isAdd: false,
value: "",
}
data() {
return {
filterQuery: {
enabled: true,
isBuType: true,
},
thirdSys: [],
localTypes: [],
isAdd: false,
value: "",
}
},
methods: {
getList() {
getBasicThirdSys(this.filterQuery)
.then((response) => {
this.thirdSys = response.data.list || [];
})
.catch(() => {
this.loading = false;
this.list = [];
});
getLocalBusType(this.filterQuery)
.then((response) => {
this.localTypes = response.data.list || [];
})
.catch(() => {
this.loading = false;
this.localTypes = [];
});
},
methods: {
getList() {
getBasicThirdSys(this.filterQuery)
.then((response) => {
this.thirdSys = response.data.list || [];
})
.catch(() => {
this.loading = false;
this.list = [];
});
getLocalBusType(this.filterQuery)
.then((response) => {
this.localTypes = response.data.list || [];
})
.catch(() => {
this.loading = false;
this.localTypes = [];
});
},
},
},
created() {
if (this.inputQuery.action == "") {
this.isAdd = true;
}
this.getList();
},
created() {
if (this.inputQuery.action == "") {
this.isAdd = true;
}
this.getList();
},
};
</script>
<style scoped>
.itemTag {
float: left;
text-align: left;
margin-top: 10px;
width: 100px;
float: left;
text-align: left;
margin-top: 10px;
width: 100px;
}
.text {
font-size: 13px;
font-family: "Microsoft YaHei";
font-size: 13px;
font-family: "Microsoft YaHei";
}
.el-row {
display: flex;
flex-wrap: wrap;
margin-bottom: 20px;
display: flex;
flex-wrap: wrap;
margin-bottom: 20px;
}
.el-col {
border-radius: 4px;
flex-wrap: wrap;
border-radius: 4px;
flex-wrap: wrap;
}
</style>

@ -90,6 +90,7 @@
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
:current-page="filterQuery.page"
></el-pagination>
</div>
</template>

@ -84,6 +84,7 @@
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
:current-page="filterQuery.page"
></el-pagination>
</div>
</template>

@ -111,6 +111,7 @@
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
:current-page="filterQuery.page"
></el-pagination>
</div>
</template>

@ -83,6 +83,7 @@
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
:current-page="filterQuery.page"
></el-pagination>
</el-card>

@ -24,7 +24,7 @@
type="primary"
icon="search"
width="1200px"
@click="getList"
@click="search"
>查询
</el-button
>
@ -115,6 +115,7 @@
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
:current-page="query.page"
></el-pagination>
<el-dialog
@ -172,7 +173,7 @@
<el-button
type="text"
size="small"
@click="intentSelect(scope.row)" :disabled="!configParms.basicCorp"
@click="intentSelect(scope.row)" :disabled="!configParms.basicCorp"
>关联
</el-button
>
@ -302,7 +303,9 @@
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click.native="hideForm">取消</el-button>
<el-button type="primary" @click.native="formSubmit()" :loading="formLoading" :disabled="!configParms.basicCorp">提交</el-button>
<el-button type="primary" @click.native="formSubmit()" :loading="formLoading"
:disabled="!configParms.basicCorp">提交
</el-button>
</div>
</el-dialog>
</div>
@ -369,10 +372,15 @@ export default {
value: 2,
label: "供应商"
},
{
value: 5,
label: "医院客户"
},
{
value: 4,
label: "特殊往来"
}
],
formRules: {
// name: [
@ -391,6 +399,7 @@ export default {
selectSingleUnitVisible: false,
list: [],
sysList: [],
loading:false,
total: 0,
multipleSelection: [],
thirdSys: [],
@ -412,13 +421,16 @@ export default {
};
this.getList();
},
search() {
this.query.page = 1;
this.getList();
},
getList() {
this.loading = true;
this.erpIdColumn = false;
this.thirdIdColumn = false;
getBasicUnitMaintains(this.query)
.then((response) => {
console.log(response)
this.loading = false;
this.erpIdColumn = response.data.BUMErpIdValue == "1" ? true : false;
this.thirdIdColumn = response.data.BUMThirdIdValue == "1" ? true : false;
@ -445,6 +457,7 @@ export default {
hideForm() {
//
this.formVisible = !this.formVisible;
this.getList();
return true;
},
//
@ -459,35 +472,30 @@ export default {
this.editQuery = row;
} else {
this.editQuery =
{
id: "",
thirdId:
"",
erpId:
"",
name:
"",
spell:
"",
addr:
"",
status:
"",
type:
"",
creditNo:
"",
contact:
"",
mobile:
""
};
this.editQuery = {
id: "",
thirdId: "",
erpId: "",
name: "",
spell: "",
addr: "",
status: "",
type: "",
creditNo: "",
contact: "",
mobile: ""
};
}
this.getThirdSysDetail();
},
formSubmit() {
if (this.$isBlank(this.editQuery.corpType)) {
this.$message.error("往来单位类型不能为空!");
return;
}
this.$refs["dataForm"].validate(valid => {
if (valid) {
this.formLoading = true;
@ -503,7 +511,6 @@ export default {
this.editQuery.thirdName4 = null;
let data = Object.assign({}, this.editQuery);
console.log('------2------');
basicUnitMaintainSave(data, this.formName)
.then(response => {
this.formLoading = false;

@ -0,0 +1,159 @@
<template>
<div>
<el-card class="el-card">
<div>
<el-form :inline="true" :model="query" style="display: flex" size="mini">
<el-form-item class="query-form-item">
<el-input v-model="query.key" placeholder="搜索" style="width: 300px" clearable="true"></el-input>
</el-form-item>
<el-form-item style="display: flex">
<el-button-group>
<el-button type="primary" icon="search" @click="getList"></el-button>
<el-button type="primary" size="mini" icon="search" @click="combine"
:loading="combineLoading"
>选入
</el-button>
</el-button-group>
</el-form-item>
</el-form>
<el-table
v-loading="loading"
:data="list"
highlight-current-row
@current-change="handleSelectChange"
style="width: 100%"
>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column
label="往来单位编码"
prop="erpId"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="第三方主系统ID"
prop="thirdId"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="名称"
prop="name"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="简写"
prop="spell"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="社会信用号"
prop="creditNo"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="地址"
prop="addr"
show-overflow-tooltip
></el-table-column>
</el-table>
</div>
</el-card>
<el-pagination
:page-size="query.limit"
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
:current-page="query.page"
></el-pagination>
</div>
</template>
<script>
import {combineSingle, getBasicUnitMaintains} from "../../api/basic/basicUnitMaintain";
export default {
name: "combinType",
props: {
closeDialog: {
type: Function,
required: true,
},
},
data() {
return {
query: {
key: "",
page: 1,
limit: 20,
},
total: 0,
loading: false,
list: [],
currentRow: null,
combineLoading: false,
};
},
methods: {
handlepageChange(val) {
this.unitQuery.page = val;
this.getList();
},
handleErppageChange(val) {
this.erpQuery.page = val;
this.getErpList();
},
onReset() {
this.$router.push({
path: "",
});
this.query = {
key: "",
page: 1,
limit: 20,
};
this.getList();
},
getList() {
this.loading = true;
getBasicUnitMaintains(this.query)
.then((response) => {
this.loading = false;
this.list = response.data.page.list || [];
this.total = response.data.page.total || 0;
})
.catch(() => {
this.loading = false;
this.list = [];
this.total = 0;
});
},
handleSelectChange(val) {
this.currentRow = val;
},
handleCurrentChange(val) {
this.query.page = val;
this.getList();
},
combine() {
this.closeDialog(this.currentRow);
},
handleSelectionUdiChange(val) {
console.log("----" + val[0].id);
this.multipleUdiSelection = val;
},
},
created() {
},
};
</script>
<style scoped>
</style>

@ -56,17 +56,10 @@
<div>
<el-form :inline="true" :model="unitQuery" style="display: flex" size="mini">
<!-- <el-form-item class="query-form-item">-->
<!-- <el-input-->
<!-- v-model="unitQuery.unitId"-->
<!-- placeholder="往来单位编码"-->
<!-- clearable-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<el-form-item class="query-form-item">
<el-input
v-model="unitQuery.name"
placeholder="往来单位"
v-model="unitQuery.unitId"
placeholder="往来单位编码"
clearable
></el-input>
</el-form-item>
@ -84,7 +77,8 @@
</el-form-item>
<el-form-item style="display: flex">
<el-button-group>
<el-button type="primary" icon="search" @click="getList"></el-button>
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
<el-button type="primary" icon="search" @click="search"></el-button>
<el-button type="primary" size="mini" icon="search" @click="combine"
>选入
</el-button>
@ -127,6 +121,7 @@
@current-change="handlepageChange"
layout="prev, pager, next"
:total="total"
:current-page="unitQuery.page"
></el-pagination>
</div>
</template>
@ -162,6 +157,18 @@ export default {
};
},
methods: {
onReset() {
this.$router.push({
path: "",
});
this.unitQuery = {
key: "",
page: 1,
limit: 10,
thirdSys: null,
};
this.getList();
},
handlepageChange(val) {
this.unitQuery.page = val;
this.getList();
@ -173,12 +180,15 @@ export default {
checkSelectable(row) {
return !row.checked;
},
search() {
this.unitQuery.page = 1;
this.getList();
},
getList() {
this.loading = true;
this.unitQuery.thirdSys = this.thirdSysFk;
ucloudUnit(this.unitQuery)
.then((response) => {
console.log(response);
this.loading = false;
if (response.code == 20000) {
@ -210,6 +220,7 @@ export default {
.then((response) => {
this.thirdSys = response.data.list || [];
this.thirdSysFk = this.thirdSys[0].thirdId;
this.getList();
})
.catch(() => {
this.loading = false;
@ -228,7 +239,6 @@ export default {
}
this.combineQuery.thirdSys = this.thirdSysFk;
this.combineQuery.custmandocResponses = ids;
console.log(ids);
combine(this.combineQuery)
.then((response) => {
if (response.code == 20000) {
@ -269,13 +279,11 @@ export default {
},
handleCurrentChange(val) {
console.log(val);
this.currentRow = val;
this.unitQuery.key = this.currentRow.name;
},
handleSelectionUdiChange(val) {
console.log("----" + val[0].id);
this.multipleUdiSelection = val;
},
},

@ -95,6 +95,7 @@
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
:current-page="query.page"
></el-pagination>

@ -77,7 +77,8 @@
</el-form-item>
<el-form-item style="display: flex">
<el-button-group>
<el-button type="primary" icon="search" @click="getList"></el-button>
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
<el-button type="primary" icon="search" @click="searchList"></el-button>
<el-button type="primary" size="mini" icon="search" @click="combine"
:loading="combineLoading"
>选入
@ -118,6 +119,7 @@
@current-change="handlepageChange"
layout="prev, pager, next"
:total="total"
:current-page="unitQuery.page"
></el-pagination>
</div>
</template>
@ -172,6 +174,20 @@ export default {
this.erpQuery.page = val;
this.getErpList();
},
searchList() {
this.unitQuery.page = 1;
this.getList();
},
onReset() {
this.unitQuery = {
page: 1,
limit: 10,
key: "",
thirdSys: null,
}
this.total = 0;
this.getList();
},
getList() {
this.loading = true;
this.unitQuery.thirdSys = this.thirdSysFk;
@ -230,7 +246,7 @@ export default {
this.$message.warning("未选择往来单位!");
return;
}
if( this.combineQuery.erpUnitsResponse.checked == true){
if (this.combineQuery.erpUnitsResponse.checked == true) {
this.$message.warning("该往来单位已被关联,不能重复选入!");
return;
}

@ -0,0 +1,304 @@
<template>
<div>
<el-card>
<el-form :inline="true" :model="filterQuery" class="query-form" size="mini">
<el-form-item class="query-form-item">
<el-input
v-model="filterQuery.originName"
placeholder="单据类型名称"
style="width: 200px"
></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-input
v-model="filterQuery.originAction"
placeholder="单据类型代码"
style="width: 200px"
></el-input>
</el-form-item>
<!-- <el-form-item class="query-form-item">-->
<!-- <el-select v-model="filterQuery.type">-->
<!-- <el-option v-for="(item,index) in typeMap" :key="index" :label="item" :value="index">-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item>
<el-button-group style="margin-left: 10px;display:flex;">
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
<el-button type="primary" icon="search" @click="search"></el-button>
<el-button type="primary" icon="search" @click="handleAddClick"
>新增
</el-button
>
</el-button-group>
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="list" style="width: 100%">
<el-table-column label="序号" type="index" width="55"></el-table-column>
<el-table-column label="领用类型名称" prop="originName"></el-table-column>
<el-table-column label="领用类型代码" prop="originAction"></el-table-column>
<el-table-column label="目标业务单据类型" prop="targetBusName"></el-table-column>
<el-table-column label="类型" prop="type">
<template slot-scope="scope">
<span>{{ typeMap[scope.row.type] }}</span>
</template>
</el-table-column>
<el-table-column label="状态" prop="enable">
<template slot-scope="scope">
<span>{{ enableMap[scope.row.enable] }}</span>
</template>
</el-table-column>
<el-table-column label="备注" prop="remark"></el-table-column>
<el-table-column label="操作" width="100" fixed="right">
<template slot-scope="scope">
<el-button
type="text"
size="small"
@click.native.stop="handleModifyClick(scope.row)"
>编辑
</el-button
>
<el-button
type="text"
size="small"
:disabled="scope.row.systemDefault"
@click.native.stop="handleDeleteClick(scope.row)"
>删除
</el-button
>
</template>
</el-table-column>
</el-table>
<el-dialog
:title="formMap[formName]"
:visible.sync="addDialogVisible"
width="70%"
:close-on-click-modal="false"
:close-on-press-escape="false"
v-if="addDialogVisible"
>
<modifyDialog :inputQuery="inputQuery"></modifyDialog>
<div style="text-align: center">
<el-button type="primary" size="small" icon="search" @click="onAddSubmit"
>提交
</el-button
>
<el-button type="primary" size="small" icon="search" @click="cancelDialog"
>取消
</el-button
>
</div>
</el-dialog>
<el-pagination
:page-size="filterQuery.limit"
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
:current-page="filterQuery.page"
></el-pagination>
</el-card>
</div>
</template>
<script>
import {
getBusChange,
updateBusChange, delBusChange,
insertBusChange
} from "../../api/basic/busTypeChange";
import modifyDialog from "./OtherTypeChangeModify";
import axios from "axios";
export default {
data() {
return {
filterQuery: {
name: "",
page: 1,
limit: 20,
},
addDialogVisible: false,
list: [],
inputQuery: {},
enableMap: {
true: "禁用",
false: "启用",
},
typeMap: {
1: "耗材领用",
2: "产品申购",
3: "采购计划",
},
total: 0,
loading: false,
configParms: {},
formMap: {
add: "新增单据流转设置",
update: "编辑单据流转设置",
},
formName: "add",
};
},
methods: {
onReset() {
this.$router.push({
path: "",
});
this.filterQuery = {
name: null,
enable: null,
page: 1,
limit: 20,
};
this.getList();
},
cancelDialog() {
this.addDialogVisible = false;
},
search() {
this.filterQuery.page = 1;
this.getList();
},
getList() {
this.loading = true;
getBusChange(this.filterQuery)
.then((response) => {
this.loading = false;
this.list = response.data.list || [];
this.total = response.data.total || 0;
})
.catch(() => {
this.loading = false;
this.list = [];
this.total = 0;
});
},
handleCurrentChange(val) {
this.filterQuery.page = val;
this.getList();
},
onAddSubmit() {
if (this.$isBlank(this.inputQuery.originName)) {
this.$message.error("单据类型名称不能为空!");
return;
}
if (this.$isBlank(this.inputQuery.originAction)) {
this.$message.error("单据类型代码不能为空!");
return;
}
if (this.$isBlank(this.inputQuery.targetBusAction)) {
this.$message.error("目标单据类型不能为空!");
return;
}
// if (this.$isBlank(this.inputQuery.type)) {
// this.$message.error("");
// return;
// }
if (this.$isBlank(this.inputQuery.enable)) {
this.$message.error("请选择启用状态!");
return;
}
if (this.formName == "add") {
let numRegExp = '^[0-9]*$';
let numReg = new RegExp(numRegExp);
if (numReg.test(this.inputQuery.name)) {
this.$message.error("单据类型名称不得为纯数字类型!");
return;
}
this.inputQuery.type = 1; //
insertBusChange(this.inputQuery)
.then((response) => {
if (response.code == 20000) {
this.loading = false;
this.cancelDialog();
this.getList();
} else {
this.$message.error(response.message);
}
})
.catch(() => {
this.loading = false;
this.cancelDialog();
});
} else {
updateBusChange(this.inputQuery)
.then((response) => {
this.loading = false;
this.cancelDialog();
this.getList();
})
.catch(() => {
this.loading = false;
this.cancelDialog();
});
}
},
handleAddClick() {
this.inputQuery = {};
this.formName = "add";
this.addDialogVisible = true;
},
handleModifyClick(row) {
this.inputQuery = row;
this.formName = "update";
this.addDialogVisible = true;
},
handleDeleteClick(row) {
this.deleteDialog(row.id)
},
deleteDialog(rowId) {
this.$confirm("此操作将永久删除该单据类型信息, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
let query = {
id: rowId,
}
delBusChange(query)
.then((response) => {
this.getList();
})
.catch(() => {
});
})
.catch(() => {
});
},
thirdSysChange() {
this.getList();
},
},
components: {
modifyDialog,
},
mounted() {
},
created() {
this.getList();
},
};
</script>

@ -0,0 +1,224 @@
<template>
<div>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>领用类型名称:&nbsp;</span>
</div>
<el-input
style="width: 200px"
size="small"
splaceholder="请输入内容"
:disabled="!isAdd"
v-model.trim="inputQuery.originName"
></el-input>
</div>
</el-col>
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>领用类型代码:&nbsp;</span>
</div>
<el-input
style="width: 200px"
:disabled="!isAdd"
size="small"
splaceholder="请输入内容"
v-model.trim="inputQuery.originAction"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>目标单据类型:&nbsp;</span>
</div>
<el-select v-model="inputQuery.targetBusAction" placeholder="请选择" clearable="true">
<el-option
v-for="item in busTypes"
:key="item.localAction"
:label="item.localName"
:value="item.localAction">
<span style="float: left">{{ item.localName }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.localAction }}</span>
</el-option>
</el-select>
</div>
</el-col>
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>启用状态:&nbsp;</span>
</div>
<el-select
size="small"
:disabled="inputQuery.systemDefault"
v-model="inputQuery.enable"
placeholder="启用状态"
>
<el-option label="启用" :value="false"></el-option>
<el-option label="禁用" :value="true"></el-option>
</el-select>
</div>
</el-col>
<!-- <el-col :span="10" class="el-col">-->
<!-- <div class="text item">-->
<!-- <div class="itemTag">-->
<!-- <span>设置类型:&nbsp;</span>-->
<!-- </div>-->
<!-- <el-select-->
<!-- size="small"-->
<!-- :disabled="inputQuery.systemDefault"-->
<!-- v-model="inputQuery.type"-->
<!-- placeholder="设置类型"-->
<!-- >-->
<!-- <el-option label="耗材领用" :value="1"></el-option>-->
<!-- <el-option label="采购计划" :value="3"></el-option>-->
<!-- </el-select>-->
<!-- </div>-->
<!-- </el-col>-->
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>备注:&nbsp;</span>
</div>
<el-input
style="width: 200px"
size="small"
splaceholder="请输入内容"
v-model="inputQuery.remark"
></el-input>
</div>
</el-col>
</el-row>
<el-divider></el-divider>
</div>
</template>
<script>
import {
getBasicThirdSys,
} from "../../api/basic/basicThirdSys";
import {
getLocalBusType, getLocalJoinBusType,
} from "../../api/basic/busLocalType";
export default {
name: "BusTypeChangeModify",
props: {
inputQuery: {
type: Object,
required: true,
},
},
data() {
return {
filterQuery: {
enabled: true,
isBuType: true,
},
busTypes: [],
isAdd: false,
rules: {
originName: [
{
required: true,
message: "单据类型名称不能为空",
trigger: "blur"
}
],
originAction: [
{
required: true,
message: "单据类型代码不能为空",
trigger: "blur"
}
],
targetBusAction: [
{
required: true,
message: "目标单据类型不能为空",
trigger: "blur"
}
],
// type: [
// {
// required: true,
// message: "",
// trigger: "blur"
// }
// ],
enable: [
{
required: true,
message: "请选择启用状态",
trigger: "blur"
}
],
},
}
},
methods: {
getBusType() {
let query = {
enabled: true,
corpType: 1,
};
getLocalJoinBusType(query)
.then((response) => {
this.busTypes = response.data.list || [];
})
.catch(() => {
});
}
},
created() {
if (this.inputQuery.originAction == null) {
this.isAdd = true;
}
this.getBusType();
}
,
}
;
</script>
<style scoped>
.itemTag {
float: left;
text-align: left;
margin-top: 10px;
width: 100px;
}
.text {
font-size: 13px;
font-family: "Microsoft YaHei";
}
.el-row {
display: flex;
flex-wrap: wrap;
margin-bottom: 20px;
}
.el-col {
border-radius: 4px;
flex-wrap: wrap;
}
</style>

@ -10,396 +10,436 @@
label-width="100px"
style="margin-top: 20px"
>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品名称:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
:disabled="true"
v-model="editQuery.cpmctymc"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品标识:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.nameCode"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>规格型号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.ggxh"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>器械类别:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.qxlb"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品类别:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.cplb"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>分类编码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.flbm"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>商品条码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small" :disabled="true"
splaceholder="请输入内容"
v-model="editQuery.sptm"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>医保编码:&nbsp;</span>
</div>
<el-input
style="width: 65%" :disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.ybbm"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>医疗器械注册人:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="ylqxzcrbarmc"
v-model="editQuery.ylqxzcrbarmc"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>注册人英文名称:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.ylqxzcrbarywmc"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>统一社会信用号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.tyshxydm"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>注册证/备案号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.zczbhhzbapzbh"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>上级产品编码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.sjcpbm"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包装级别:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
:disabled="true"
v-model="editQuery.packLevel"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>计量单位/包装级别:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
v-model="editQuery.bzcj"
:disabled="true"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包含下级包装数量:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
:disabled="true"
v-model="editQuery.bhxjsl"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包含下级产品编码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
:disabled="true"
splaceholder="请输入内容"
v-model="editQuery.bhxjcpbm"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包含最小销售包装数量:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
:disabled="true"
splaceholder="请输入内容"
v-model="editQuery.bhzxxsbzsl"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>最小包装单元内包含使用单元数量:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.zxxsbzbhsydysl"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>生产厂家:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>是否包含批号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.scbssfbhph"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>是否包含序列号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
v-model="editQuery.scbssfbhxlh"
splaceholder="请输入内容"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>是否包含生产日期:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.scbssfbhscrq"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>是否包含失效日期:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
v-model="editQuery.scbssfbhsxrq"
size="small"
splaceholder="请输入内容"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品描述:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="!checked"
size="small"
splaceholder="请输入内容"
v-model="editQuery.cpms"
></el-input>
</div>
</el-col>
</el-row>
<el-collapse v-model="activeNames">
<el-collapse-item name="1">
<template slot="title">
<p class="form-title">产品标识基本信息</p>
</template>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品标识:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.nameCode"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>最小包装单元内包含使用单元数量:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.zxxsbzbhsydysl"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包含下级产品编码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
:disabled="true"
splaceholder="请输入内容"
v-model="editQuery.bhxjcpbm"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包含最小销售包装数量:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
:disabled="true"
splaceholder="请输入内容"
v-model="editQuery.bhzxxsbzsl"
></el-input>
</div>
</el-col>
</el-row>
</el-collapse-item>
<el-collapse-item name="2">
<template slot="title">
<p class="form-title">产品基本信息</p>
</template>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品名称:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
:disabled="true"
v-model="editQuery.cpmctymc"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>规格型号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.ggxh"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品类别:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.cplb"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>分类编码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.flbm"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>医疗器械注册人:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="ylqxzcrbarmc"
v-model="editQuery.ylqxzcrbarmc"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>注册人英文名称:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.ylqxzcrbarywmc"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>器械类别:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.qxlb"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>生产厂家:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>商品条码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small" :disabled="true"
splaceholder="请输入内容"
v-model="editQuery.sptm"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>医保编码:&nbsp;</span>
</div>
<el-input
style="width: 65%" :disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.ybbm"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>统一社会信用号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.tyshxydm"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>注册证/备案号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.zczbhhzbapzbh"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品描述:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="!checked"
size="small"
splaceholder="请输入内容"
v-model="editQuery.cpms"
></el-input>
</div>
</el-col>
</el-row>
</el-collapse-item>
<el-collapse-item name="3">
<template slot="title">
<p class="form-title">生产标识基本信息</p>
</template>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>是否包含批号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.scbssfbhph"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>是否包含序列号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
v-model="editQuery.scbssfbhxlh"
splaceholder="请输入内容"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>是否包含生产日期:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.scbssfbhscrq"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>是否包含失效日期:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
v-model="editQuery.scbssfbhsxrq"
size="small"
splaceholder="请输入内容"
></el-input>
</div>
</el-col>
</el-row>
</el-collapse-item>
<el-collapse-item name="4">
<template slot="title">
<p class="form-title">包装标识信息</p>
</template>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>上级产品编码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.sjcpbm"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包装级别:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
:disabled="true"
v-model="editQuery.packLevel"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包装单位/包装级别:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
v-model="editQuery.bzcj"
:disabled="true"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包含下级包装数量:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
:disabled="true"
v-model="editQuery.bhxjsl"
></el-input>
</div>
</el-col>
</el-row>
</el-collapse-item>
</el-collapse>
</el-form>
</el-card>
@ -417,7 +457,9 @@ export default {
},
},
data() {
return {}
return {
activeNames: ['1']
}
},
methods: {},
@ -428,4 +470,13 @@ export default {
<style scoped>
.form-title {
font-size: 16px;
font-family: Noto Sans SC;
font-weight: bold;
color: #303133;
padding-bottom: 17px;
padding-top: 17px;
}
</style>

@ -27,7 +27,7 @@
<el-form-item class="query-form-item">
<el-select v-model="filterQuery.filterType" placeholder="请选择过滤对照条件" >
<el-select v-model="filterQuery.filterType" placeholder="请选择过滤对照条件">
<el-option
v-for="item in filterList"
:key="item.filterType"
@ -430,7 +430,7 @@
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>计量单位/包装级别:&nbsp;</span>
<span>包装单位/包装级别:&nbsp;</span>
</div>
<el-input
@ -510,7 +510,7 @@
<el-col :span="12" class="el-col">
<el-form-item prop="name">
<el-checkbox v-model="checked" class="text item itemTag"
>以使用单元数量入库
>允许科室多次使用多人份耗材
</el-checkbox>
</el-form-item>
</el-col>
@ -529,332 +529,334 @@
</template>
<script>
import {
getUdiInfos,
updateErpProduct,
thirdSysDetail,
} from "../../api/basic/udiRelevance";
import {
getUdiInfos,
updateErpProduct,
thirdSysDetail,
} from "../../api/basic/udiRelevance";
import {udiUpload} from "../../api/thrsys/smp"
import {exportExcel} from "../../api/basic/udiInfoExport"
import {selectSysParamByKey} from "../../api/param/systemParamConfig";
import {filterByUuid} from "../../api/basic/udiInfo";
import {exportExcel} from "../../api/basic/udiInfoExport"
import {selectSysParamByKey} from "../../api/param/systemParamConfig";
import {filterByUuid} from "../../api/basic/udiInfo";
export default {
name: "UdIInfoSelect",
props: {
selectType: {
type: Object,
required: true,
},
},
data() {
return {
filterQuery: {
uuids: [],
ylqxzcrbarmc: "",
cpmctymc: "",
nameCode: "",
page: 1,
limit: 20,
addType: 1,
},
editQuery: null,
relevanceEdit: {
id: null,
thirdId: "",
isUseDy: false,
},
isImport: false,
isImportUdi: false,
isUploadSmp: false,
isImportFile: false,
uploadFileUrl: null,
checked: false,
list: [],
detailList: [],
sysList: [],
total: 0,
thirdNo: "",
uuid: "111",
thirdId: null,
relId: "",
thisData: {
nameCode: null,
cpmctymc: null,
ggxh: null
},
multipleSelection: [],
editDialogVisible: false,
selectUdiDialogVisible: false,
selectErpDialogVisible: false,
selectLocalVisible: false,
};
export default {
name: "UdIInfoSelect",
props: {
selectType: {
type: Object,
required: true,
},
methods: {
onReset() {
this.$router.push({
path: "",
});
this.filterQuery = {
uuids: [],
ylqxzcrbarmc: "",
cpmctymc: "",
nameCode: "",
page: 1,
limit: 20,
addType: 1,
};
this.getList();
},
getList() {
this.loading = true;
getUdiInfos(this.filterQuery)
.then((response) => {
this.loading = false;
this.list = response.data.list || [];
this.total = response.data.total || 0;
})
.catch(() => {
this.loading = false;
this.list = [];
this.total = 0;
});
},
data() {
return {
filterQuery: {
uuids: [],
ylqxzcrbarmc: "",
cpmctymc: "",
nameCode: "",
page: 1,
limit: 20,
addType: 1,
},
getDetailList(detailQuery) {
this.loading = true;
filterByUuid(detailQuery)
.then((response) => {
this.loading = false;
this.detailList = response.data || [];
})
.catch(() => {
this.loading = false;
this.detailList = [];
});
editQuery: null,
relevanceEdit: {
id: null,
thirdId: "",
isUseDy: false,
},
handleDetail(row) {
this.editQuery = row;
console.log(row);
isImport: false,
isImportUdi: false,
isUploadSmp: false,
isImportFile: false,
uploadFileUrl: null,
checked: false,
list: [],
detailList: [],
sysList: [],
total: 0,
thirdNo: "",
uuid: "111",
thirdId: null,
relId: "",
thisData: {
nameCode: null,
cpmctymc: null,
ggxh: null
},
selectExport() {
var selectData = this.multipleSelection;
selectData.forEach((obj) => {
this.filterQuery.uuids.push(obj.uuid);
multipleSelection: [],
editDialogVisible: false,
selectUdiDialogVisible: false,
selectErpDialogVisible: false,
selectLocalVisible: false,
};
},
methods: {
onReset() {
this.$router.push({
path: "",
});
this.filterQuery = {
uuids: [],
ylqxzcrbarmc: "",
cpmctymc: "",
nameCode: "",
page: 1,
limit: 20,
addType: 1,
};
this.getList();
},
getList() {
this.loading = true;
getUdiInfos(this.filterQuery)
.then((response) => {
this.loading = false;
this.list = response.data.list || [];
this.total = response.data.total || 0;
})
.catch(() => {
this.loading = false;
this.list = [];
this.total = 0;
});
this.allExport();
},
},
allExport() {
exportExcel(this.filterQuery)
.then((response) => {
if (response.code == 20000) {
this.$message({
type: "success",
message: "导出成功后台正在生成Json文件请稍后刷新查看",
});
} else {
this.$message({
type: "error",
message: response.message,
});
}
this.$emit("cancelDialog", true);
})
.catch(() => {
getDetailList(detailQuery) {
this.loading = true;
filterByUuid(detailQuery)
.then((response) => {
this.loading = false;
this.detailList = response.data || [];
})
.catch(() => {
this.loading = false;
this.detailList = [];
});
},
handleDetail(row) {
this.editQuery = row;
console.log(row);
},
selectExport() {
var selectData = this.multipleSelection;
selectData.forEach((obj) => {
this.filterQuery.uuids.push(obj.uuid);
});
this.allExport();
},
allExport() {
exportExcel(this.filterQuery)
.then((response) => {
if (response.code == 20000) {
this.$message({
type: "success",
message: "导出成功后台正在生成Json文件请稍后刷新查看",
});
} else {
this.$message({
type: "error",
message: "上传失败",
message: response.message,
});
}
this.$emit("cancelDialog", true);
})
.catch(() => {
this.$message({
type: "error",
message: "上传失败",
});
},
});
},
intentDetail() {
this.isImportUdi = false;
this.selectUdiDialogVisible = true;
},
intentDetail() {
this.isImportUdi = false;
this.selectUdiDialogVisible = true;
},
intentImportErp(val) {
this.uuid = val.uuid;
this.relId = val.id;
this.isImport = true;
this.thisData = val;
this.selectErpDialogVisible = true;
},
uploadSMP() {
var selectData = this.multipleSelection;
selectData.forEach((obj) => {
this.filterQuery.uuids.push(obj.uuid);
});
this.allUploadSMP();
},
intentImportErp(val) {
this.uuid = val.uuid;
this.relId = val.id;
this.isImport = true;
this.thisData = val;
this.selectErpDialogVisible = true;
},
uploadSMP() {
var selectData = this.multipleSelection;
selectData.forEach((obj) => {
this.filterQuery.uuids.push(obj.uuid);
});
this.allUploadSMP();
},
allUploadSMP(){
udiUpload(this.filterQuery)
.then((response) => {
if (response.code == 20000) {
this.$message({
type: "success",
message: "上传成功!",
});
} else {
this.$message({
type: "error",
message: response.message,
});
}
this.$emit("cancelDialog", true);
})
.catch(() => {
allUploadSMP() {
udiUpload(this.filterQuery)
.then((response) => {
if (response.code == 20000) {
this.$message({
type: "success",
message: "上传成功!",
});
} else {
this.$message({
type: "error",
message: "上传失败",
message: response.message,
});
this.$emit("cancelDialog", true);
}
this.$emit("cancelDialog", true);
})
.catch(() => {
this.$message({
type: "error",
message: "上传失败",
});
},
handleSelectionChange(val) {
console.log("----" + val);
this.multipleSelection = val;
},
this.$emit("cancelDialog", true);
});
},
handleSelectionChange(val) {
console.log("----" + val);
this.multipleSelection = val;
},
handleCurrentChange(val) {
this.filterQuery.page = val;
this.getList();
},
handleModifyClick(row) {
this.editDialogVisible = true;
this.editQuery = row;
this.relevanceEdit = {
id: row.id,
thirdId: row.thirdId,
isUseDy: row.isUseDy,
};
this.checked = row.isUseDy == 1;
let ttquery = {
uuid: row.uuid,
page: 1,
limit: 10,
};
console.log("this.editQuery.isUseDy = " + this.editQuery.isUseDy);
this.getDetailList(ttquery);
this.getThirdSysDetail();
},
closeUdi(val) {
this.selectUdiDialogVisible = false;
this.selectErpDialogVisible = false;
this.selectLocalVisible = false;
if (val) {
this.getList();
}
},
getThirdSysDetail() {
let query = {
id: this.relevanceEdit.id,
};
thirdSysDetail(query)
.then((response) => {
this.loading = false;
this.sysList = response.data.list || [];
})
.catch(() => {
this.loading = false;
this.sysList = [];
});
},
uploadErpProduct() {
updateErpProduct()
.then((response) => {
if (response.code == 20000) {
this.$message({
type: "success",
message: response.data,
});
} else {
this.$message.error(response.message);
}
})
.catch(() => {
});
},
handleCurrentChange(val) {
this.filterQuery.page = val;
this.getList();
},
handleModifyClick(row) {
this.editDialogVisible = true;
this.editQuery = row;
this.relevanceEdit = {
id: row.id,
thirdId: row.thirdId,
isUseDy: row.isUseDy,
};
this.checked = row.isUseDy == 1;
closeDialog() {
this.selectErpDialogVisible = false;
this.selectLocalVisible = false;
},
let ttquery = {
uuid: row.uuid,
page: 1,
limit: 10,
};
console.log("this.editQuery.isUseDy = " + this.editQuery.isUseDy);
selectSysParam() {
let query = {
paramKey: "smp_isUploadProuct",
};
selectSysParamByKey(query).then((response) => {
if (response.code == 20000) {
if (response.data.paramValue == "1") {
this.isUploadSmp = true;
}
}
});
let query1 = {
paramKey: "upload_pi_file_enabled",
};
selectSysParamByKey(query1).then((response) => {
if (response.code == 20000) {
if (response.data.paramValue == "1") {
this.isImportFile = true;
}
}
this.getDetailList(ttquery);
this.getThirdSysDetail();
},
closeUdi(val) {
this.selectUdiDialogVisible = false;
this.selectErpDialogVisible = false;
this.selectLocalVisible = false;
if (val) {
this.getList();
}
},
getThirdSysDetail() {
let query = {
id: this.relevanceEdit.id,
};
thirdSysDetail(query)
.then((response) => {
this.loading = false;
this.sysList = response.data.list || [];
})
.catch(() => {
this.loading = false;
this.sysList = [];
});
let query2 = {
paramKey: "upload_pi_file_url",
};
selectSysParamByKey(query2).then((response) => {
},
uploadErpProduct() {
updateErpProduct()
.then((response) => {
if (response.code == 20000) {
this.uploadFileUrl = response.data.paramValue;
this.$message({
type: "success",
message: response.data,
});
} else {
this.$message.error(response.message);
}
})
.catch(() => {
});
},
},
mounted() {
closeDialog() {
this.selectErpDialogVisible = false;
this.selectLocalVisible = false;
},
components: {},
created() {
this.getList();
this.selectSysParam();
selectSysParam() {
let query = {
paramKey: "smp_isUploadProuct",
};
selectSysParamByKey(query).then((response) => {
if (response.code == 20000) {
if (response.data.paramValue == "1") {
this.isUploadSmp = true;
}
}
});
let query1 = {
paramKey: "upload_pi_file_enabled",
};
selectSysParamByKey(query1).then((response) => {
if (response.code == 20000) {
if (response.data.paramValue == "1") {
this.isImportFile = true;
}
}
});
let query2 = {
paramKey: "upload_pi_file_url",
};
selectSysParamByKey(query2).then((response) => {
if (response.code == 20000) {
this.uploadFileUrl = response.data.paramValue;
}
});
},
};
},
mounted() {
},
components: {},
created() {
this.getList();
this.selectSysParam();
},
};
</script>
<style scoped>
.itemTag {
float: left;
text-align: left;
margin-top: 10px;
width: 25%;
}
.query-form-item {
display: block !important;
margin-right: 10px;
margin-bottom: 5px;
}
.text {
font-size: 13px;
font-family: "Microsoft YaHei";
}
.el-row {
display: flex;
flex-wrap: wrap;
}
.el-col {
border-radius: 4px;
flex-wrap: wrap;
}
.itemTag {
float: left;
text-align: left;
margin-top: 10px;
width: 25%;
}
.query-form-item {
display: block !important;
margin-right: 10px;
margin-bottom: 5px;
}
.text {
font-size: 13px;
font-family: "Microsoft YaHei";
}
.el-row {
display: flex;
flex-wrap: wrap;
}
.el-col {
border-radius: 4px;
flex-wrap: wrap;
}
</style>

@ -70,6 +70,7 @@
</el-form-item>
<el-form-item class="query-form-item">
<el-button-group style="display:flex;">
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
<el-button type="primary" icon="search" @click="searchList" size="mini"
>查询
</el-button
@ -149,6 +150,7 @@
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
:current-page="unionQuery.page"
></el-pagination>
</div>
</el-card>
@ -404,13 +406,23 @@ export default {
};
},
methods: {
onReset() {
this.unionQuery = {
page: 1,
limit: 10,
udiCode: null,
nameCode: "",
cpmctymc: "",
ylqxzcrbarmc: null,
ggxh: "",
zczbhhzbapzbh: "",
isCheck: 1
};
},
searchList() {
this.unionQuery.page = 1;
this.getList();
},
getList() {
if (
this.unionQuery.udiCode == "" &&
@ -463,7 +475,6 @@ export default {
return "";
},
handleErpChange(val) {
console.log(val);
this.currentRow = val;
},
intentBack() {
@ -471,11 +482,9 @@ export default {
},
handleSelectionUdiChange(val) {
console.log("----" + val);
this.multipleUdiSelection = val;
},
findMethod(query) {
console.log(query);
let cQuery = {
ylqxzcrbarmc: query,
page: 1,
@ -498,13 +507,10 @@ export default {
this.loading = true;
},
handleChange(response, files, fileList) {
console.log(response);
if (response.code != 20000) {
this.loading = false;
this.$message.error(response.message);
} else {
// console.log(files[0] + "\n" + this.fileList[0] + "\n" + fileList[0]);
// this.getList();
this.loading = false;
this.$message.success(response.data);
}

@ -104,6 +104,7 @@
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
:current-page="filterQuery.page"
></el-pagination>
</div>
</template>

@ -116,6 +116,7 @@
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
:current-page="filterQuery.page"
></el-pagination>
</div>
</template>

@ -102,6 +102,7 @@
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
:current-page="filterQuery.page"
></el-pagination>
</el-card>

File diff suppressed because it is too large Load Diff

@ -67,7 +67,7 @@
<el-form-item>
<el-button-group>
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
<el-button type="primary" icon="search" @click="getList"></el-button>
<el-button type="primary" icon="search" @click="search"></el-button>
<el-button
type="primary"
icon="search"
@ -240,402 +240,450 @@
label-width="100px"
style="margin-top: 20px"
>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品名称:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
:disabled="true"
v-model="editQuery.cpmctymc"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品标识:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.nameCode"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>规格型号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.ggxh"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>器械类别:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.qxlb"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品类别:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.cplb"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>分类编码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.flbm"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>商品条码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
v-model="editQuery.sptm"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>医保编码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
v-model="editQuery.ybbm"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>医疗器械注册人:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="ylqxzcrbarmc"
v-model="editQuery.ylqxzcrbarmc"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>注册人英文名称:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.ylqxzcrbarywmc"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>统一社会信用号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.tyshxydm"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>注册证/备案号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.zczbhhzbapzbh"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>上级产品编码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.sjcpbm"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包装级别:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
:disabled="true"
v-model="editQuery.packLevel"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>计量单位/包装级别:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
v-model="editQuery.bzcj"
:disabled="true"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包含下级包装数量:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
:disabled="true"
v-model="editQuery.bhxjsl"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包含下级产品编码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
:disabled="true"
splaceholder="请输入内容"
v-model="editQuery.bhxjcpbm"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包含最小销售包装数量:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
:disabled="true"
splaceholder="请输入内容"
v-model="editQuery.bhzxxsbzsl"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>最小包装单元内包含使用单元数量:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="!checked"
size="small"
splaceholder="请输入内容"
v-model="editQuery.zxxsbzbhsydysl"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>生产厂家:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="!checked"
size="small"
splaceholder="请输入内容"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>是否包含批号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="!checked"
size="small"
splaceholder="请输入内容"
v-model="editQuery.scbssfbhph"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>是否包含序列号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="!checked"
size="small"
v-model="editQuery.scbssfbhxlh"
splaceholder="请输入内容"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>是否包含生产日期:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="!checked"
size="small"
splaceholder="请输入内容"
v-model="editQuery.scbssfbhscrq"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>是否包含失效日期:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="!checked"
v-model="editQuery.scbssfbhsxrq"
size="small"
splaceholder="请输入内容"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品描述:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="!checked"
size="small"
splaceholder="请输入内容"
v-model="editQuery.cpms"
></el-input>
</div>
</el-col>
</el-row>
<el-collapse v-model="activeNames">
<el-collapse-item name="1">
<template slot="title">
<p class="form-title">产品标识基本信息</p>
</template>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品标识:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.nameCode"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>最小包装单元内包含使用单元数量:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="!checked"
size="small"
splaceholder="请输入内容"
v-model="editQuery.zxxsbzbhsydysl"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包含下级产品编码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
:disabled="true"
splaceholder="请输入内容"
v-model="editQuery.bhxjcpbm"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包含最小销售包装数量:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
:disabled="true"
splaceholder="请输入内容"
v-model="editQuery.bhzxxsbzsl"
></el-input>
</div>
</el-col>
</el-row>
</el-collapse-item>
<el-collapse-item name="2">
<template slot="title">
<p class="form-title">产品基本信息</p>
</template>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品名称:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
:disabled="true"
v-model="editQuery.cpmctymc"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品标识:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.nameCode"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>规格型号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.ggxh"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>器械类别:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.qxlb"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品类别:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.cplb"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>分类编码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.flbm"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>商品条码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.sptm"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>医保编码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.ybbm"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>医疗器械注册人:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="ylqxzcrbarmc"
v-model="editQuery.ylqxzcrbarmc"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>注册人英文名称:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.ylqxzcrbarywmc"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>统一社会信用号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.tyshxydm"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>注册证/备案号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.zczbhhzbapzbh"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>生产厂家:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="!checked"
size="small"
splaceholder="请输入内容"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品描述:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="!checked"
size="small"
splaceholder="请输入内容"
v-model="editQuery.cpms"
></el-input>
</div>
</el-col>
</el-row>
</el-collapse-item>
<el-collapse-item name="3">
<template slot="title">
<p class="form-title">生产标识基本信息</p>
</template>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>是否包含批号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="!checked"
size="small"
splaceholder="请输入内容"
v-model="editQuery.scbssfbhph"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>是否包含序列号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="!checked"
size="small"
v-model="editQuery.scbssfbhxlh"
splaceholder="请输入内容"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>是否包含生产日期:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="!checked"
size="small"
splaceholder="请输入内容"
v-model="editQuery.scbssfbhscrq"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>是否包含失效日期:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="!checked"
v-model="editQuery.scbssfbhsxrq"
size="small"
splaceholder="请输入内容"
></el-input>
</div>
</el-col>
</el-row>
</el-collapse-item>
<el-collapse-item name="4">
<template slot="title">
<p class="form-title">包装标识信息</p>
</template>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>上级产品编码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.sjcpbm"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包装级别:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
:disabled="true"
v-model="editQuery.packLevel"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包装单位/包装级别:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
v-model="editQuery.bzcj"
:disabled="true"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包含下级包装数量:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
:disabled="true"
v-model="editQuery.bhxjsl"
></el-input>
</div>
</el-col>
</el-row>
</el-collapse-item>
</el-collapse>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="24" class="el-col">
<div style="margin-top: 18px;margin-bottom: 18px">
<el-checkbox v-model="checked" disabled
>以使用单元数量入库
>启用使用单元
</el-checkbox>
<el-checkbox v-model="editQuery.isDisable" disabled
>是否禁用
@ -643,13 +691,13 @@
<el-checkbox v-model="editQuery.isAdavence" disabled
>是否寄售
</el-checkbox>
<el-checkbox v-model="editQuery.allowNoBatch" class=""
<el-checkbox v-model="editQuery.allowNoBatch" disabled
>允许无批次号
</el-checkbox>
<el-checkbox v-model="editQuery.allowNoExpire" class=""
<el-checkbox v-model="editQuery.allowNoExpire" disabled
>允许无失效日期
</el-checkbox>
<el-checkbox v-model="editQuery.allowNoProduct" class=""
<el-checkbox v-model="editQuery.allowNoProduct" disabled
>允许无生产日期
</el-checkbox>
</div>
@ -738,6 +786,7 @@
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
:current-page="filterQuery.page"
></el-pagination>
@ -826,6 +875,7 @@ export default {
isUseDyCheck: false,
lockStatusMap: {"1": "未提交", "2": "已提交", "3": "已锁定"},
loading: false,
activeNames: ['1']
};
},
@ -847,6 +897,10 @@ export default {
limit: 20,
addType: 1,
};
this.total = 0;
},
search() {
this.filterQuery.page = 1;
this.getList();
},
getList() {
@ -893,7 +947,6 @@ export default {
handleDetail(row) {
this.editQuery = row;
console.log(row);
},
deleteOrders(data) {
this.loading = true;
@ -1020,7 +1073,6 @@ export default {
this.relId = val.id;
this.isImportUdi = true;
this.thisData = val;
console.log("-----" + this.uuid + "-2222--" + this.relId);
this.selectLocalVisible = true;
},
@ -1032,7 +1084,6 @@ export default {
handleSelectionChange(val) {
console.log("----" + val);
this.multipleSelection = val;
},
@ -1065,7 +1116,6 @@ export default {
page: 1,
limit: 10,
};
console.log("this.editQuery.isUseDy = " + this.editQuery.isUseDy);
this.getDetailList(ttquery);
this.getThirdSysDetail();
@ -1260,6 +1310,7 @@ export default {
this.fromOptions = [];
let cQuery = {
key: query,
corpType: 2,
page: 1,
limit: 10,
};
@ -1338,4 +1389,13 @@ export default {
border-radius: 4px;
flex-wrap: wrap;
}
.form-title {
font-size: 16px;
font-family: Noto Sans SC;
font-weight: bold;
color: #303133;
padding-bottom: 17px;
padding-top: 17px;
}
</style>

@ -19,55 +19,59 @@
<el-card class="el-card" v-if="checked">
<div>
<el-form :inline="true" :model="erpQuery" style="display: flex" size="mini">
<el-form-item class="query-form-item">
<el-input
v-model="erpQuery.code"
placeholder="产品编码/商品条码/医保编码"
clearable="true"
@keyup.enter.native="keyupErp_submit($event)"
></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-input v-model="erpQuery.name"
clearable="true"
placeholder="产品名称"></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-input v-model="erpQuery.registerNo"
clearable="true"
placeholder="注册/备案凭证号"></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-input v-model="erpQuery.manufactory"
clearable="true"
placeholder="生产厂家"></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-input
v-model="erpQuery.spec"
clearable="true"
placeholder="规格型号"
></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-select v-model="thirdSysFk" placeholder="请选择第三方系统" disabled="true">
<el-option
v-for="item in thirdSys"
:key="item.value"
:label="item.thirdName"
:value="item.thirdId">
<span style="float: left">{{ item.thirdName }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.thirdId }}</span>
</el-option>
</el-select>
</el-form-item>
<el-form-item style="display: flex">
<el-button type="primary" icon="search" @click="searchErpList"></el-button>
</el-form-item>
<el-form :inline="true" :model="erpQuery" size="mini">
<el-row>
<el-form-item class="query-form-item">
<el-input
v-model="erpQuery.code"
placeholder="产品编码/商品条码/医保编码"
clearable="true"
@keyup.enter.native="keyupErp_submit($event)"
></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-input v-model="erpQuery.name"
clearable="true"
placeholder="产品名称"></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-input v-model="erpQuery.registerNo"
clearable="true"
placeholder="注册/备案凭证号"></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-input v-model="erpQuery.manufactory"
clearable="true"
placeholder="生产厂家"></el-input>
</el-form-item>
</el-row>
<el-row>
<el-form-item class="query-form-item">
<el-input
v-model="erpQuery.spec"
clearable="true"
placeholder="规格型号"
></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-select v-model="thirdSysFk" placeholder="请选择第三方系统" disabled="true">
<el-option
v-for="item in thirdSys"
:key="item.value"
:label="item.thirdName"
:value="item.thirdId">
<span style="float: left">{{ item.thirdName }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.thirdId }}</span>
</el-option>
</el-select>
</el-form-item>
<el-form-item style="display: flex">
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
<el-button type="primary" icon="search" @click="searchErpList"></el-button>
</el-form-item>
</el-row>
</el-form>
<el-table
@ -92,6 +96,7 @@
@current-change="handleErpPageChange"
layout="prev, pager, next"
:total="pageTotal"
:curret-page="erpQuery.page"
></el-pagination>
</div>
</el-card>
@ -231,6 +236,7 @@
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
:current-page="unionQuery.page"
></el-pagination>
</div>
</el-card>
@ -246,7 +252,8 @@
>
<selectDiDetail :editQuery="diDetails"
></selectDiDetail>
</el-dialog>-
</el-dialog>
-
</div>
</template>
@ -292,6 +299,10 @@ export default {
thirdId: "",
keys: [],
thirdSys: null,
manufactory: null,
price: null,
erpName: null,
measname: null,
},
fromOptions: [],
checked: true,
@ -310,6 +321,22 @@ export default {
};
},
methods: {
onReset() {
this.$router.push({
path: "",
});
this.erpQuery = {
code: null,
name: "",
thirdSys: null,
spec: null,
manufactory: null,
registerNo: null,
page: 1,
limit: 10,
};
this.getErpList();
},
serchList() {
this.unionQuery.page = 1;
this.getList();
@ -415,6 +442,7 @@ export default {
}
this.combineQuery.manufactory = this.currentRow.manufactory;
this.combineQuery.price = this.currentRow.price;
this.combineQuery.measname = this.currentRow.measname;
combineUdi(this.combineQuery)
.then((response) => {
if (response.code == 20000) {

@ -0,0 +1,573 @@
<template>
<div>
<el-card>
<el-form :inline="true" :model="unionQuery" size="mini">
<el-form-item class="query-form-item">
<el-input v-model="unionQuery.udiCode"
style="width: 600px"
placeholder="请扫描或输入UDI码"
clearable="true"
@keyup.enter.native="keyup_submit($event)"></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-button-group>
<el-button type="primary" icon="search" @click="searchList" size="mini"
>查询
</el-button
>
<el-button type="primary" icon="search" @click="getSuperSeaech" size="mini"
>国家同步库查询
</el-button
>
</el-button-group>
</el-form-item>
</el-form>
<el-form
:model="editQuery"
:rules="rules"
ref="editQuery"
label-width="100px"
style="margin-top: 20px"
>
<el-collapse v-model="activeNames">
<el-collapse-item name="1">
<template slot="title">
<p class="form-title">产品标识基本信息</p>
</template>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品标识:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.nameCode"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>最小包装单元内包含使用单元数量:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.zxxsbzbhsydysl"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包含下级产品编码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
:disabled="true"
splaceholder="请输入内容"
v-model="editQuery.bhxjcpbm"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包含最小销售包装数量:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
:disabled="true"
splaceholder="请输入内容"
v-model="editQuery.bhzxxsbzsl"
></el-input>
</div>
</el-col>
</el-row>
</el-collapse-item>
<el-collapse-item name="2">
<template slot="title">
<p class="form-title">产品基本信息</p>
</template>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品名称:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
:disabled="true"
v-model="editQuery.cpmctymc"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>规格型号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.ggxh"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品类别:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.cplb"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>分类编码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.flbm"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>医疗器械注册人:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="ylqxzcrbarmc"
v-model="editQuery.ylqxzcrbarmc"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>注册人英文名称:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.ylqxzcrbarywmc"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>器械类别:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.qxlb"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>生产厂家:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>商品条码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small" :disabled="true"
splaceholder="请输入内容"
v-model="editQuery.sptm"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>医保编码:&nbsp;</span>
</div>
<el-input
style="width: 65%" :disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.ybbm"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>统一社会信用号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.tyshxydm"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>注册证/备案号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.zczbhhzbapzbh"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品描述:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="!checked"
size="small"
splaceholder="请输入内容"
v-model="editQuery.cpms"
></el-input>
</div>
</el-col>
</el-row>
</el-collapse-item>
<el-collapse-item name="3">
<template slot="title">
<p class="form-title">生产标识基本信息</p>
</template>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>是否包含批号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.scbssfbhph"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>是否包含序列号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
v-model="editQuery.scbssfbhxlh"
splaceholder="请输入内容"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>是否包含生产日期:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.scbssfbhscrq"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>是否包含失效日期:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
v-model="editQuery.scbssfbhsxrq"
size="small"
splaceholder="请输入内容"
></el-input>
</div>
</el-col>
</el-row>
</el-collapse-item>
<el-collapse-item name="4">
<template slot="title">
<p class="form-title">包装标识信息</p>
</template>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>上级产品编码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.sjcpbm"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包装级别:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
:disabled="true"
v-model="editQuery.packLevel"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包装单位/包装级别:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
v-model="editQuery.bzcj"
:disabled="true"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包含下级包装数量:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
:disabled="true"
v-model="editQuery.bhxjsl"
></el-input>
</div>
</el-col>
</el-row>
</el-collapse-item>
</el-collapse>
</el-form>
</el-card>
</div>
</template>
<script>
import {getUdiInfos, superSearch} from "../../api/basic/udiInfo";
export default {
name: "UdiInfoSearch",
data() {
return {
activeNames: ['1'],
unionQuery: {
page: 1,
limit: 10,
udiCode: null,
},
udidlList: [],
editQuery: {},
}
},
methods: {
searchList() {
this.unionQuery.page = 1;
this.getList();
},
keyup_submit(event) {
this.unionQuery.page = 1;
this.getList();
event.target.select();
},
getList() {
this.loading = true;
getUdiInfos(this.unionQuery)
.then((response) => {
this.loading = false;
if (response.code == 20000) {
this.udidlList = response.data.list || [];
if (this.udidlList == null || this.udidlList.length == 0) {
this.$message.error("未查询到DI信息");
} else {
this.editQuery = this.udidlList[0];
}
} else {
this.$message.error(response.message);
}
})
.catch(() => {
this.loading = false;
this.udidlList = [];
this.total = 0;
});
},
getSuperSeaech() {
this.$confirm("此操作将访问国家库查询DI数据, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.loading = true;
superSearch(this.unionQuery)
.then((response) => {
this.loading = false;
if (response.code == 20000) {
this.udidlList = response.data.list || [];
this.total = response.data.total || 0;
} else {
this.$message.error(response.message);
}
})
.catch(() => {
this.loading = false;
this.udidlList = [];
this.total = 0;
});
})
.catch(() => {
});
},
},
mounted() {
document.body.ondrop = function (event) {
event.preventDefault();
event.stopPropagation();
};
},
}
</script>
<style scoped>
.form-title {
font-size: 16px;
font-family: Noto Sans SC;
font-weight: bold;
color: #303133;
padding-bottom: 17px;
padding-top: 17px;
}
</style>

@ -72,6 +72,11 @@
</el-form-item>
<el-form-item class="query-form-item">
<el-button-group>
<el-button
type="primary"
icon="el-icon-refresh"
@click="onReset"
></el-button>
<el-button type="primary" icon="search" @click="searchList" size="mini"
>查询
</el-button
@ -152,12 +157,13 @@
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
:current-page="unionQuery.page"
></el-pagination>
</div>
</el-card>
<el-card class="el-card" v-if="!isImportUdi">
<div v-if="!isImport">
<el-card class="el-card" v-if="isImport">
<div >
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
@ -442,6 +448,25 @@ export default {
},
methods: {
onReset() {
this.$router.push({
path: "",
});
this.unionQuery = {
page: 1,
limit: 10,
udiCode: null,
nameCode: "",
cpmctymc: "",
ylqxzcrbarmc: null,
ggxh: "",
zczbhhzbapzbh: "",
isCheck: 1
},
this.actDateRange = [];
// this.getList();
},
searchList() {
this.unionQuery.page = 1;
this.getList();
@ -532,7 +557,6 @@ export default {
return "";
},
handleErpChange(val) {
console.log(val);
this.currentRow = val;
},
intentBack() {
@ -639,11 +663,9 @@ export default {
},
handleSelectionUdiChange(val) {
console.log("----" + val);
this.multipleUdiSelection = val;
},
findMethod(query) {
console.log(query);
let cQuery = {
ylqxzcrbarmc: query,
page: 1,
@ -663,6 +685,8 @@ export default {
components: {
selectDiDetail,
},
created() {
}
};
</script>

@ -109,6 +109,7 @@
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
:current-page="unionQuery.page"
></el-pagination>
</div>
</el-card>

@ -64,6 +64,7 @@
<el-form-item style="display: flex">
<el-button-group>
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
<el-button type="primary" icon="search" @click="searchErpList"></el-button>
<el-button type="primary" icon="search" @click="combine" :loading="combineLoading"
>选入
@ -105,6 +106,7 @@
@current-change="handleErpPageChange"
layout="prev, pager, next"
:total="pageTotal"
:current-page="erpQuery.page"
></el-pagination>
</div>
</el-card>
@ -361,6 +363,7 @@ export default {
manufactory: null,
thirdSys: null,
supName: null,
measname: null,
page: 1,
limit: 10,
@ -376,6 +379,9 @@ export default {
query: null,
isRlInv: null,
manufactory: null,
measname: null,
ybbm: null,
sptm: null,
},
udidlList: [],
@ -391,6 +397,24 @@ export default {
};
},
methods: {
onReset() {
this.$router.push({
path: "",
});
this.erpQuery = {
code: null,
name: null,
spec: null,
registerNo: null,
manufactory: null,
thirdSys: null,
supName: null,
measname: null,
page: 1,
limit: 10,
};
this.getErpList();
},
tableRowClassName({row}) {
if (row.checked) return "warning-row";
return "";
@ -493,11 +517,12 @@ export default {
}
this.combineQuery.thirdIds.push(row.code);
this.combineQuery.manufactory = row.manufactory;
this.combineQuery.measname = row.measname;
});
if (this.currentRow != null) {
this.combineQuery.manufactory = this.currentRow.manufactory;
// this.erpQuery.manufactory = this.currentRow.manufactory;
this.combineQuery.measname = this.currentRow.measname;
}
@ -520,8 +545,6 @@ export default {
this.$emit("closeUdi", true);
this.$message.success(response.data);
} else {
this.$emit("closeUdi", false);
// this.$message.warning(response.message);
this.$message.error(response.message);
}
})
@ -557,9 +580,12 @@ export default {
this.combineQuery.thirdId = this.currentRow.code;
this.combineQuery.erpName = this.currentRow.name;
this.combineQuery.manufactory = this.currentRow.manufactory;
this.combineQuery.price = this.currentRow.price;
this.combineQuery.supName = this.currentRow.supName;
this.combineQuery.measname = this.currentRow.measname;
this.combineQuery.ybbm = this.currentRow.ybbm;
this.combineQuery.sptm = this.currentRow.sptm;
this.erpQuery.manufactory = this.currentRow.manufactory;
this.erpQuery.measname = this.currentRow.measname;
this.combineQuery.price = this.currentRow.price;
if (this.currentRow.checked) {

@ -279,7 +279,7 @@
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>计量单位/包装级别:&nbsp;</span>
<span>包装单位/包装级别:&nbsp;</span>
</div>
<el-input
@ -360,7 +360,7 @@
<el-form-item prop="name">
<el-checkbox v-model="checked" class="text item itemTag"
disabled
>以使用单元数量入库
>启用使用单元
</el-checkbox>
</el-form-item>
</el-col>
@ -385,15 +385,15 @@ export default {
data() {
return {
sysList: [],
checked:false,
detailList:[],
loading:false,
checked: false,
detailList: [],
loading: false,
}
},
methods: {
getThirdSysDetail() {
let query = {
id: this.editQuery.id,
id: this.editQuery.rlId,
};
thirdSysDetail(query)
@ -421,6 +421,9 @@ export default {
},
created() {
if(this.editQuery.isUseDy==1){
this.checked=true
}
let ttquery = {
uuid: this.editQuery.uuid,
page: 1,

@ -97,6 +97,7 @@
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
:current-page="filterQuery.page"
></el-pagination>
</div>
</template>

@ -91,6 +91,7 @@
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
:current-page="filterQuery.page"
></el-pagination>
</div>
</template>

@ -84,6 +84,7 @@
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
:current-page="filterQuery.page"
></el-pagination>
</div>
</template>

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save