diff --git a/src/api/collect/collectOriginOrder.js b/src/api/collect/collectOriginOrder.js new file mode 100644 index 00000000..f6e701dd --- /dev/null +++ b/src/api/collect/collectOriginOrder.js @@ -0,0 +1,18 @@ +import axios from "@/utils/request" + + +export function orderPage(query) { + return axios({ + url: "/udiwms/basic/collect/origin/order/filter", + method: "get", + params: query + }); +} + +export function orderDetail(query) { + return axios({ + url: "/udiwms/basic/collect/origin/order/detail", + method: "get", + params: query + }); +} diff --git a/src/views/collect/CollectOrderNew.vue b/src/views/collect/CollectOrderNew.vue index 7be2dd01..60a39178 100644 --- a/src/views/collect/CollectOrderNew.vue +++ b/src/views/collect/CollectOrderNew.vue @@ -218,10 +218,10 @@ </el-card> <el-tabs type="border-card" style="margin: 15px"> <el-tab-pane label="单据明细"> - <PannelOrderDetail + <PannelOriginOrderDetail v-if="panelALive" :prescribeData="curRow" - ></PannelOrderDetail> + ></PannelOriginOrderDetail> </el-tab-pane> </el-tabs> @@ -250,15 +250,17 @@ import {convertDate} from "@/utils/date"; import {detail} from "@/api/basic/sicker/prescribeApi"; import prescribeDownloadDialog from "@/views/collect/prescribe/prescribeDownloadDialog"; import prescribeOriginPanel from "./PannelOrderBiz"; -import PannelOrderDetail from "./PannelOrderDetail" +import PannelOriginOrderDetail from "./PannelOriginOrderDetail" import { clearAllOrder, deleteByOrder, importOrder, - orderPage, downloadOrder, errorHandle } from "@/api/collect/collectOrder"; +import { + orderPage, +} from "@/api/collect/collectOriginOrder"; import {filterSubAllOptimize} from "@/api/system/invSubWarehouse"; import {filterWorkOptimize} from "@/api/basic/workPlace/sysWorkplaceManage"; import {getWorkBindBusTypes} from '@/api/basic/workPlace/sysWorkplaceDocuments' @@ -270,6 +272,10 @@ export default { type: Number, required: true }, + tagStatusList: { + type: Array, + required: true + }, }, data() { return { @@ -335,7 +341,7 @@ export default { }, components: { - addOrder, errOrder, prescribeDownloadDialog, prescribeOriginPanel,PannelOrderDetail + addOrder, errOrder, prescribeDownloadDialog, prescribeOriginPanel,PannelOriginOrderDetail }, methods: { @@ -367,6 +373,7 @@ export default { onReset() { this.filterQuery = { tagStatus: this.tagStatus, + tagStatusList: this.tagStatusList, billNo: null, busType: null, workPlaceCode: null, @@ -582,7 +589,7 @@ export default { }, created() { - getHead("prescribeDownload", "1").then((re) => { + getHead("prescribeDownloadOrigin", "1").then((re) => { // 处理返回的数据 this.tableObj = re.data; this.tableHeader = re.data.tableList; @@ -591,6 +598,7 @@ export default { this.getList(); }); this.filterQuery.tagStatus = this.tagStatus + this.filterQuery.tagStatusList = this.tagStatusList this.findWorkPlace(this, '') } diff --git a/src/views/collect/CollectOrderNewParent.vue b/src/views/collect/CollectOrderNewParent.vue index 55408085..e70603e5 100644 --- a/src/views/collect/CollectOrderNewParent.vue +++ b/src/views/collect/CollectOrderNewParent.vue @@ -4,10 +4,10 @@ <el-tabs type="border-card" style="margin: 15px"> - <el-tab-pane label="未处理单据"> + <el-tab-pane label="原始单据"> <CollectOrderNew style="margin: -15px" - :tagStatus="'0'" + :tagStatusList=[0,1,2] ></CollectOrderNew> </el-tab-pane> diff --git a/src/views/collect/PannelOriginOrderDetail.vue b/src/views/collect/PannelOriginOrderDetail.vue new file mode 100644 index 00000000..893fa4e0 --- /dev/null +++ b/src/views/collect/PannelOriginOrderDetail.vue @@ -0,0 +1,333 @@ +<template> + <div> + <el-table v-loading="preLoading" :data="preDetailList" style="width: 100%" border> + <template v-for="(item, index) in tableHeader1"> + <el-table-column + v-if="item.columnType == 'id' && executeEval(row,item.expression,true)" + type="index" :label="item.columnDesc"></el-table-column> + <el-table-column + v-if="item.columnType == 'selection'" + type="selection" + :width="item.width" + :selectable="(row,number) => executeFuc(row,'3',item.clickFuc)" + ></el-table-column> + + <el-table-column + v-if="item.columnType == 'radio' && executeEval(row,item.expression,true)" + :prop="item.columnName" + :label="item.columnDesc" + :sortable="item.sort" + :width="item.width" + :show-overflow-tooltip="item.tooltip" + :key="item.columnName" + > + <template slot-scope="scope"> + <el-radio :label="scope.row.id" v-model="radioCheck"><span></span></el-radio> + </template> + </el-table-column> + <el-table-column + v-if="item.columnType == 'laber' && executeEval(row,item.expression,true)" + :prop="item.columnName" + :label="item.columnDesc" + :sortable="item.sort" + :width="item.width" + :show-overflow-tooltip="item.tooltip" + :key="item.columnName" + > + <template slot-scope="scope"> + <span :style="{color: executeFuc(scope.row,'4',item.lableRuleObj[scope.row[item.columnName]])}">{{ + item.lableRuleObj[scope.row[item.columnName]] + }}</span> + </template> + </el-table-column> + <el-table-column + v-if="item.columnType == 'eltag' && executeEval(row,item.expression,true)" + :prop="item.columnName" + :label="item.columnDesc" + :sortable="item.sort" + :width="item.width" + :show-overflow-tooltip="item.tooltip" + :key="item.columnName" + > + <template slot-scope="scope"> + <el-tag + :type="executeFuc(scope.row,'4',item,item.lableRuleObj?item.lableRuleObj[scope.row[item.columnName]]:scope.row[item.columnName])"> + <span>{{ + item.lableRuleObj ? item.lableRuleObj[scope.row[item.columnName]] : scope.row[item.columnName] + }}</span> + </el-tag> + </template> + </el-table-column> + <el-table-column + v-if="item.columnType == 'button' && executeEval(row,item.expression,true)" + :prop="item.columnName" + :label="item.columnDesc" + :width="item.width" + :key="item.columnName" + fixed="right" + > + <template slot-scope="scope"> + <el-button v-for="(buttonItem, buttonIndex) in item.buttonRulObj" + :type="buttonItem.type" + :size="buttonItem.size" + :style="buttonItem.style" + :key="buttonItem" + v-if="executeEval(scope.row,buttonItem.hasPermi,true)" + :disabled="executeEval(scope.row,buttonItem.disabledFuc,false)" + @click.native.stop="executeFuc(scope.row,'1',buttonItem.clickFuc)" + >{{ buttonItem.name }} + </el-button> + </template> + </el-table-column> + <el-table-column + v-if="item.columnType == 'text' && !(item.columnName == 'productDate' || item.columnName == 'expireDate') && executeEval(row,item.expression,true)" + :prop="item.columnName" + :label="item.columnDesc" + :sortable="item.sort" + :width="item.width" + :show-overflow-tooltip="item.tooltip" + :key="item.columnName" + > + <template slot-scope="scope"> + <span :style="{color: executeFuc(scope.row,'4',item,scope.row[item.columnName])}">{{ + scope.row[item.columnName] + }}</span> + </template> + </el-table-column> + <el-table-column + v-if="item.columnType == 'text' && (item.columnName == 'productDate' || item.columnName == 'expireDate') && executeEval(row,item.expression,true)" + :prop="item.columnName" + :label="item.columnDesc" + :sortable="item.sort" + :width="item.width" + :show-overflow-tooltip="item.tooltip" + :key="item.columnName" + > + <template slot-scope="scope"> + <span :style="{color: executeFuc(scope.row,'4',item,scope.row[item.columnName])}">{{ + convertDateFun(scope.row[item.columnName]) + }}</span> + </template> + </el-table-column> + </template> + </el-table> + + <pagination + v-show="preTotal>0" + :total="preTotal" + :limit.sync="preQuery.limit" + :page.sync="preQuery.page" + @pagination="preHandleCurrentChange" + ></pagination> + + + <el-dialog + title="扫码明细" + :visible.sync="scanDetailVisible" + :close-on-click-modal="false" + :close-on-press-escape="false" + v-if="scanDetailVisible" + width="65%" + append-to-body + > + <PanelOrderManuTagCode + :fifoSplit="3" + :prescribeData="prescribeData" + :bizId="bizId" + :closeScanDialog="closeScanDialog" + ></PanelOrderManuTagCode> + </el-dialog> + + </div> +</template> + +<script> +import {convertDate} from "@/utils/date"; +import {detail} from "@/api/basic/sicker/prescribeApi"; +import {executeFuc, getHead} from "@/utils/customConfig"; +import {codeRemove} from "@/api/collect/collectOrder"; +import { + orderDetail, +} from "@/api/collect/collectOriginOrder"; +import PanelOrderManuTagCode from "@/views/collect/PanelOrderManuTagCode"; + +/** + * 原始处方明细 + */ +export default { + name: "PannelOrderDetail", + props: { + prescribeData: { + type: Object, + default: null, + required: true + }, + //上货方式:1:拆零上货;2:整取上货; + fifoSplit: { + type: Object, + default: null, + required: true + }, + dealStatus: { + type: Number, + default: 1, + required: true + }, + + + }, + data() { + return { + //界面配置相关 + //原始处方明细 + tableHeader1: [], + queryList1: [], + tableObj1: [], + fromList1: [], + convertDateFun: convertDate, + + + preLoading: false, + preDetailList: [], + preTotal: 0, + preQuery: { + orderIdFk: null, + page: 1, + limit: 10, + }, + + countVisible: false, + scanDetailVisible: false, + bizId: null, + } + }, + methods: { + deleteMan(_this, row) { + _this.$confirm("是否确定删除该条扫码?", "提示", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning", + }).then(() => { + _this.loading = true; + _this.codeRemoveMan(row.id, 2); + }) + }, + deleteCode(_this, row) { + _this.$confirm("是否确定移除一个条码?", "提示", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning", + }).then(() => { + _this.loading = true; + _this.codeRemoveMan(row.id, 1); + }) + }, + codeRemoveMan(codeManId, delType) { + let post = { + codeManId: codeManId, + delType: delType + } + codeRemove(post).then((response) => { + if (response.code === 20000) { + this.$message.success("操作成功!"); + this.getList(this) + } else { + this.$message.error(response.message); + } + this.loading = false; + }).catch(() => { + this.loading = false; + }) + }, + //界面配置-------------end + executeFuc(row, type, clickFuc, value) { + return executeFuc(this, row, type, clickFuc, value); + }, + executeEval(row, expression, defaultRet) { + if (expression) { + return eval(expression); + } + return defaultRet; + }, + handleSortChange(column, prop, order) { + if (column.order === 'descending') { + this.query.sort = 'desc' + } else { + this.query.sort = 'asc' + } + this.query.orderBy = column.prop; + this.getList(); + }, + ///界面配置相关------------end + + preHandleCurrentChange(val) { + this.filterQuery.page = val.page; + this.getPrescribeDetail(this, null); + }, + getPrescribeDetail(_this) { + + if (_this.prescribeData == null) + return + if (_this.prescribeData != null) { + _this.preQuery.page = 1 + _this.preQuery.orderIdFk = this.prescribeData.billNo + } + _this.preLoading = true; + orderDetail(_this.preQuery).then(res => { + _this.preLoading = false + if (res.code != 20000) { + _this.$message.error(res.message) + return + } + _this.preDetailList = res.data.list + _this.preLoading = false + }).catch(() => { + _this.preLoading = false + _this.$message.error("数据加载失败") + }) + }, + + + scanDetail(_this, row) { + _this.bizId = row.id; + _this.scanDetailVisible = true; + }, + + closeScanDialog() { + this.getPrescribeDetail(this); + this.refreshPanel(this) + }, + + + }, + + + components: { + PanelOrderManuTagCode + }, + created() { + if (this.tableHeader1 == null || this.tableHeader1.length == 0) { + getHead("PannelOrderDetail", "1").then((re) => { + // 处理返回的数据 + this.tableObj1 = re.data; + this.tableHeader1 = re.data.tableList; + this.queryList1 = re.data.queryList; + this.fromList1 = re.data.fromList; + this.getPrescribeDetail(this); + }); + } + this.getPrescribeDetail(this); + if (this.dealStatus == 1) { + this.countVisible = false; + } else { + this.countVisible = true; + } + } + + +} +</script> + +<style scoped> + +</style>