You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
udiwms-vue-frame/src/views/collect/IoReturncllectOrder.vue

1843 lines
59 KiB
Vue

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<template>
<div>
<el-form :model="formData" class="order-el-form" ref="formData" label-width="120px" @submit.native.prevent>
<el-card>
<el-row style="margin-top: 6px;margin-bottom: -6px;"
v-if="this.formDataVisible != null && this.formDataVisible.scanType == 1"
>
<!-- <el-col :span="6">-->
<!-- <el-form-item prop="workPlaceCode" class="query-form-item" label="当前工位:">-->
<!-- <el-select-->
<!-- v-model="formData.workPlaceCode"-->
<!-- placeholder="当前工位"-->
<!-- style="width: 90%"-->
<!-- :disabled="corpOrderIdDisabled"-->
<!-- filterable-->
<!-- @change="workPlaceCodeChange"-->
<!-- >-->
<!-- <el-option-->
<!-- v-for="item in curWorkPlaces"-->
<!-- :key="item.workplaceId"-->
<!-- :label="item.workplaceName"-->
<!-- :value="item.workplaceId"-->
<!-- >-->
<!-- <span style="float: left">{{ item.workplaceName }}</span>-->
<!-- <span style="float: right; color: #8492a6; font-size: 13px">{{-->
<!-- item.workplaceId-->
<!-- }}</span>-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="6">-->
<!-- <el-form-item prop="busType" class="query-form-item" label="当前业务类型:">-->
<!-- <el-select v-model="formData.busType"-->
<!-- filterable-->
<!-- remote-->
<!-- @change="busTypeChange"-->
<!-- reserve-keyword-->
<!-- disabled-->
<!-- placeholder="请选择业务类型" clearable style="width: 55%">-->
<!-- <el-option-->
<!-- v-for="item in busTypeList"-->
<!-- :key="item.documentTypeCode"-->
<!-- :label="item.busName"-->
<!-- :value="item.documentTypeCode"-->
<!-- >-->
<!-- <span style="float: left">{{ item.busName }}</span>-->
<!-- <span style="float: right; color: #8492a6; font-size: 13px">{{ item.documentTypeCode }}</span>-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- <el-button type="primary" @click="toggleBusType" style="margin-left: 5px">切换业务</el-button>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!--<el-col :span="6">-->
<!-- <el-form-item prop="locInvCode" label="发货方:">-->
<!-- <el-select v-model="formData.shipper" placeholder="请选择发货方" clearable-->
<!-- :disabled="formData.billNo"-->
<!-- style="width: 90%"-->
<!-- @change="changeShipper"-->
<!-- >-->
<!-- <el-option-->
<!-- v-for="item in invList"-->
<!-- :key="item.name"-->
<!-- :label="item.name"-->
<!-- :value="item.code"-->
<!-- >-->
<!-- <span style="float: left">{{ item.name }}</span>-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!--</el-col>-->
<!--<el-col :span="6">-->
<!-- &lt;!&ndash; :label="this.formDataVisible.unitTittle + ':'"&ndash;&gt;-->
<!-- <el-form-item class="query-form-item" label="收货方:">-->
<!-- <el-select v-model="formData.fromCorp"-->
<!-- filterable-->
<!-- :disabled="formData.billNo"-->
<!-- remote-->
<!-- reserve-keyword-->
<!-- @change="changeCorp"-->
<!-- placeholder="请选择收货方" clearable style="width: 90%"-->
<!-- >-->
<!-- <el-option-->
<!-- v-for="item in fromInvOptions"-->
<!-- :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.code }}</span>-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!--</el-col>-->
</el-row>
<div style="margin-top: 1px;padding: 5px">
<el-row :gutter="0" style="margin-top: 5px">
<el-col :span="16">
<!--:label="scanTip" -->
<el-form-item prop="code" :label="scanTip" label-width="80px">
<el-input
id="inputer"
@focus="getInputFocus($event)"
@keypress.enter.native="enterKey($event)"
ref="inputRef"
style="ime-mode: disabled"
type="tel"
:placeholder="this.placeholder"
v-model="scanCode"
size="80"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-button-group style="display: flex; margin-left: 15px;height: 36px">
<el-button
type="primary"
:disabled="formData.billNo ||(this.formDataVisible != null && this.formDataVisible.scanType == 1)"
@click.native="selectPrescribe()"
>选单
</el-button>
<el-button
type="primary"
:disabled="!formData.billNo"
@click.native="cancelOrder()"
>放弃
</el-button>
<el-button
type="primary"
:disabled="!formData.billNo"
@click.native="saveDraftOrder()"
>挂起
</el-button>
<el-button
type="primary"
:disabled="!formData.billNo"
@click.native="confirmFinishOrder()"
>完成
</el-button>
<!--<el-button-->
<!-- type="primary"-->
<!-- :disabled="!formData.billNo"-->
<!-- @click.native="fullFinishOrder()"-->
<!--&gt;整单退货-->
<!--</el-button>-->
<el-button
type="primary"
:disabled="!formData.billNo || disabledSplitReturnOrder"
@click.native="splitReturnOrder()"
>整单拆零退货
</el-button>
</el-button-group>
</el-col>
</el-row>
<el-row :gutter="0">
<el-col :span="20" style="margin-top: 0px;margin-bottom: 10px;margin-left: 80px">
<el-checkbox v-model="checked" v-if="!this.formData.billNo && this.formDataVisible.scanType != 1">定向查询
</el-checkbox>
</el-col>
</el-row>
<!--<el-alert-->
<!-- :title="scanTitle"-->
<!-- :type="scanResultType"-->
<!-- :closable="false"-->
<!-- :dangerouslyUseHTMLString="true"-->
<!-- :description="result">-->
<!--</el-alert>-->
<!--<el-alert-->
<!-- v-if="warnVisible"-->
<!-- title="警告信息:"-->
<!-- type="warning"-->
<!-- :closable="true"-->
<!-- :dangerouslyUseHTMLString="true"-->
<!-- :description="warnResult">-->
<!--</el-alert>-->
<!--<el-alert-->
<!-- v-if="errVisible"-->
<!-- title="错误信息:"-->
<!-- type="warning"-->
<!-- :closable="true"-->
<!-- :dangerouslyUseHTMLString="true"-->
<!-- :description="errResult">-->
<!--</el-alert>-->
</div>
<!--<el-descriptions title="单据信息" :column="4" border style="margin-top: 15px" class="custom-descriptions">-->
<el-descriptions :column="7" border style="margin-top: 5px; font-size: 16px">
<el-descriptions-item label="退药单号">
<div style="font-size: 15px">{{ formData.billNo }}</div>
</el-descriptions-item>
<el-descriptions-item label="发货方">
<div style="font-size: 15px">{{ formData.shipperName }}</div>
</el-descriptions-item>
<el-descriptions-item label="收货方">
<div style="font-size: 15px">{{ formData.fromCorpName }}</div>
</el-descriptions-item>
<el-descriptions-item label="单据时间">
<div style="font-size: 15px">{{ formData.billTime }}</div>
</el-descriptions-item>
</el-descriptions>
<!--<div id="qrcode-container" ref="barcodeContainer" style="margin-right: 38px;padding-bottom: 30px"></div>-->
<!--<svg ref="barcodeContainer"></svg>-->
</el-card>
<el-tabs type="border-card" style="margin: 15px" v-model="editableTabsValue">
<!--<el-tab-pane label="扫码详情" name="prescribeOriginPanel">-->
<IoReturnOrderBiz
v-if="panelALive"
:prescribeData="curRow"
></IoReturnOrderBiz>
</el-tabs>
<el-dialog
title="选入业务单据"
:visible.sync="selectPrescriptionVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
v-if="selectPrescriptionVisible"
width="65%"
append-to-body
>
<selectPrescribeDialog
ref="childRef"
:workPlaceCode="this.workplaceId"
:busType="this.formData.busType"
:fromCorp="this.formData.fromCorp"
:confirmSelect="this.confirmSelect"
:closeDialog="this.closeDialog"
:viewType="viewType"
></selectPrescribeDialog>
</el-dialog>
<el-dialog
title="选择业务类型"
:visible.sync="selectBusTypeDisabled"
:close-on-click-modal="false"
:close-on-press-escape="false"
:show-close="false"
v-if="selectBusTypeDisabled"
width="65%"
append-to-body
>
<el-row>
<!-- <el-button v-for="(item, index) in busTypeList" :key="index" type="primary" plain @click="selectBusType(item.code)">{{ item.name }}</el-button>-->
<el-col v-for="(info, index) in busTypeList" :key="index" :xs="12" :sm="8" :md="8" :lg="6">
<el-card :body-style="{margin:'20px'}"
style="margin:20px 20px 20px 20px;height: 200px;background-color: #e1f3fb;border-radius: 12px; position: relative;"
>
<div
style="display: flex; justify-content: space-between; align-items: center; height: 46px; /* 约为 200px 的 1/3 */"
@click="selectBusType(info.documentTypeCode)"
>
<p style="font-size: 20px;background-color: #e1f3fb;font-weight: bold;">{{ info.busName }}</p>
<!-- 假设你的信息对象中包含一个title属性 -->
<!-- <div style="width: 60px; height: 60px; display: flex; justify-content: center; align-items: center;">-->
<!-- &lt;!&ndash; 二维码占位这里用灰色方块代替 &ndash;&gt;-->
<!--&lt;!&ndash; <span>QR</span>&ndash;&gt;-->
<!-- <div ref="qrcode" :id="'qrcode-'+index" style="width: 60px;height: 60px;"></div>-->
<!-- </div>-->
</div>
<div style="flex: 1; display: flex; flex-direction: column; justify-content: flex-end; padding-top: 10px;"
>
<!-- 假设这里有一些信息内容 -->
<p style="font-size: 14px;background-color: #e1f3fb" @click="selectBusType(info.documentTypeCode)">
{{ info.remark }}</p>
<el-button type="primary" style="position: absolute; bottom: 20px; right: 20px;" icon="el-icon-thumb"
@click="selectBusType(info.documentTypeCode)"
>开始作业
</el-button>
</div>
</el-card>
</el-col>
</el-row>
</el-dialog>
</el-form>
</div>
</template>
<script>
import addOrder from '@/views/inout/DialogCreateOrder'
import errOrder from '@/views/inout/IoCreateErrorOrder'
import { executeFuc, getHead } from '@/utils/customConfig'
import { convertDate } from '@/utils/date'
import selectPrescribeDialog from '@/views/collect/selectCollectOrderDialog'
import PanelOrderManuTagCode from './PanelOrderManuTagCode'
import IoReturnOrderBiz from './IoReturnOrderBiz'
import prescribeCodePanel from './PanelOrderTagCode'
import PannelOrderBiz from './PannelOrderBiz'
import { listPage } from '@/api/basic/workPlace/sysWorkplaceManage'
import { enterCodeWeb, batchVailCode, enterCodeBillNo, saveOrderWeb, batchUpdateCode } from '@/api/inout/order'
import {
cancelOrder,
draftOrder,
finishOrder,
startSplit,
tagCode,
updateOrder,
vailOrderFinish
} from '@/api/collect/splitCreateOrder'
import { selectCorpList } from '@/api/basic/basicUnitMaintain'
import {
getCurOrder,
getNextOrder,
findByBill,
findFromCorp,
orderDetail,
removeByScanCode, finishReturnOrder, returnOrderSubmit, splitReturnOrderCode, splitOrderCode
} from '@/api/collect/collectOrder'
import PanelOrderAllDetail from '@/views/collect/PanelOrderAllDetail'
import { getWorkBindBusTypes, removeBusTypeById } from '@/api/basic/workPlace/sysWorkplaceDocuments'
import { getInvListByUser } from '@/api/system/invWarehouse'
import { orderbatchAddCode } from '@/api/inout/splitCode'
import { isBlank } from '@/utils/strUtil'
import JsBarcode from 'jsbarcode'
import { getSet } from '@/api/collect/collectSet'
import { MessageBox } from 'element-ui'
export default {
/**
* 处方退货
*/
name: 'IoReturncllectOrder',
props: {
resetKey: {
type: Function,
required: true
}
},
data() {
return {
tabsName: [
'IoReturnOrderBiz',
'prescribeCodePanel1',
'prescribeCodePanel2',
'PanelOrderAllDetail'
],
editableTabsValue: 'IoReturnOrderBiz',
fromInvOptions: [],
//界面配置相关
//患者处方
loading: false,
placeholder: '请点击输入框扫描单据',
tableHeader: [],
queryList: [],
tableObj: [],
fromList: [],
convertDateFun: convertDate,
//界面配置-------------end
showSearch: true,
filterQuery: {
billNo: null,
page: 1,
limit: 10
},
list: [],
total: 0,
defaultSort: { prop: 'createTime', order: 'desc' },
formDataVisible: {
scanType: null,
unitTittle: '往来单位',
corpType: 3
},
curWorkPlaces: [],
erpList: [],
formData: {
billNo: null,
tagStatus: -1,
invCode: null,
busType: null,
workPlaceCode: null,
fromCorp: null,
confirmFinish: false
},
selectPrescriptionVisible: false,
corpOrderIdDisabled: false,
isLinkDisabled: false,
selectBusTypeDisabled: false,
userInfo: {
inv: this.$store.getters.locInvName,
deptName: this.$store.getters.locDeptName,
userName: this.$store.getters.name,
companyName: this.$store.getters.companyName
},
curRow: null,
panelALive: false,
autoFinishOrderFlag: true,//是否对完成的单据提示立即提交
//扫码相关
scanCode: '',
isSuccess: false,
checked: true,
scanTitle: '扫码结果:',
result: ' \n',
msgTip: '信息提醒:',
originCode: '',
checkSuccess: false,
scanResultType: 'success',
isSelectOrder: false,
isFinishOrder: true,
busQuery: {
busKey: '',
workplaceCode: null,
page: 1,
limit: 100
},
busTypeList: [],
busTypeTotal: 0,
invList: [],
viewType: 1,
scanDisabled: false,
valiCodes: [],
warnResult: '',
errResult: '',
warnVisible: false,
errVisible: false,
workplaceId: null,
ws: null,
scanTip: '扫码录入:',
scanSplit: false,
//
labels: {
1: '扫码录入:',
2: '扫码剔除:'
},
labelName: 1,
scanStatus: null, // 1:扫码剔除; null 处理单据
collectSet: {},
disabledSplitReturnOrder: false,
}
},
components: {
addOrder,
errOrder,
selectPrescribeDialog,
prescribeCodePanel,
PanelOrderManuTagCode, IoReturnOrderBiz,
PannelOrderBiz,
PanelOrderAllDetail
},
watch: {
resetKey(newVal, oldVal) {
this.$refs.inputRef.focus()
}
},
methods: {
generateBarcode() {
const barcodeData = this.formData.billNo
// 获取条形码容器
const barcodeContainer = this.$refs.barcodeContainer
// 使用JsBarcode生成条形码
JsBarcode(barcodeContainer, barcodeData, {
format: 'CODE128',
displayValue: true,
fontSize: 8, // 减小字体大小
textColor: '#000',
lineColor: '#000',
width: 1.2, // 减小条形码宽度
height: 15, // 减小条形码高度
margin: 1 // 减小外边距
})
},
getBillNo(billNo) {
let post = {
billNo: billNo,
workPlaceCode: this.workplaceId,
page: 1,
limit: 10
}
findByBill(post).then(res => {
if (res.code == 20000) {
if (res.data.billNo != null) {
this.formData = res.data
this.scanCode = ''
this.formData.workPlaceCode = this.workplaceId
this.checked = false
}
} else {
this.checked = true
this.formData.billNo = null
this.$message.error(res.message)
}
})
},
selectBusType(val) {
this.formData.busType = val
this.selectBusTypeDisabled = false
if (this.formData.workPlaceCode != null) {
this.findCurOrder()
}
},
getWorkBindBusTypes(workplaceId) {
this.busQuery.workplaceCode = workplaceId
getWorkBindBusTypes(this.busQuery).then(res => {
if (res.code == 20000) {
this.busTypeList = res.data.list
this.busTypeTotal = res.data.total
if (this.formData.billNo != null) {
this.getBillNo(this.formData.billNo)
this.startDeal()
} else {
if (this.busTypeList.length == 1 && this.$route.query.busType == null) {
this.formDataVisible = this.busTypeList[0]
this.formData.busType = this.busTypeList[0].documentTypeCode
this.selectBusTypeDisabled = false
if (this.formDataVisible.scanType == 1) {
this.findFromInvList('')
this.getInvList()
this.placeholder = '请点击输入框进行扫码生成业务单据'
} else {
this.findCurOrder()
}
} else {
//这里不能获取路由上面的订单代码
if (this.$route.query.workplaceId != null) {
this.$refs.inputRef.focus()
this.formDataVisible = this.busTypeList.find(
item => /^YPCFTF/.test(item.documentTypeCode || "") // 正则匹配前缀
);
this.formData.busType = this.formDataVisible.documentTypeCode
//scanType
// 1.扫码生成业务单
// 2.按单校验三期
// 3.按单不校验三期
if (this.formDataVisible.scanType == 1) {
this.findFromInvList('')
this.getInvList()
this.placeholder = '请点击输入框进行扫码生成业务单据'
} else {
//获取正在处理的单据
this.findCurOrder()
}
}
}
}
}
return
})
},
findFromInvList(val) {
let cQuery = {
corpType: this.formDataVisible.consignee,
invCode: this.formData.invCode
}
findFromCorp(cQuery)
.then((response) => {
if (!isBlank(this.$route.query.busType) && this.formDataVisible.consignee == 2) {
this.invList = response.data || []
} else {
this.fromInvOptions = response.data || []
}
})
.catch(() => {
})
},
workPlaceCodeChange(value) {
this.getWorkBindBusTypes(value)
return
},
busTypeChange(value) {
let busType = this.busTypeList.find(item => item.documentTypeCode === value)
this.formData.busType = busType.documentTypeCode
this.selectBusTypeDisabled = false
this.formDataVisible = busType
if (this.formDataVisible.scanType == 1) {
this.findFromInvList('')
}
this.findCurOrder()
},
handleClick(blankName) {
// let url = window.location.origin+`#/tagCodeBlank?workplaceId=`+ this.stationList[index].workplaceId
let url = window.location.origin + `#/` + blankName + `?workplaceId=` + this.workplaceId
// this.$router.push( workplaceId)
window.open(url, '_blank')
},
handleClickOut(blankName) {
// let url = window.location.origin+`#/tagCodeBlank?workplaceId=`+ this.stationList[index].workplaceId
let url = window.location.origin + `#/` + blankName + `?splitType=out&workplaceId=` + this.workplaceId
// this.$router.push( workplaceId)
window.open(url, '_blank')
},
handleClickReturn(blankName) {
// let url = window.location.origin+`#/tagCodeBlank?workplaceId=`+ this.stationList[index].workplaceId
let url = window.location.origin + `#/` + blankName + `?splitType=return&workplaceId=` + this.workplaceId
// this.$router.push( workplaceId)
window.open(url, '_blank')
},
//获取当前货位
findCurWorkPlaces(val) {
let query = {
key: val,
status: 1,
// invCode: this.formData.invCode,
page: 1,
limit: 100
}
listPage(query).then((res) => {
this.curWorkPlaces = res.data.list || []
if (this.curWorkPlaces.length == 1 && this.formData.workPlaceCode == null) {
this.formData.workPlaceCode = this.curWorkPlaces[0].workplaceId
this.workPlaceCodeChange(this.formData.workPlaceCode)
}
})
},
//界面配置相关------------
executeFuc(row, type, clickFuc, value) {
return executeFuc(this, row, type, clickFuc, value)
},
executeEval(row, expression, defaultRet) {
if (expression) {
return eval(expression)
}
return defaultRet
},
///界面配置相关------------end
hideSearch() {
this.showSearch = !this.showSearch
},
refreshCodesPanel(_this) {
_this.panelALive = false
_this.$nextTick(() => {
_this.panelALive = true
})
_this.getBizDetailList()
_this.vailOrderFinish()
},
refreshCodesPanelBank(_this) {
_this.panelALive = false
_this.$nextTick(() => {
_this.panelALive = true
})
// _this.getBizDetailList();
_this.vailOrderFinish()
},
refreshCodesPanelP() {
let _this = this
_this.panelALive = false
_this.$nextTick(() => {
_this.panelALive = true
})
_this.vailOrderFinish()
},
getInputFocus(event) {
event.currentTarget.select()
},
getBizDetailList() {
let preQuery = {}
if (this.formData == null) {
return
}
if (this.formData != null) {
preQuery = {
orderIdFk: this.formData.billNo
}
}
orderDetail(preQuery).then(res => {
if (res.code != 20000) {
this.$message.error(res.message)
return
}
this.overdeleteCode()
}).catch(() => {
this.$message.error('数据加载失败')
})
},
enterKey() {
if (this.scanCode.includes('DMOENTER')) {
if (this.formData.billNo == null) {
this.$message.error('请先选择单据')
} else {
this.confirmFinishOrder()
}
this.scanCode = ''
return
} else if (this.scanCode.includes('DMOCANCEL')) {
if (this.formData.billNo == null) {
this.$message.error('请先选择单据')
} else {
this.cancelOrder()
}
this.scanCode = ''
return
} else if (this.scanCode.includes('DMODEL')) {
if (this.formData.billNo == null) {
this.$message.error('请先选择单据')
} else {
this.deleteCode()
}
this.scanCode = ''
return
}
if (this.formData.billNo == null && this.formDataVisible.scanType != 1) {
this.enterBillNoKey()
return
}
this.checkSuccess = true
this.filterQuery.code = this.scanCode.trim()
if (this.filterQuery.code.includes(';')) {
const codeArray = this.filterQuery.code.split(';')
const verify = this.verifyScanCount(codeArray)
if (verify) {
let params = {
codeList: codeArray
}
this.batchVailCode(params)
}
return
}
if (this.filterQuery.code) {
if (!this.parseString(this.filterQuery.code)) {
this.$refs.inputRef.focus()
this.$refs.inputRef.select()
this.$message.error('无效追溯码')
return
}
}
let tQuery = {
viewType: 'tagCode',
workPlaceCode: this.workplaceId,
originCode: this.originCode,
busType: this.formData.busType,
code: this.filterQuery.code.trim()
}
if (this.scanStatus == 1) {
const codeArray = this.filterQuery.code.split(';')
let query = {
orderId: this.formData.billNo,
codeList: codeArray
}
//剔除码
this.removeCodesTemp(query)
} else {
enterCodeWeb(tQuery).then((response) => {
if (response.code === 20000) {
this.$refs.inputRef.focus()
this.$refs.inputRef.select()
this.isSuccess = true
this.filterQuery.code = response.data.code
this.scanCode = ''
this.originCode = ''
this.addCode()
} else {
if (response.code == 502) {
this.checkSuccess = false
this.isSuccess = false
this.printCodeResult(response.data, response.message)
this.filterQuery.code = response.data.code
this.originCode = response.data.code
} else if (response.code == 501) {
this.checkSuccess = false
this.$message.error(response.message)
this.scanCode = ''
} else if (response.code == 503) {
this.checkSuccess = false
this.isSuccess = false
this.printCodeResult(response.data, response.message)
this.filterQuery.code = response.data.code
this.scanCode = ''
this.$confirm(response.message, '提示', {
type: 'warning'
})
.then(() => {
this.filterQuery.code = response.data.code
this.addCode()
})
.catch(() => {
this.filterQuery.code = response.data.code
})
} else if (response.code == 508) {
this.originCode = ''
this.filterQuery.code = '01' + response.data.nameCode
this.originCode = this.filterQuery.code
} else if (response.code == 601) {
this.formData.billNo = response.data.billNo
this.placeholder = '已选入单据请扫UDI码进行作业'
this.getBillNo(this.formData.billNo)
this.startDeal()
} else {
this.scanCode = ''
this.$alert(response.message, '提示', {
confirmButtonText: '确定',
type: 'warning',
closeOnClickModal: true,
callback: (action) => {
this.$refs.inputRef.focus()
this.$refs.inputRef.select()
}
})
}
}
this.loading = false
})
}
},
enterBillNoKey(billNo) {
this.checkSuccess = true
this.filterQuery.code = this.scanCode
let tQuery = {
viewType: 'tagCode',
workPlaceCode: this.workplaceId,
originCode: this.originCode,
busType: this.formData.busType,
code: this.filterQuery.code.trim()
}
if (billNo != null) {
tQuery.code = billNo
}
enterCodeBillNo(tQuery).then((response) => {
if (response.code === 20000) {
this.$refs.inputRef.focus()
this.$refs.inputRef.select()
this.isSuccess = true
this.printCodeResult(response.data, response.message)
this.filterQuery.code = response.data.code
this.scanCode = ''
this.originCode = ''
this.addCode()
this.updateOrder()
} else {
if (response.code == 502) {
this.checkSuccess = false
this.isSuccess = false
this.printCodeResult(response.data, response.message)
this.filterQuery.code = response.data.code
this.originCode = response.data.code
this.scanCode = ''
} else if (response.code == 501) {
this.checkSuccess = false
this.$message.error(response.message)
this.scanCode = ''
} else if (response.code == 503) {
this.checkSuccess = false
this.isSuccess = false
this.printCodeResult(response.data, response.message)
this.filterQuery.code = response.data.code
this.scanCode = ''
this.$confirm(response.message, '提示', {
type: 'warning'
})
.then(() => {
this.filterQuery.code = response.data.code
this.addCode()
})
.catch(() => {
this.filterQuery.code = response.data.code
})
} else if (response.code == 508) {
this.originCode = ''
this.filterQuery.code = '01' + response.data.nameCode
this.originCode = this.filterQuery.code
} else if (response.code == 601) {
this.placeholder = '已选入单据请扫UDI码进行作业'
this.formData.billNo = response.data.billNo
this.getBillNo(this.formData.billNo)
this.startDeal()
} else {
this.scanCode = ''
this.$alert(response.message, '提示', {
confirmButtonText: '确定',
type: 'warning',
closeOnClickModal: true,
callback: (action) => {
this.$refs.inputRef.focus()
this.$refs.inputRef.select()
}
})
}
}
this.loading = false
})
},
addCode(code) {
if (this.$isNotBlank(code)) {
this.filterQuery.code = code
}
if (this.$isBlank(this.filterQuery.code)) {
this.filterQuery.code = this.scanCode.trim()
}
if (this.$isBlank(this.filterQuery.code) && this.$isBlank(this.scanCode)) {
return
}
let tagQuery = {
workPlaceCode: this.formData.workPlaceCode,
fromCorp: this.formData.fromCorp,
fromCorpName: this.formData.fromCorpName,
shipper: this.formData.shipper,
shipperName: this.formData.shipperName,
billNo: this.formData.billNo,
code: this.filterQuery.code.trim(),
insert: this.formData.insert,
busType: this.formData.busType
}
tagCode(tagQuery).then(res => {
this.loading = false
if (res.code == 20000) {
this.formData.tagStatus = 2
this.formData.insert = false
this.formData = res.data
this.formData.confirmFinish = false
this.curRow = this.formData
this.$refs.inputRef.focus()
this.refreshCodesPanel(this)
}else if(res.code == 502){
return this.$message.error("非此单追溯码")
} else{
return this.$message.error(res.message)
}
}).catch(() => {
this.loading = false
})
},
saveDraftOrder() {
this.$confirm('此操作将挂起当前正在处理单据,是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
draftOrder(this.formData).then(res => {
this.loading = false
if (res.code == 20000) {
if (this.scanStatus == 1) {
this.overdeleteCode()
}
this.reset()
}
}).catch(() => {
this.loading = false
})
}).catch(() => {
})
},
cancelOrder() {
this.$confirm('此操作将取消当前正在处理单据,是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
cancelOrder(this.formData).then(res => {
this.loading = false
if (res.code == 20000) {
const audio = new Audio(require('@/assets/audioFiles/colser.mp3'))
audio.play()
this.overdeleteCode()
this.reset()
}
}).catch(() => {
this.loading = false
})
}).catch(() => {
})
},
confirmFinishOrder() {
this.$confirm('是否确定完成此单退货?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.finishOrder()
}).catch(() => {
})
},
fullFinishOrder(){
this.$confirm('是否确定整单处方退货?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
let query = {
billNo: this.formData.billNo,
busType:this.formData.busType
}
returnOrderSubmit(query).then(res => {
if (res.code == 20000){
// const audio = new Audio(require('@/assets/audioFiles/order.mp3'))
// audio.play()
this.resetSplit()
return this.$message.success("退货成功")
}else {
return this.$message.error(res.message)
}
})
}).catch(() => {
})
},
resetSplit() {
this.formData = {
billNo: null,
tagStatus: -1,
workPlaceCode: this.formData.workPlaceCode,
busType: this.formData.busType,
shipper: null,
fromCorp: null
}
this.selectSysParam()
this.curRow = null
this.formData.confirmFinish = false
this.clearCode()
this.$refs.inputRef.focus()
this.$refs.inputRef.select()
},
splitReturnOrder(){
this.$confirm('是否确定整单拆零退货?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
let query = {
billNo: this.formData.billNo,
busType:this.formData.busType,
workPlaceCode:this.workplaceId
}
splitOrderCode(query).then(res => {
if (res.code == 20000){
// const audio = new Audio(require('@/assets/audioFiles/order.mp3'))
// audio.play()
this.disabledSplitReturnOrder = true
this.refreshCodesPanel(this)
return this.$message.success("退货成功")
}else {
return this.$message.error(res.message)
}
})
}).catch(() => {
})
},
finishOrder() {
finishReturnOrder(this.formData).then(res => {
this.loading = false
if (res.code == 20000) {
const audio = new Audio(require('@/assets/audioFiles/order.mp3'))
audio.play()
this.resetSplit()
return this.$message.success("退货成功")
if (this.formDataVisible.scanType != 1) {
this.findCurOrder()
}
} else if (res.code == 502) {
this.$confirm(res.message, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.formData.confirmFinish = true
this.finishOrder()
}).catch(() => {
})
} else {
this.$message.error(res.message)
}
}).catch(() => {
this.loading = false
})
},
updateOrder() {
this.formData.workPlaceCode = this.workplaceId
updateOrder(this.formData).then(res => {
this.loading = false
}).catch(() => {
this.loading = false
})
},
//选择单据
selectPrescribe() {
// console.log(this.formData.workPlaceCode)
if (this.$route.query.busType != null) {
this.formData.busType = this.formDataVisible.documentTypeCode
}
this.selectPrescriptionVisible = true
},
//获取下一单据
nextCollectOrder() {
let nextQuery = {
busType: this.formData.busType
}
getNextOrder(nextQuery).then(res => {
this.loading = false
if (res.code == 20000) {
this.formData = res.data
this.startDeal()
} else {
this.$message.error(res.message)
}
}).catch(() => {
this.loading = false
})
},
findCurOrder() {
let nextQuery = {
// workPlaceCode: this.formData.workPlaceCode,
busType: this.formData.busType
}
getCurOrder(nextQuery).then(res => {
this.loading = false
if (res.code == 20000) {
let temp = res.data
if (temp.tagStatus === -1) {
this.$confirm('检测到当前工位存在挂起退货单据,是否继续上一次退货单据处理?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.formData = temp
// this.generateBarcode()
this.startDeal()
}).catch(() => {
})
} else if (temp.tagStatus === 2 || temp.tagStatus === 1) {
this.formData = temp
this.formData.confirmFinish = false
// this.generateBarcode()
this.panelALive = true
this.startDeal()
// this.$confirm('检测到当前工位存在正在处理单据,是否继续上一次单据处理?', '提示', {
// confirmButtonText: '确定',
// cancelButtonText: '取消',
// type: 'warning'
// }).then(() => {
//
// }).catch(() => {
// });
}
} else {
// this.$message.error(res.message)
this.$refs.inputRef.focus()
}
}).catch(() => {
this.loading = false
})
},
closeDialog() {
this.selectPrescriptionVisible = false
},
confirmSelect(row) {
this.formData = row
this.formData.workPlaceCode = this.workplaceId
this.startDeal()
this.selectPrescriptionVisible = false
// this.generateBarcode()
},
startDeal() {
this.autoFinishOrderFlag = true
this.curRow = this.formData
//todo 拆零方法要去掉
// this.dealSplitOrder()
//处理哪个活动的明细子组件
// this.selectTabsname(this.formData.busType);
//激活子组件
this.refreshCodesPanel(this)
this.formData.tagStatus = 2
this.updateOrder()
this.selectSysParam()
// this.refreshCodesPanel(this);
this.$refs.inputRef.focus()
},
selectTabsname(value) {
if (this.$isBlank(this.filterQuery.code) && this.busTypeList.length > 0) {
let busType = this.busTypeList.find(item => item.documentTypeCode === value)
let autoTag = busType.autoTag
if (autoTag == 1) {
this.editableTabsValue = this.tabsName[1]
}
}
},
//开始拆零
dealSplitOrder() {
this.formData.workPlaceCode = this.workplaceId
startSplit(this.formData).then(res => {
this.loading = false
if (res.code == 20000) {
this.selectPrescriptionVisible = false
this.refreshCodesPanel(this)
} else if (res.code == 501) {
this.$refs.childRef.getList()
this.$refs.childRef.getDraftList()
this.$refs.childRef.getOtherList()
this.$message.warning(res.message)
this.refreshCodesPanel(this)
}
}).catch(() => {
this.loading = false
})
},
printCodeResult(data, message) {
const resultParts = []
if (data.udi) {
resultParts.push('层级标识: ' + data.udi)
}
if (data.cpmctymc) {
resultParts.push(data.productType == 2 ? '药品通用名称' : '产品通用名称: ' + data.cpmctymc)
}
if (data.batchNo) {
resultParts.push('批次号: ' + data.batchNo)
}
if (data.produceDate) {
resultParts.push('生产日期: ' + data.produceDate)
}
if (data.expireDate) {
resultParts.push('失效日期: ' + data.expireDate)
}
if (data.serialNo) {
resultParts.push('序列号: ' + data.serialNo)
}
if (data.productType == 2) {
if (data.bzgg) {
resultParts.push('包装规格: ' + data.bzgg)
}
} else {
if (data.ggxh) {
resultParts.push('规格型号: ' + data.ggxh)
}
}
if (data.prepnSpec) {
resultParts.push('制剂规格: ' + data.prepnSpec)
}
if (data.prepnUnit) {
resultParts.push('剂型: ' + data.prepnUnit)
}
if (data.packUnit) {
resultParts.push('计量单位: ' + data.packUnit)
}
this.scanTitle = '扫码结果:' + data.code
this.result = resultParts.join(' , ')
if (message == 'success') {
this.scanResultType = 'success'
} else {
this.scanResultType = 'warning'
this.result = this.result + '\n' + message
}
},
popupTip(data) {
this.$confirm(data.errMsg, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.formData.insert = true
this.addCode(data.code)
}).catch(() => {
})
},
vailOrderFinish() {
if (!this.autoFinishOrderFlag) {
return
}
if (this.formDataVisible.scanType == 1) {
return
}
vailOrderFinish(this.formData).then(res => {
this.loading = false
if (res.code == 20000) {
if (res.data) {
this.$confirm('单据已赋码或可自动赋码,是否立即完成单据?', '提示', {
confirmButtonText: '立即提交',
cancelButtonText: '手动扫码',
type: 'warning'
}).then(() => {
this.finishOrder()
}).catch(() => {
this.autoFinishOrderFlag = false
})
}
} else {
}
}).catch(() => {
this.loading = false
})
},
async printMutiCodeResult(vailCodeResultResponses) {
this.warnResult = ''
this.errResult = ''
this.result = ''
this.warnVisible = false
this.errVisible = false
for (let i = 0; i < vailCodeResultResponses.length; i++) {
let data = vailCodeResultResponses[i]
if (data.status == 1) {
this.result = this.result + ';' + vailCodeResultResponses[i].code
} else if (data.status == 2) {
this.warnResult = this.warnResult + '\n' + vailCodeResultResponses[i].code + ':' + vailCodeResultResponses[i].errMsg
} else if (data.status == 3) {
this.result = this.result + '\n' + vailCodeResultResponses[i].code
// this.warnResult = this.warnResult + "\n" + vailCodeResultResponses[i].code + ":" + vailCodeResultResponses[i].errMsg;
await this.popupTip(data)
}
// else
// this.errResult = this.errResult + "\n" + vailCodeResultResponses[i].code + ":" + vailCodeResultResponses[i].errMsg;
}
if (!isBlank(this.warnResult)) {
this.warnVisible = true
}
if (!isBlank(this.errResult)) {
this.errVisible = true
}
},
handleCommand(command) {
// this.$message('click on item ' + command);
},
verifyScanCount(codeArray) {
//判断扫码数量是否超出或少于设置扫码数量
if (this.collectSet.scanMaxCount != null && this.collectSet.scanMaxCount != 0) {
if (this.collectSet.scanMaxCount > codeArray.length) {
this.scanCode = ''
this.$message.error('扫码数量少于设置扫码数量')
return false
} else if (this.collectSet.scanMaxCount < codeArray.length) {
this.scanCode = ''
this.$message.error('扫码数量超出')
return false
}
}
return true
},
clearCode() {
// this.originCode = "";
// this.formData.code = "";
// this.formData.billNo = null;
// this.formData.shipper = null;
// this.formData.fromCorp = null;
this.scanCode = ''
// this.scanTitle = "扫码结果:";
// this.result = "";
// this.warnResult = ""
// this.errResult = ""
// this.warnVisible = false
// this.errVisible = false
},
/**
* 重置
*/
resetWork() {
this.formData = {
tagStatus: -1,
workPlaceCode: this.formData.workPlaceCode,
busType: this.formData.busType
}
this.curRow = null
this.formData.confirmFinish = false
this.refreshCodesPanel(this)
this.clearCode()
this.$refs.inputRef.focus()
this.$refs.inputRef.select()
},
reset() {
this.formData = {
billNo: null,
tagStatus: -1,
workPlaceCode: this.formData.workPlaceCode,
busType: this.formData.busType,
shipper: null,
fromCorp: null
}
this.selectSysParam()
this.curRow = null
this.formData.confirmFinish = false
this.refreshCodesPanelBank(this)
this.clearCode()
this.$refs.inputRef.focus()
this.$refs.inputRef.select()
},
toggleBusType() {
//隐藏下拉框内容
// this.$refs.selectHeadEmpId.blur();
this.selectBusTypeDisabled = true
},
getInvList() {
let query = {
advanceType: 1
}
getInvListByUser(query)
.then((response) => {
if (!isBlank(this.$route.query.busType) && this.formDataVisible.consignee == 2) {
this.fromInvOptions = response.data || []
} else {
this.invList = response.data || []
}
})
.catch(() => {
})
},
changeCorp() {
let corp = this.fromInvOptions.find(item => item.code === this.formData.fromCorp)
this.formData.fromCorpName = corp.name
},
changeShipper() {
let corp = this.invList.find(item => item.code === this.formData.shipper)
this.formData.shipperName = corp.name
this.formData.shipper = corp.code
},
//处理事件
handleRecCodesEvent(event) {
console.log('接收 recCodes event:', event.detail.recCodes)
let params = {
codeList: event.detail.recCodes
}
if (this.formData.billNo == null) {
this.$message.error('请先选入单据!')
return
}
const verify = this.verifyScanCount(event.detail.recCodes)
if (verify) {
this.batchVailCode(params)
}
},
batchVailCode(params) {
if (this.scanStatus == 1) {
//剔除
const codeArray = this.filterQuery.code.split(';')
// const codeArray = this.codeFormData.code.split(';')
let query = {
orderId: this.formData.billNo,
codeList: codeArray
}
//剔除码
this.removeCodesTemp(query)
} else {
batchVailCode(params).then((res) => {
if (res.code === 20000) {
this.valiCodes = []
let list = res.data
list.forEach(item => {
if (item.status === 1) {
this.valiCodes.push(item.code)
}
})
this.$refs.inputRef.focus()
this.$refs.inputRef.select()
this.printMutiCodeResult(list)
if (this.valiCodes != null && this.valiCodes.length > 0) {
//批量添加
let params2 = {
workPlaceCode: this.formData.workPlaceCode,
codeList: this.valiCodes,
fromCorp: this.formData.fromCorp,
billNo: this.formData.billNo,
insert: this.formData.insert,
busType: this.formData.busType,
fromCorpName: this.formData.fromCorpName,
invCode: this.formData.invCode
}
orderbatchAddCode(params2).then((res) => {
if (res.code === 20000) {
this.formData.tagStatus = 2
this.formData.insert = false
this.curRow = this.formData
this.$refs.inputRef.focus()
this.refreshCodesPanel(this)
this.printMutiCodeResult(res.data.vailCodeResultResponses)
} else {
this.$message.error(res.message)
}
})
// this.scanCode = this.valiCodes.join(";");
}
this.selectSysParam()
} else {
this.$message.error(res.message)
}
})
}
},
removeCodesTemp(query) {
removeByScanCode(query).then(res => {
if (res.code == 20000) {
this.$message.success('剔除成功')
this.scanCode = ''
this.panelALive = false
this.$nextTick(() => {
this.panelALive = true
})
this.result = ''
} else if (res.code == 501) {
} else {
this.result = ''
this.scanCode = ''
this.$message.error(res.message)
}
})
},
//扫码校验
addGs() {
const input = this.$refs.inputRef.$refs.input
const textToInsert = '\u001D'
const start = input.selectionStart
const end = input.selectionEnd
this.scanCode = this.scanCode.slice(0, start) + textToInsert + this.scanCode.slice(end)
this.$nextTick(() => {
this.focus = true
input.selectionStart = input.selectionEnd = start + textToInsert.length
this.$refs.inputRef.focus()
})
},
handleScanComplete(fullScanData) {
console.log('Scan complete:', fullScanData.join(';'))
if (this.formData.billNo == null && this.formDataVisible.scanType != 1) {
this.enterBillNoKey(fullScanData[0])
return
}
let params = {
codeList: fullScanData
}
if (this.formData.billNo == null) {
this.$message.error('请先选入单据!')
return
}
const verify = this.verifyScanCount(fullScanData)
if (verify) {
this.batchVailCode(params)
}
// 在这里处理完整的扫码数据,如提交到后台或显示
},
parseString(str) {
// 1. 判断是否以 "MA" 开头
if (str.startsWith('MA')) {
return true
}
// 2. 判断是否以 "01" 开头且长度大于等于 18
if (str.startsWith('01') && str.length >= 16) {
return true
}
// 3. 判断是否以 "#" 开头且 "#" 的个数大于等于 4
if (str.startsWith('#') && (str.match(/#/g) || []).length >= 4) {
return true
}
// 4. 判断是否以 "8" 开头且长度为 20 位
if (str.startsWith('8') && str.length === 20) {
return true
}
// 5. 判断是否以 "11", "17", "21", 或 "10" 开头
const prefixes = ['11', '17', '21', '10']
if (prefixes.some(prefix => str.startsWith(prefix))) {
return true
}
// 如果没有任何条件满足,返回 false
return false
},
socketListener() {
let lastScanTime = Date.now()
let scanBuffer = []
let scanTimeout = null
const SCAN_TIMEOUT = 1000 // 1秒间隔表示扫码结束的判定标准
const self = this
console.log('启用监听')
this.ws.onmessage = function(event) {
let scanData = event.data // 获取扫码数据
let currentTime = Date.now()
console.log(scanData)
// 如果时间间隔超过预设的阈值,表示这是一次新的扫码
if (currentTime - lastScanTime > SCAN_TIMEOUT) {
// 处理上一次完整的扫码数据
if (scanBuffer.length > 0) {
self.handleScanComplete(scanBuffer)
}
// 清空缓冲区,开始新的扫码
scanBuffer = []
}
// 重置上一次扫码的时间
lastScanTime = currentTime
// 将数据添加到缓冲区
scanBuffer.push(scanData)
// 如果已经有一个定时器在等待,可以清除它
if (scanTimeout) {
clearTimeout(scanTimeout)
}
// 设置新的定时器,等待指定的时间后执行扫码结束处理
scanTimeout = setTimeout(() => {
// 定时器到时,处理扫码结束
self.handleScanComplete(scanBuffer)
scanBuffer = []
}, SCAN_TIMEOUT)
}
},
handleVisibilityChange() {
if (document.visibilityState === 'visible') {
console.log('用户切回到了处方退药页面')
if (this.ws == null || this.ws.readyState === WebSocket.CLOSED) {
this.ws = new WebSocket('ws://127.0.0.1:9988')
const self = this
this.ws.onopen = function(evt) {
console.log('处理单据WebSocket 连接中 ...')
self.socketListener()
}
}
} else {
if (this.ws && this.ws.readyState === WebSocket.OPEN) {
this.ws.close()
console.log('关闭处理单据websocket成功')
}
}
},
//扫码剔除操作
deleteCode() {
this.scanTip = '扫码剔除:'
this.labelName = 2
this.placeholder = '请点击输入框进行扫码剔除'
this.scanStatus = 1
this.scanCode = ''
if (!isBlank(this.warnResult)) {
this.warnResult = ''
}
},
overdeleteCode() {
this.warnVisible = false
this.warnResult = ''
this.labelName = 1
this.scanStatus = null
this.scanTip = '扫码录入:'
this.placeholder = '请点击输入框进行选扫码'
},
selectSysParam() {
getSet().then((response) => {
if (response.code == 20000) {
this.collectSet = response.data
}
})
},
handleKeydown(event) {
if (this.formData.billNo != null) {
if (event.key === 'F9' || event.keyCode === 120) {
event.preventDefault() // 阻止默认行为
this.finishOrder()
MessageBox.close()
}
if (event.key === 'F10' || event.keyCode === 121) {
event.preventDefault() // 阻止默认行为(如果有的话)
// this.push();
cancelOrder(this.formData).then(res => {
this.loading = false
if (res.code == 20000) {
const audio = new Audio(require('@/assets/audioFiles/colser.mp3'))
audio.play()
this.overdeleteCode()
this.reset()
}
}).catch(() => {
this.loading = false
})
}
}
}
},
mounted() {
this.$refs.inputRef.focus()
document.addEventListener('returnOrder', this.handleKeydown)
//环境判断
if (window.navigator.userAgent.indexOf('GLXP_PC') != -1) {
this.scanDisabled = true
window.removeEventListener('djcl', this.handleRecCodesEvent)
window.addEventListener('djcl', this.handleRecCodesEvent)
}
document.addEventListener('visibilitychange', this.handleVisibilityChange)
// window.addEventListener('storage', (event) => {
// if (document.visibilityState == 'hidden') {
// console.log("关闭处理单据websocket")
// if (this.ws && this.ws.readyState === WebSocket.OPEN) {
// this.ws.close();
// console.log("关闭处理单据websocket成功")
// }
// } else {
// if (!this.ws) {
// this.ws = new WebSocket("ws://127.0.0.1:9988");
// this.ws.onopen = function (evt) {
// console.log("处理单据WebSocket 连接中 ...");
// };
// this.socketListener()
// }
// }
// });
},
beforeDestroy() {
document.removeEventListener('returnOrder', this.handleKeydown)
window.removeEventListener('djcl', this.handleRecCodesEvent)
document.removeEventListener('visibilitychange', this.handleVisibilityChange)
this.ws.close()
this.ws.onclose = function(evt) {
console.log('处理退货单据 Connection closed.')
}
},
created() {
this.findCurWorkPlaces()
this.selectSysParam()
this.formData.invCode = this.$store.getters.locInvCode
if (this.$route.query.billNo != null) {
this.formData.billNo = this.$route.query.billNo
}
if (this.$route.query.workplaceId != null) {
this.isLinkDisabled = true
if (this.$route.query.billNo == null) {
// this.selectBusTypeDisabled = true
}
this.corpOrderIdDisabled = true
this.workplaceId = Number(this.$route.query.workplaceId)
this.formData.workPlaceCode = Number(this.$route.query.workplaceId)
this.getWorkBindBusTypes(this.formData.workPlaceCode)
}
}
}
</script>
<style scoped>
.el-col {
margin-top: -5px;
margin-bottom: -5px;
}
.el-dropdown {
vertical-align: top;
}
.el-dropdown + .el-dropdown {
margin-left: 15px;
}
.el-icon-arrow-down {
font-size: 12px;
}
.custom-descriptions {
position: relative; /* 设置相对定位,为绝对定位的边框线提供参考 */
}
.custom-input-height {
height: 40px !important; /* 设置高度 */
}
.barcode-wrapper {
display: flex;
flex-direction: column;
align-items: center; /* 水平居中 */
justify-content: center; /* 垂直居中 */
}
.custom-descriptions .el-descriptions__cell svg {
vertical-align: middle;
margin-left: 20px;
margin-right: 10px;
}
/*.el-input__inner {*/
/* width: 10% !important;*/
/*}*/
</style>