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

<template>
5 months ago
<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>-->
5 months ago
<el-row style="margin-top: 6px;margin-bottom: -6px;"
v-if="this.formDataVisible != null && this.formDataVisible.scanType == 1"
>
5 months ago
<!-- <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"
>
5 months ago
<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%"
>
5 months ago
<el-option
v-for="item in fromInvOptions"
:key="item.code"
:label="item.name"
:value="item.code"
>
5 months ago
<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>
5 months ago
<div style="margin-top: 1px;padding: 5px">
5 months ago
<el-row :gutter="0" style="margin-top: 5px">
5 months ago
<el-col :span="16">
5 months ago
<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>
5 months ago
<el-col :span="8">
5 months ago
<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>
5 months ago
<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>
5 months ago
</el-button-group>
</el-col>
</el-row>
5 months ago
<!-- <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"
>
5 months ago
</el-alert>
<el-alert
v-if="warnVisible"
title="警告信息:"
type="warning"
:closable="true"
:dangerouslyUseHTMLString="true"
:description="warnResult"
>
5 months ago
</el-alert>
<el-alert
v-if="errVisible"
title="错误信息:"
type="warning"
:closable="true"
:dangerouslyUseHTMLString="true"
:description="errResult"
>
5 months ago
</el-alert>
</div>
<el-descriptions :column="4" border style="margin-top: 5px">
5 months ago
<el-descriptions-item label="业务单号">{{ formData.billNo }}</el-descriptions-item>
<!-- <el-descriptions-item label="发货方">{{ formData.shipperName }}</el-descriptions-item>-->
5 months ago
<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>-->
5 months ago
<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>
5 months ago
</el-descriptions>
5 months ago
5 months ago
<div style="margin-top: 18px">
<prescribeOriginPanel
v-if="panelALive"
:prescribeData="curRow"
6 months ago
:fifoSplitResult="this.fifoSplitResult"
></prescribeOriginPanel>
5 months ago
</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>
5 months ago
</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,
6 months ago
needSplitConfirm: false,
workplaceId: null,
ws: null,
scanTip: '单据录入:',
scanSplit: false,
6 months ago
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) {
6 months ago
this.info.confirmSplitCode = scanCode
bizConfirm(this.info).then((response) => {
if (response.code === 20000) {
this.$message.success('操作成功!')
this.getPrescribeDetail(this)
6 months ago
return
} else {
this.$message.error(response.message)
}
})
},
5 months ago
6 months ago
//是否拆零的组件调用父级方法
fifoSplitResult(data, info) {
6 months ago
this.info = info
if (data == null) {
return
}
if (data.needSplitConfirm) {//需要
6 months ago
this.needSplitConfirm = data.needSplitConfirm
this.scanTitle = '拆零扫码结果:'
this.scanTip = '拆零扫码:'
this.result = ''
return
} else {//不需要
return
6 months ago
}
},
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()
}
}
}
}
5 months ago
}
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() {
6 months ago
if (this.$isBlank(this.scanCode)) {
this.$message.error('请先扫码')
6 months ago
return
}
6 months ago
if (!this.needSplitConfirm) {
this.enterBillNoKey()
return
} else {
6 months ago
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() {
5 months ago
if (this.collectSet.drugDealConfirm != null && this.collectSet.drugDealConfirm != 0) {
this.$confirm('是否确定完成此单据?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.finishOrder()
}).catch(() => {
})
5 months ago
} else {
this.finishOrder()
5 months ago
}
},
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 {
5 months ago
margin-top: -5px;
margin-bottom: -5px;
}
5 months ago
.el-dropdown {
vertical-align: top;
}
5 months ago
.el-dropdown + .el-dropdown {
margin-left: 15px;
}
5 months ago
.el-icon-arrow-down {
font-size: 12px;
}
.custom-tag {
background-color: #ff0000; /* 自定义背景颜色 */
color: #ffffff; /* 自定义文字颜色 */
border: none; /* 移除边框 */
}
</style>