diff --git a/src/api/auth/deviceCheck.js b/src/api/auth/deviceCheck.js index 6d5d218..d8c19a4 100644 --- a/src/api/auth/deviceCheck.js +++ b/src/api/auth/deviceCheck.js @@ -16,3 +16,12 @@ export function check(data) { data: data }); } + +export function deleterKey(data) { + return axios({ + url: "/sale/info/deleterKey", + method: "post", + data: data + }); +} + diff --git a/src/api/itextpdf/itextpdf.js b/src/api/itextpdf/itextpdf.js index 59b64f8..7a9697f 100644 --- a/src/api/itextpdf/itextpdf.js +++ b/src/api/itextpdf/itextpdf.js @@ -96,6 +96,7 @@ export function inspectionStockOrderPDFFromTemplateFile(query) { data: query, }); } + export function stockOrderPDFFromTemplateFile(query) { return axios({ url: "/udiwms/pdf/template/stock/order/file", @@ -107,5 +108,16 @@ export function stockOrderPDFFromTemplateFile(query) { } +export function demoPrint(query) { + return axios({ + url: "/system/pdf/template/demoPrint", + method: "post", + data: query, + headers: {'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'}, + responseType: 'arraybuffer', //一定要设置响应类型,否则页面会是空白pdf + }); +} + + diff --git a/src/api/warehouse/stockOrder.js b/src/api/warehouse/stockOrder.js index e940eb9..de190a8 100644 --- a/src/api/warehouse/stockOrder.js +++ b/src/api/warehouse/stockOrder.js @@ -246,6 +246,17 @@ export function updateStockOrderDetail(query) { return axios({ url: '/udiwms/stock/order/detail/update', method: 'post', - params: query + data: query }) } + +export function stockOrderChange(query) { + + return axios({ + url: "/udiwms/stock/order/change", + method: "post", + data: query + }); +} + + diff --git a/src/assets/login.jpg b/src/assets/login.jpg index b454628..73a5ce6 100644 Binary files a/src/assets/login.jpg and b/src/assets/login.jpg differ diff --git a/src/router/index.js b/src/router/index.js index e1c25a7..3a4063c 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -434,7 +434,7 @@ export const asyncRouterMap = [ }, { path: "thrProductsCheck", - name: "新增产品信息审核", + name: "新增产品审核", component: thrProductsCheck, meta: { authRule: ["product/thrAddProducts"] @@ -1006,7 +1006,7 @@ export const asyncRouterMap = [ }, { path: "thrProductsSubmit", - name: "新增产品信息", + name: "新增配送产品", component: thrProductsSubmit, meta: { authRule: ["product/thrProductsSubmit"] diff --git a/src/views/basic/UdiInfoManageSp.vue b/src/views/basic/UdiInfoManageSp.vue index 848cafd..7bb2104 100644 --- a/src/views/basic/UdiInfoManageSp.vue +++ b/src/views/basic/UdiInfoManageSp.vue @@ -848,6 +848,7 @@ export default { selectLocalVisible: false, //关联UDI isUseDyCheck: false, lockStatusMap: {"1": "未提交", "2": "已提交", "3": "已锁定"}, + loading:false, }; }, diff --git a/src/views/basic/UdiInfoselectErpUdi.vue b/src/views/basic/UdiInfoselectErpUdi.vue index c6b2e61..d913251 100644 --- a/src/views/basic/UdiInfoselectErpUdi.vue +++ b/src/views/basic/UdiInfoselectErpUdi.vue @@ -487,6 +487,10 @@ export default { } this.combineQuery.thirdIds.push(row.code); }); + if (selectData.length == 0) { + this.$message.warning("未选择产品"); + return; + } if (selected != '') { this.$confirm("产品编码:" + selected + "已被添加,是否继续添加", "提示", { confirmButtonText: "确定", diff --git a/src/views/basic/basicCompanyProducts.vue b/src/views/basic/basicCompanyProducts.vue index 7eac86b..143961c 100644 --- a/src/views/basic/basicCompanyProducts.vue +++ b/src/views/basic/basicCompanyProducts.vue @@ -79,7 +79,7 @@ >添加产品信息 - 新增产品信息 + @@ -1320,7 +1320,7 @@ - - + + @@ -234,6 +234,7 @@ -

诏安县医院UDI自助平台

+

诏安县总医院

- 产品名称:  + 产品编码: 
- 产品标识:  + 产品名称: 
@@ -62,63 +62,66 @@ +
- 注册证号:  + 规格型号: 
+
- 生产厂家:  + 计量单位: 
+
+
- 规格型号:  + 生产厂家: 
- 计量单位:  + 注册证号: 
-
@@ -302,7 +305,8 @@ export default { ybbm: null, tyshxydm: null, qxlb: null, - cpms: null + cpms: null, + thirdSys: null, }, thirdSys: [], } @@ -311,6 +315,37 @@ export default { methods: { saveNewProduct() { this.addProductVisible = false; + if (this.$isBlank(this.newProductData.thirdSys)) { + this.$message.warning("第三方系统不能为空!"); + return; + } + if (this.$isBlank(this.newProductData.code)) { + this.$message.warning("产品编码为空!"); + return; + } + if (this.$isBlank(this.newProductData.name)) { + this.$message.warning("产品名称不能为空!"); + return; + } + + if (this.$isBlank(this.newProductData.spec)) { + this.$message.warning("规格型号不能为空"); + return; + } + if (this.$isBlank(this.newProductData.measname)) { + this.$message.warning("计量单位不能为空!"); + return; + } + if (this.$isBlank(this.newProductData.manufactory)) { + this.$message.warning("生产厂家不能为空!"); + return; + } + if (this.$isBlank(this.newProductData.registerNo)) { + this.$message.warning("注册证号不能为空!"); + return; + } + + if (this.newType == 1) { saveNewProduct(this.newProductData).then((res) => { if (res.code == 20000) { @@ -356,5 +391,7 @@ export default { diff --git a/src/views/thrsys/ThrProductsCheck.vue b/src/views/thrsys/ThrProductsCheck.vue index 30a765b..b3ec7c0 100644 --- a/src/views/thrsys/ThrProductsCheck.vue +++ b/src/views/thrsys/ThrProductsCheck.vue @@ -21,12 +21,37 @@ placeholder="规格型号" >
+ + + + + + + - + + + {{ item.companyName }} + + + + @@ -35,12 +60,12 @@ - - - - - - + + + + + + + diff --git a/src/views/warehouse/addHosOrder.vue b/src/views/warehouse/addHosOrder.vue index 028ae24..8de3b38 100644 --- a/src/views/warehouse/addHosOrder.vue +++ b/src/views/warehouse/addHosOrder.vue @@ -58,10 +58,12 @@ {{ item.name }} @@ -81,10 +83,12 @@ - + {{ item.name }} @@ -105,7 +109,8 @@ + v-if="curAction.corpType ==0 || curAction.corpType == 3 || (curAction.corpType == 2 && !curAction.genUnit)" + > + v-if="curAction.corpType ==1" + > @@ -238,19 +246,21 @@ 选择产品 + 选择供应商 + @@ -481,7 +491,6 @@ export default { this.$refs.inputRef.focus(); this.getCodeList(); } else { - this.corpOrderIdDisabled = true; if (response.code == 502) { this.curRow = response.data; this.idQuery.id = this.curRow.orderId; diff --git a/src/views/warehouse/addOrder.vue b/src/views/warehouse/addOrder.vue index 8b65bac..60a8496 100644 --- a/src/views/warehouse/addOrder.vue +++ b/src/views/warehouse/addOrder.vue @@ -68,8 +68,10 @@ --> - + 选择产品 + diff --git a/src/views/warehouse/errorCode.vue b/src/views/warehouse/errorCode.vue index ad16e5f..0f02cea 100644 --- a/src/views/warehouse/errorCode.vue +++ b/src/views/warehouse/errorCode.vue @@ -52,7 +52,7 @@ diff --git a/src/views/warehouse/selectThrOrder.vue b/src/views/warehouse/selectThrOrder.vue index f9e2dcc..dbd3ab0 100644 --- a/src/views/warehouse/selectThrOrder.vue +++ b/src/views/warehouse/selectThrOrder.vue @@ -47,7 +47,7 @@ - + @@ -116,6 +116,52 @@ + + + + + + + + + + + + + + + + + + + @@ -125,6 +171,7 @@ import {getBussinessType} from "../../api/basic/bussinessType"; import {getLocalJoinBusType} from "../../api/basic/busLocalType"; import store from "../../store"; import {getOriginBusType} from "@/api/basic/busOriginType"; +import {filterAllByUser} from "@/api/basic/invWarehouse"; export default { name: "closeDialog", @@ -156,17 +203,19 @@ export default { erpName: "", keys: [], }, + storageVisible: false, dataList: [], pageTotal: 1, total: 1, currentRow: null, + curLocInv: null, loading: false, multipleUdiSelection: [], thirdSys: [], thirdSysFk: null, busTypes: [], originTypes: [], - + storageList: [], actDateRange: [], pickerOptions: { shortcuts: [ @@ -261,12 +310,35 @@ export default { if (this.$isBlank(this.currentRow.id)) { return; } + if (this.curLocInv == null) { + this.storageVisible = true; + } else { + let tQuery = { + id: this.currentRow.id, + locStorageCode: this.curLocInv, + } + addStockOrder(tQuery) + .then((response) => { + if (response.code === 20000) { + this.closeDialog(); + } else { + this.$message.error(response.message); + } + }) + .catch(() => { + }); + } + }, + selectStorage(row) { + this.curLocInv = row.code; let tQuery = { - id: this.currentRow.id + id: this.currentRow.id, + locStorageCode: this.curLocInv, } addStockOrder(tQuery) .then((response) => { if (response.code === 20000) { + this.storageVisible = false; this.closeDialog(); } else { this.$message.error(response.message); @@ -300,9 +372,22 @@ export default { .catch(() => { }); }, + getStorage(event) { + this.storageList = []; + filterAllByUser() + .then((response) => { + this.storageList = response.data || []; + if (this.storageList.length == 1) { + this.curLocInv = this.storageList[0].code; + } + }) + .catch(() => { + }); + }, }, created() { this.getBusType(); + this.getStorage(); }, }; diff --git a/src/views/warehouse/stockHospOrderNew.vue b/src/views/warehouse/stockHospOrderNew.vue index c21c344..81e7642 100644 --- a/src/views/warehouse/stockHospOrderNew.vue +++ b/src/views/warehouse/stockHospOrderNew.vue @@ -519,7 +519,7 @@ import stockOrderNewSelectProduct from "./stockOrderNewSelectProduct"; import {getBasicUnitMaintains, getBasicUnitMaintains2} from "../../api/basic/basicUnitMaintain"; import {getBussinessType} from "../../api/basic/bussinessType"; import {getLocalBusType, getLocalJoinBusType, getLocalJoinByUser} from "../../api/basic/busLocalType"; -import {filterAll, filterAllByUser} from "@/api/basic/invWarehouse"; +import {filterAll, filterAllByLoc, filterAllByUser} from "@/api/basic/invWarehouse"; import dialogInvProduct from "../inventory/DialogInvProduct" export default { @@ -726,11 +726,13 @@ export default { }, findStorageMethod(query) { console.log(query); + if (this.formData.locStorageCode == null) + return; this.fromStorageOptions = []; let cQuery = { - key: query, + locInvCode: this.formData.locStorageCode, }; - filterAllByUser(cQuery) + filterAllByLoc(cQuery) .then((response) => { let temp = response.data || []; for (let i = 0; i < temp.length; i++) { @@ -1291,6 +1293,7 @@ export default { this.formData.locStorageCode = item; this.$forceUpdate(); this.getBusType(item); + this.findStorageMethod(); } }, filters: {}, diff --git a/src/views/warehouse/stockOrderDelSearch.vue b/src/views/warehouse/stockOrderDelSearch.vue index c877564..3d7e4a7 100644 --- a/src/views/warehouse/stockOrderDelSearch.vue +++ b/src/views/warehouse/stockOrderDelSearch.vue @@ -107,7 +107,7 @@ - + @@ -306,6 +333,7 @@ import { import stockOrderDistribution from "./stockOrderDistribution"; import stockOrderQRCodeDetail from "./stockOrderQRCodeDetail"; import stockQRCodeExport from "./stockQRCodeExport"; +import DialogcChangeNewOrder from "./DialogcChangeNewOrder"; import draggable from "vuedraggable"; import {inspectionStockOrderPDFFromTemplateFile, stockOrderPDFFromTemplateFile} from "../../api/itextpdf/itextpdf"; import store from "../../store"; @@ -379,12 +407,14 @@ export default { isSp: store.getters.customerId, detailFormVisible: false, stockOrderEditVisible: false, + stockChangeVisible: false, detailFormData: {}, detailFormLoading: false, haveDistributionVisible: true, qrcodeDetailVisible: false, qrcodeExportVisible: false, actDateRange: [], + curRow: null, pickerOptions: { shortcuts: [ { @@ -467,6 +497,12 @@ export default { } }) }, + + generOrder(row) { + this.stockChangeVisible = true; + this.curRow = row; + }, + changeFun(row) { let _this = this; _this.multipId = []; //每次改动重置ID @@ -573,6 +609,8 @@ export default { }, closeDialog(type) { this.distributionVisible = false; + this.stockChangeVisible = false; + this.getList(); if (this.$isNotBlank(type)) { this.detailList = []; @@ -587,12 +625,16 @@ export default { } }, printOrder(row) { - let tQuery = {queryId: row.id,} + let tQuery = { + queryId: row.id, + moduleId: 4, + } this.loading = true; inspectionStockOrderPDFFromTemplateFile(tQuery).then((response) => { if (response.code === 20000) { tQuery = { id: row.id, + moduleId: 4, } stockOrderPDFFromTemplateFile(tQuery).then((response) => { //将pdf文件转换为url。 @@ -825,7 +867,7 @@ export default { stockOrderDistribution, stockOrderQRCodeDetail, stockQRCodeExport, - StockOrderEdit + StockOrderEdit, DialogcChangeNewOrder }, filters: { statusFilterType(status) { diff --git a/src/views/warehouse/stockOrderEditor.vue b/src/views/warehouse/stockOrderEditor.vue index 89c7a08..b637a43 100644 --- a/src/views/warehouse/stockOrderEditor.vue +++ b/src/views/warehouse/stockOrderEditor.vue @@ -702,13 +702,14 @@ export default { printOrder(row) { let tQuery = { queryId: row.id, - + moduleId: 5, } this.loading = true; inspectionStockOrderPDFFromTemplateFile(tQuery).then((response) => { if (response.code === 20000) { tQuery = { id: row.id, + moduleId: 5, orderName: "配货单", } stockOrderPDFFromTemplateFile(tQuery).then((response) => { diff --git a/src/views/warehouse/stockOrderSearch.vue b/src/views/warehouse/stockOrderSearch.vue index 69036e0..cf12364 100644 --- a/src/views/warehouse/stockOrderSearch.vue +++ b/src/views/warehouse/stockOrderSearch.vue @@ -1,466 +1,466 @@ diff --git a/src/views/warehouse/thrOrderNew.vue b/src/views/warehouse/thrOrderNew.vue new file mode 100644 index 0000000..81e7642 --- /dev/null +++ b/src/views/warehouse/thrOrderNew.vue @@ -0,0 +1,1347 @@ + + + + + + +