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/ConfirmDrugDealOrder.vue

1751 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-alert-->
<!-- style="margin-top: 15px"-->
<!-- :title="msgTip"-->
<!-- :closable="false"-->
<!-- type="warning">-->
<!--</el-alert>-->
<!-- <el-row :gutter="0" style="margin-top: 15px">-->
<!-- <el-col :span="24" align="right">-->
<!-- <el-button-group>-->
<!-- &lt;!&ndash; <el-button type="primary" @click.native="deleteCode"&ndash;&gt;-->
<!-- &lt;!&ndash; v-if="labelName == 1"&ndash;&gt;-->
<!-- &lt;!&ndash; :disabled="formData.billNo == null"&ndash;&gt;-->
<!-- &lt;!&ndash; >扫码剔除&ndash;&gt;-->
<!-- &lt;!&ndash; </el-button>&ndash;&gt;-->
<!-- &lt;!&ndash; <el-button size="mini" type="primary"&ndash;&gt;-->
<!-- &lt;!&ndash; v-if="labelName == 2"&ndash;&gt;-->
<!-- &lt;!&ndash; @click.native="overdeleteCode"&ndash;&gt;-->
<!-- &lt;!&ndash; >结束剔除&ndash;&gt;-->
<!-- &lt;!&ndash; </el-button>&ndash;&gt;-->
<!-- <el-button-->
<!-- type="primary"-->
<!-- :disabled="formData.billNo || (this.formDataVisible != null && this.formDataVisible.scanType == 1)"-->
<!-- @click.native="nextCollectOrder()"-->
<!-- >下一单-->
<!-- </el-button>-->
<!-- <el-button-->
<!-- type="primary"-->
<!-- :disabled="formData.billNo ||(this.formDataVisible != null && this.formDataVisible.scanType == 1)"-->
<!-- @click.native="selectPrescribe()"-->
<!-- >选单-->
<!-- </el-button>-->
<!-- &lt;!&ndash; <el-button&ndash;&gt;-->
<!-- &lt;!&ndash; type="primary"&ndash;&gt;-->
<!-- &lt;!&ndash; :disabled="!formData.billNo"&ndash;&gt;-->
<!-- &lt;!&ndash; @click.native="saveDraftOrder()"&ndash;&gt;-->
<!-- &lt;!&ndash; >挂起&ndash;&gt;-->
<!-- &lt;!&ndash; </el-button>&ndash;&gt;-->
<!-- &lt;!&ndash; <el-button&ndash;&gt;-->
<!-- &lt;!&ndash; type="primary"&ndash;&gt;-->
<!-- &lt;!&ndash; :disabled="!formData.billNo"&ndash;&gt;-->
<!-- &lt;!&ndash; @click.native="cancelOrder()"&ndash;&gt;-->
<!-- &lt;!&ndash; >放弃&ndash;&gt;-->
<!-- &lt;!&ndash; </el-button>&ndash;&gt;-->
<!-- <el-button-->
<!-- type="primary"-->
<!-- :disabled="!formData.billNo"-->
<!-- @click.native="confirmFinishOrder()"-->
<!-- >完成-->
<!-- </el-button>-->
<!-- &lt;!&ndash; <el-dropdown @command="handleCommand">&ndash;&gt;-->
<!-- &lt;!&ndash; <el-button type="primary">&ndash;&gt;-->
<!-- &lt;!&ndash; 更多功能<i class="el-icon-arrow-down el-icon&#45;&#45;right"></i>&ndash;&gt;-->
<!-- &lt;!&ndash; </el-button>&ndash;&gt;-->
<!-- &lt;!&ndash; <el-dropdown-menu slot="dropdown">&ndash;&gt;-->
<!-- &lt;!&ndash; <el-dropdown-item divided @click.native="handleClickOut('IoCreateOrderBlank')">工位上货</el-dropdown-item>&ndash;&gt;-->
<!-- &lt;!&ndash; <el-dropdown-item divided @click.native="handleClickReturn('IoCreateOrderBlank')">工位退货&ndash;&gt;-->
<!-- &lt;!&ndash; </el-dropdown-item>&ndash;&gt;-->
<!-- &lt;!&ndash; <el-dropdown-item divided @click.native="handleClick('ioSplitFifoCodeBlank')">工位存量</el-dropdown-item>&ndash;&gt;-->
<!-- &lt;!&ndash; <el-dropdown-item divided @click.native="handleClick('CollectOrderAllotBlank')">待处理单&ndash;&gt;-->
<!-- &lt;!&ndash; </el-dropdown-item>&ndash;&gt;-->
<!-- &lt;!&ndash; <el-dropdown-item divided @click.native="handleClick('CollectOrderEndBlank')">已完成单</el-dropdown-item>&ndash;&gt;-->
<!-- &lt;!&ndash; </el-dropdown-menu>&ndash;&gt;-->
<!-- &lt;!&ndash; </el-dropdown>&ndash;&gt;-->
<!-- </el-button-group>-->
<!-- </el-col>-->
<!-- </el-row>-->
<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%"
>
<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">
<!-- :label="this.formDataVisible.unitTittle + ':'"-->
<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">
<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"
></el-input>
<!-- :disabled="scanDisabled"-->
</el-form-item>
</el-col>
<el-col :span="8">
<el-button-group style="display: flex;">
<el-button
type="primary"
size="mini"
icon="el-icon-search"
@click.native.stop="enterKey()"
style="margin-left: 15px"
>
</el-button>
<!-- :disabled="!formData.billNo || (this.formDataVisible != null && this.formDataVisible.scanType == 1)"-->
<!-- <el-button type="primary"-->
<!-- @click="addGs">ALT+29-->
<!-- </el-button>-->
<el-button
type="primary"
size="mini"
icon="el-icon-delete"
@click.native.stop="clearCode()"
>清空
</el-button>
<el-button
type="primary"
:disabled="formData.billNo || (this.formDataVisible != null && this.formDataVisible.scanType == 1)"
@click.native="nextCollectOrder()"
>下一单
</el-button>
<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="confirmFinishOrder()"
>完成
</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 :column="4" border style="margin-top: 5px">
<el-descriptions-item label="业务单号">{{ formData.billNo }}</el-descriptions-item>
<!-- <el-descriptions-item label="发货方">{{ formData.shipperName }}</el-descriptions-item>-->
<el-descriptions-item label="收货方">{{ formData.fromCorpName }}</el-descriptions-item>
<!-- <el-descriptions-item label="单据类型">{{ formData.busTypeName }}</el-descriptions-item>-->
<!-- <el-descriptions-item label="来源系统">{{ formData.fromType }}</el-descriptions-item>-->
<el-descriptions-item label="单据时间">{{ formData.billTime }}</el-descriptions-item>
<!-- <el-descriptions-item label="单据备注">{{ formData.remark }}</el-descriptions-item>-->
<el-descriptions-item
label="灯组信息"
>
<el-tag :style="colorStyle(formData.ledNum)">灯组信息</el-tag>
</el-descriptions-item>
</el-descriptions>
<div style="margin-top: 18px">
<prescribeOriginPanel
v-if="panelALive"
:prescribeData="curRow"
:fifoSplitResult="this.fifoSplitResult"
></prescribeOriginPanel>
</div>
</el-card>
<!-- <el-card type="border-card" style="margin: 15px" v-model="editableTabsValue && formData.billNo">-->
<!-- <el-tab-pane label="详情" name="prescribeOriginPanel">-->
<!-- 在表格下方添加说明 -->
<!-- <el-row style="text-align: right;font-size: 12px;margin-top: 10px">-->
<!-- <el-col span="24">-->
<!-- <div style="float: right">-->
<!-- <td>-->
<!-- <div style="background-color: #F56C6C;width: 10px;height: 10px;"></div>-->
<!-- </td>-->
<!-- <td><span style="color: #6d6d6d;"><pre>未赋码 </pre></span></td>-->
<!-- <td>-->
<!-- <div style="background-color: #E6A23C;width: 10px;height: 10px;"></div>-->
<!-- </td>-->
<!-- <td>-->
<!-- <span style="color: #6d6d6d;"><pre>预赋码 </pre></span>-->
<!-- </td>-->
<!-- <td>-->
<!-- <div style="background-color: #67C23A;width: 10px;height: 10px;"></div>-->
<!-- </td>-->
<!-- <td>-->
<!-- <span style="color: #6d6d6d;"><pre>已赋码</pre></span>-->
<!-- </td>-->
<!-- </div>-->
<!-- </el-col>-->
<!-- </el-row>-->
<!-- </el-tab-pane>-->
<!-- <el-tab-pane label="扫码明细">-->
<!-- <PanelOrderManuTagCode-->
<!-- v-if="panelALive"-->
<!-- :fifoSplit="3"-->
<!-- :prescribeData="curRow"-->
<!-- :refreshPanel="refreshCodesPanelP"-->
<!-- ></PanelOrderManuTagCode>-->
<!-- </el-tab-pane>-->
<!-- <el-tab-pane label="拆零详情" name="prescribeCodePanel1">-->
<!-- <prescribeCodePanel-->
<!-- v-if="panelALive"-->
<!-- :prescribeData="curRow"-->
<!-- :fifoSplit="1"-->
<!-- ></prescribeCodePanel>-->
<!-- </el-tab-pane>-->
<!-- <el-tab-pane label="整取详情" name="prescribeCodePanel2">-->
<!-- <prescribeCodePanel-->
<!-- v-if="panelALive"-->
<!-- :prescribeData="curRow"-->
<!-- :fifoSplit="2"-->
<!-- ></prescribeCodePanel>-->
<!-- </el-tab-pane>-->
<!-- <el-tab-pane label="整单详情" name="PanelOrderAllDetail">-->
<!-- <PanelOrderAllDetail-->
<!-- v-if="panelALive"-->
<!-- :prescribeData="curRow"-->
<!-- ></PanelOrderAllDetail>-->
<!-- </el-tab-pane>-->
<!--</el-card>-->
<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="null"
: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 prescribeOriginPanel from './PannelOrderBizCard'
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, bizConfirm,
removeByScanCode, confirmFinish
} 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 { getSet } from '@/api/collect/collectSet'
export default {
/**
* 处理处方
*/
name: 'prescribeTagCodeDeal',
props: {
resetKey: {
type: Function,
required: true
}
},
data() {
return {
tabsName: [
'prescribeOriginPanel',
'prescribeCodePanel1',
'prescribeCodePanel2',
'PanelOrderAllDetail'
],
editableTabsValue: 'prescribeOriginPanel',
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: 1
},
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,
needSplitConfirm: false,
workplaceId: null,
ws: null,
scanTip: '单据录入:',
scanSplit: false,
info: {},
//
labels: {
1: '扫码录入:',
2: '扫码剔除:'
},
labelName: 1,
scanStatus: null, // 1:扫码剔除; null 处理单据
collectSet: {},
ledname: 2,
ledName: '未绑定'
}
},
components: {
addOrder,
errOrder,
selectPrescribeDialog,
prescribeCodePanel,
PanelOrderManuTagCode, prescribeOriginPanel,
PannelOrderBiz,
PanelOrderAllDetail
},
watch: {
resetKey(newVal, oldVal) {
this.$refs.inputRef.focus()
}
},
methods: {
fifoHandleClick(scanCode) {
this.info.confirmSplitCode = scanCode
bizConfirm(this.info).then((response) => {
if (response.code === 20000) {
this.$message.success('操作成功!')
this.getPrescribeDetail(this)
return
} else {
this.$message.error(response.message)
}
})
},
//是否拆零的组件调用父级方法
fifoSplitResult(data, info) {
this.info = info
if (data == null) {
return
}
if (data.needSplitConfirm) {//需要
this.needSplitConfirm = data.needSplitConfirm
this.scanTitle = '拆零扫码结果:'
this.scanTip = '拆零扫码:'
this.result = ''
return
} else {//不需要
return
}
},
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 {
console.log(this.$route.query.busType)
if (this.$route.query.busType != null) {
this.formData.busType = this.$route.query.busType
this.$refs.inputRef.focus()
this.formDataVisible = this.busTypeList.find(item => item.documentTypeCode == this.formData.busType)
if (this.formDataVisible.scanType == 1) {
this.findFromInvList('')
this.getInvList()
this.placeholder = '请点击输入框进行扫码生成业务单据'
} else {
this.findCurOrder()
}
}
}
}
}
return
})
},
findFromInvList(val) {
let cQuery = {
corpType: this.formDataVisible.corpType,
invCode: this.formData.invCode
}
findFromCorp(cQuery)
.then((response) => {
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.splitBizList = res.data.list
let tip = ''
this.splitBizList.forEach((item) => {
if (item.splitUnCheck) {
tip = tip + item.cpmctymc + ','
}
})
if (this.$isNotBlank(tip)) {
tip = '请扫码确认以下产品' + tip + '需拆零的追溯码!'
// this.$alert(tip, "提示", {
// confirmButtonText: "确定",
// type: "warning",
// closeOnClickModal: true,
// callback: (action) => {
// },
// });
this.warnVisible = true
this.warnResult = tip
this.scanTip = '扫码拆零确认:'
this.$refs.inputRef.focus()
this.$refs.inputRef.select()
this.scanSplit = true
return
} else {
//没有需要确认的
this.scanSplit = false
this.overdeleteCode()
}
}).catch(() => {
this.$message.error('数据加载失败')
})
},
enterKey() {
if (this.$isBlank(this.scanCode)) {
this.$message.error('请先扫码')
return
}
if (!this.needSplitConfirm) {
this.enterBillNoKey()
return
} else {
this.fifoHandleClick(this.scanCode)
this.startDeal()
return
}
},
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(),
selectType: 1
}
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()
} 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.result = '已选入单据'
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.invCode,
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.curRow = this.formData
this.$refs.inputRef.focus()
this.refreshCodesPanel(this)
} else {
if (res.code == 502) {
this.$confirm(res.message + '是否强制添加?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.formData.insert = true
this.addCode()
}).catch(() => {
})
} else {
this.$refs.inputRef.focus()
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) {
this.overdeleteCode()
this.reset()
}
}).catch(() => {
this.loading = false
})
}).catch(() => {
})
},
confirmFinishOrder() {
if (this.collectSet.drugDealConfirm != null && this.collectSet.drugDealConfirm != 0) {
this.$confirm('是否确定完成此单据?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.finishOrder()
}).catch(() => {
})
} else {
this.finishOrder()
}
},
finishOrder() {
confirmFinish(this.formData).then(res => {
this.loading = false
if (res.code == 20000) {
this.reset()
this.findCurOrder()
} else if (res.code == 502) {
this.$confirm(res.message, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.formData.confirmFinish = true
this.finishOrder()
}).catch(() => {
})
} else if (res.code == 503) {
this.$alert('该单据未全部赋码无法完成,请检查后重试', '提示', {
confirmButtonText: '确定',
callback: action => {
}
})
} 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.$route.query.busType
}
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.startDeal()
}).catch(() => {
})
} else if (temp.tagStatus === 2 || temp.tagStatus === 1) {
this.formData = temp
// this.ledNum = temp.ledNum
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()
},
startDeal() {
this.autoFinishOrderFlag = true
this.curRow = this.formData
this.dealSplitOrder()
//处理哪个活动的明细子组件
// this.selectTabsname(this.formData.busType);
this.formData.tagStatus = 2
this.updateOrder()
// 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.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)
}
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
// }
// 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);
},
clearCode() {
this.originCode = ''
this.formData.code = ''
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 = {
tagStatus: -1,
workPlaceCode: this.formData.workPlaceCode,
busType: this.formData.busType
}
this.curRow = null
this.formData.confirmFinish = false
this.refreshCodesPanelBank(this)
this.selectSysParam()
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) => {
this.invList = response.data || []
})
.catch(() => {
})
},
changeCorp() {
let corp = this.fromInvOptions.find(item => item.code === this.formData.fromCorp)
this.formData.fromCorpName = corp.name
},
//处理事件
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(";");
}
} 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成功')
}
}
},
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
},
selectSysParam() {
getSet().then((response) => {
if (response.code == 20000) {
this.collectSet = response.data
}
})
},
//扫码剔除操作
deleteCode() {
this.scanTip = '扫码剔除:'
this.labelName = 2
this.placeholder = '请点击输入框进行扫码剔除'
this.scanStatus = 1
this.scanCode = ''
if (!isBlank(this.warnResult)) {
this.warnResult = ''
}
},
overdeleteCode() {
this.labelName = 1
this.scanStatus = null
this.scanTip = '单据录入:'
this.placeholder = '请点击输入框进行选扫码'
},
colorStyle(ledNum) {
switch (ledNum) {
case 1:
return { backgroundColor: 'red' };
case 2:
return { backgroundColor: '#ec951f' };
case 3:
return { backgroundColor: 'blue' };
case 4:
return { backgroundColor: 'green' };
default:
return { backgroundColor: '#918e8e' };
}
}
},
mounted() {
this.$refs.inputRef.focus()
//环境判断
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() {
window.removeEventListener('djcl', this.handleRecCodesEvent)
document.removeEventListener('visibilitychange', this.handleVisibilityChange)
this.ws.close()
this.ws.onclose = function(evt) {
console.log('处理单据 Connection closed.')
}
},
created() {
getHead('prescribeTagCodeDeal', '1').then((re) => {
// 处理返回的数据
this.tableObj = re.data
this.tableHeader = re.data.tableList
this.queryList = re.data.queryList
this.fromList = re.data.fromList
})
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-tag {
background-color: #ff0000; /* 自定义背景颜色 */
color: #ffffff; /* 自定义文字颜色 */
border: none; /* 移除边框 */
}
</style>