扫码关联

yanshishuju
zane 9 months ago
parent 92625c7f4b
commit 35c6af781d

@ -14,4 +14,30 @@ export function delRelCode(query) {
method: "get",
params: query
});
}
export function addRelCode(query) {
return axios({
url: "/udiwms/relCode/batch/add",
method: "post",
data: query
});
}
export function getDetailList(query) {
return axios({
url: "/udiwms/relCode/detail/filter",
method: "get",
params: query
});
}
export function scanCodeRelCode(query) {
return axios({
url: "/udiwms/relCode/detail/scanCode",
method: "post",
data: query
});
}

@ -3,34 +3,38 @@
<el-card class="el-card">
<el-form :model="filterQuery" class="query-form" label-width="100px" v-if="showSearch">
<el-row>
<!-- <el-col :span="10">-->
<!-- <el-form-item label="udi">-->
<!-- <el-input v-model="filterQuery.code" style="width: 90%" placeholder="请输入udi" clearable></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="10">
<el-form-item label="产品编码">
<el-input v-model="filterQuery.productCode" style="width: 90%" placeholder="请输入产品编码"
clearable></el-input>
</el-form-item>
<el-col :span="4">
<el-form-item label="追溯码:">
<el-input v-model="filterQuery.curCode" placeholder="请输入追溯码" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="选择层级:">
<el-input v-model="filterQuery.packLayer" placeholder="请输入层级信息" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="批次号:">
<el-input v-model="filterQuery.packLayer" placeholder="请输入批次号" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="有效时间:">
<el-date-picker
style="width: 100%"
:picker-options="pickerOptions"
v-model="actDateRange"
type="daterange"
format="yyyy 年 MM 月 dd 日"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<!-- <el-row>
<el-col :span="10">
<el-form-item label="规格型号">
<el-input v-model="filterQuery.ggxh" style="width: 90%" placeholder="请输入规格型号" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="产品名称">
<el-input v-model="filterQuery.cpmctymc" style="width: 90%" placeholder="请输入产品名称"
clearable></el-input>
</el-form-item>
</el-col>
</el-row> -->
</el-form>
<div class="top-right-btn">
@ -38,7 +42,24 @@
<el-button icon="el-icon-view" type="primary" @click="hideSearch">/</el-button>
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
<el-button type="primary" icon="el-icon-search" @click="onSubmitFind"></el-button>
<el-button type="primary" icon="el-icon-plus" @click="newDistributionForm()" :loading="loading">新增</el-button>
<el-button type="primary" icon="el-icon-plus" @click="newDistributionForm()" :loading="loading">手动新增</el-button>
<el-upload
:action="action"
accept=".xml"
:on-preview="handlePreview"
:on-remove="handleRemove"
:before-remove="beforeRemove"
:on-success="handleSuccess"
:on-progress="handleProgress"
:on-error="handleError"
:before-upload="beforeUpload"
:limit="5"
:on-exceed="handleExceed"
:file-list="fileList"
:data="extraData">
<el-button size="small" icon="el-icon-upload" type="primary">文件上传</el-button>
<!-- <div slot="tip" class="el-upload__tip">只能上传xml文件且不超过5M</div> -->
</el-upload>
</el-button-group>
</div>
@ -49,16 +70,16 @@
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
style="width: 100%" row-key="id" >
<el-table-column label="序号" type="index" width="60"></el-table-column>
<el-table-column label="上级编码" prop="parentCode"></el-table-column>
<el-table-column label="产品编码" prop="productCode"></el-table-column>
<el-table-column label="类型编码" prop="subTypeNo"></el-table-column>
<el-table-column label="包装比例" prop="cascadeRatio"></el-table-column>
<el-table-column label="包装规格" prop="packageSpec"></el-table-column>
<el-table-column label="备注" prop="comment"></el-table-column>
<el-table-column label="追溯码" prop="curCode"></el-table-column>
<el-table-column label="父级码" prop="parentCode"></el-table-column>
<el-table-column label="层级" prop="packLayer"></el-table-column>
<el-table-column label="装箱类型" prop="packageSpec"></el-table-column>
<el-table-column label="批次号" prop="batchNo"></el-table-column>
<el-table-column label="生产日期" prop="madeDate"></el-table-column>
<el-table-column label="有效期至" prop="validateDate"></el-table-column>
<el-table-column label="生产车间" prop="workShop"></el-table-column>
<el-table-column label="失效日期" prop="validateDate"></el-table-column>
<el-table-column label="产品编码" prop="productCode"></el-table-column>
<el-table-column label="备注" prop="comment"></el-table-column>
<!-- <el-table-column label="生产车间" prop="workShop"></el-table-column>
<el-table-column label="生产线" prop="lineName"></el-table-column>
<el-table-column label="负责人" prop="lineManager"></el-table-column>
<el-table-column label="操作" width="120px">
@ -67,7 +88,7 @@
</el-button>
<el-button type="text" size="small" @click.native.stop="deleteDialog(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table-column> -->
</el-table>
<pagination
@ -82,28 +103,29 @@
<el-dialog
:title="formName"
:visible.sync="newSpDistributionVisible"
width="80%"
v-if="newSpDistributionVisible"
@close='closeDialog'
width="85%"
append-to-body
:close-on-click-modal="false"
:close-on-press-escape="false"
v-if="newSpDistributionVisible"
@close='closeDialog'
>
<relCodeEdit
:closeDialog="closeDialog"
:idQuery="idQuery"
:orderQuery="idQuery"
></relCodeEdit>
</el-dialog>
</el-card>
</div>
</template>
<script>
import {getList,delRelCode} from "@/api/collect/relCode";
import {getDetailList,delRelCode} from "@/api/collect/relCode";
import relCodeEdit from "@/views/collect/relCode/relCodeEdit"
import Treeselect from "@riophae/vue-treeselect";
export default {
name: "relCode",
data() {
return {
showSearch: true,
@ -115,9 +137,7 @@ export default {
thirdSysFk: "",
page: 1,
limit: 10,
corpName: null,
type: 1,
editStatus: 1,
corpName: null
},
isExpandAll: true,
idQuery: null,
@ -157,6 +177,10 @@ export default {
},
],
},
extraData:{"uuid": "upload-xml"},
uploadLoading: false,
action: process.env.VUE_APP_BASE_API + "/udiwms/relCode/batch/xmlUpload",
fileList: []
};
},
@ -218,7 +242,7 @@ export default {
},
getList() {
this.loading = true;
getList(this.filterQuery)
getDetailList(this.filterQuery)
.then((response) => {
if (response.code == 20000) {
this.list = response.data.list || [];
@ -238,6 +262,51 @@ export default {
this.filterQuery.page = val.page;
this.getList();
},
handleRemove(file, fileList) {
console.log(file, fileList);
},
handlePreview(file) {
console.log(file);
},
handleExceed(files, fileList) {
this.$message.warning(`当前限制选择 5 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`);
},
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${ file.name }`);
},
handleSuccess(res, file, fileList) {
fileList = fileList.filter(item => item.response.code === 20000);
this.fileList = fileList;
if (res.code === 20000) {
this.$message.success(res.message);
} else {
this.$message.error(res.message);
}
this.uploadLoading.close();
},
beforeUpload(file) {
const isXML = file.type === 'text/xml';
const isLt5M = file.size / 1024 / 1024 < 5;
if (!isXML) {
this.$message.error('上传文件只能是 XML 格式!');
}
if (!isLt5M) {
this.$message.error('上传文件大小不能超过 5MB!');
}
return isXML && isLt5M;
},
handleProgress() {
this.uploadLoading = this.$loading({
lock: true,
text: '文件上传中…',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.5)'
});
},
handleError() {
this.uploadLoading.close();
this.$message.error('文件上传失败,请检查文件大小或文件格式');
}
},
components: {
relCodeEdit,

@ -1,237 +1,584 @@
<template>
<div>
<el-card class="el-card">
<el-form :model="filterQuery" class="query-form" label-width="100px" >
<el-form
:model="relFormData"
:rules="formRules"
ref="dataForm"
@submit.native.prevent
label-width="110px"
>
<el-card>
<el-row style="margin-bottom: 8px">
<el-button-group
style="display: flex; margin-top: 5px; float: right"
>
<el-button size="mini" type="primary" @click.native="submit()" :loading="submitLoading"
style="margin-right: 8px;border-radius: 5%;"
>添加完成
</el-button>
</el-button-group>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="上级产品">
<el-input v-model="filterQuery.upProduct " :disabled="isUp" style="width: 80%" placeholder="请输入多级产品" clearable></el-input>
<el-button style="margin-left: 10px" :disabled="isUp" type="primary" @click="addUpProduct()"></el-button>
<el-col :span="11">
<el-form-item prop="productCode" class="query-form-item" label="产品编码:">
<el-input
v-model="relFormData.productCode"
auto-complete="off"
style="width: 90%"
clearable
:disabled="true"
></el-input>
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item prop="subTypeNo" class="query-form-item" label="类型编码:">
<el-input
v-model="relFormData.subTypeNo"
auto-complete="off"
style="width: 90%"
clearable
:disabled="true"
></el-input>
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item prop="cascadeRatio" class="query-form-item" label="包装比例:">
<el-input
v-model="relFormData.cascadeRatio"
auto-complete="off"
style="width: 90%"
clearable
:disabled="true"
></el-input>
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item prop="packageSpec" class="query-form-item" label="包装规格:">
<el-input
v-model="relFormData.packageSpec"
auto-complete="off"
style="width: 90%"
clearable
:disabled="true"
></el-input>
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item prop="madeDate" class="query-form-item" label="生产日期:">
<el-date-picker
v-model="relFormData.madeDate"
type="datetime"
placeholder="日期"
clearable
value-format="yyyy-MM-dd HH:mm:ss"
:disabled="true"
style="width: 90%"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item prop="validateDate" class="query-form-item" label="失效日期:">
<el-date-picker
v-model="relFormData.validateDate"
type="datetime"
placeholder="日期"
clearable
value-format="yyyy-MM-dd HH:mm:ss"
:disabled="true"
style="width: 90%"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item prop="comment" class="query-form-item" label="备注:">
<el-input
v-model="relFormData.comment"
auto-complete="off"
clearable
style="width: 90%"
placeholder="请输入备注"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-divider></el-divider>
<el-row>
<el-col :span="12">
<el-form-item label="下级产品">
<el-input v-model="filterQuery.lowProduct" style="width: 80%" placeholder="请输入下级产品" clearable></el-input>
<el-button style="margin-left: 10px" :disabled="isLow" type="primary" @click="addLowProduct()"></el-button>
<el-col :span="18">
<el-form-item prop="code" label="扫码录入:">
<el-input
id="inputer"
@focus="getInputFocus($event)"
@keypress.enter.native="enterKey($event)"
ref="inputRef"
style="ime-mode: disabled"
type="tel"
placeholder="请点击输入框进行扫码设置或者扫码录入"
v-model="scanCode"
></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-button-group>
<el-button
type="primary"
size="mini"
@click.native.stop="addCode()"
style="margin-left: 15px"
>添加
</el-button>
</el-button-group>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-upload
class="upload-xml"
:action="action"
accept=".xml"
:on-preview="handlePreview"
:on-remove="handleRemove"
:before-remove="beforeRemove"
:on-success="handleSuccess"
:on-progress="handleProgress"
:on-error="handleError"
:before-upload="beforeUpload"
:limit="5"
:on-exceed="handleExceed"
:file-list="fileList"
:data="extraData">
<el-button size="small" type="primary">上传并保存</el-button>
<div slot="tip" class="el-upload__tip">只能上传xml文件且不超过5M</div>
</el-upload>
<el-col :span="6">
<el-form-item prop="checked" label="">
<el-checkbox v-model="checked"></el-checkbox>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table v-loading="loading" :data="list" style="width: 100%" border highlight-current-row>
<el-table-column label="序号" type="index" width="60"></el-table-column>
<el-table-column label="UDI码" prop="code"></el-table-column>
<el-table-column label="产品编码" prop="nameCode"></el-table-column>
<el-table-column label="产品名称" prop="cpmctymc"></el-table-column>
<el-table-column label="规格型号" prop="ggxh"></el-table-column>
<el-table-column label="序列号" prop="serialNo"></el-table-column>
<el-table-column label="生产企业" prop="manufactory"></el-table-column>
<el-table-column label="计量单位" prop="measname"></el-table-column>
<el-table-column label="创建时间" prop="createTime"></el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="filterQuery.page"
:limit.sync="filterQuery.limit"
@pagination="handleCurrentChange"
></pagination>
</el-card>
<el-alert
title="扫码结果:"
:type="scanResultType"
:closable="false"
: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>
</el-card>
</el-form>
<el-tabs type="border-card" style="margin: 15px">
<el-tab-pane label="关联详情">
<div>
<el-text tag="b" size="large">待关联数量<span>0</span></el-text>
<el-text tag="b">总关联数量<span>0</span></el-text>
<el-text tag="b" size="large">父级编码<span>{{ a || '暂未录入'}}</span></el-text>
</div>
<div>
<el-table v-loading="loading"
:data="detailList"
style="width: 100%;" max-height="350" height="350"
border
:row-style="rowStyle"
ref="multipleTable">
<el-table-column type="index" label="序号" width="50"></el-table-column>
<el-table-column label="追溯码" width="150" prop="curCode" show-overflow-tooltip></el-table-column>
<el-table-column label="层级" width="150" prop="packLayer" show-overflow-tooltip></el-table-column>
<el-table-column label="父级编码" width="150" prop="parentCode" show-overflow-tooltip></el-table-column>
</el-table>
</div>
</el-tab-pane>
</el-tabs>
</div>
</template>
<script>
import {checkLowProduct, checkUpProduct, getDelectList, getList} from "@/api/inout/ioCodeRel";
import {addRelCode,scanCodeRelCode} from "@/api/collect/relCode";
import relCodeDetail from "@/views/collect/relCode/relCodeDetail";
import A from "@/plugins/KeyScaner";
export default {
name: "relCodeEdit",
props: {
closeDialog: {
type: Function,
required: true,
},
idQuery: {
orderQuery: {
type: Object,
required: true,
default: {}
},
resetKey: {
type: Function,
required: true
},
},
watch: {
resetKey(newVal, oldVal) {
this.$refs.inputRef.focus();
}
},
data() {
return {
showSearch: true,
newSpDistributionVisible: false,
filterQuery: {
upProduct:'',
lowProduct:'',
page: 1,
limit: 10,
userInfo: {
inv: this.$store.getters.locInvName,
deptName: this.$store.getters.locDeptName,
userName: this.$store.getters.name,
userId: this.$store.getters.userId,
companyName: this.$store.getters.companyName,
},
//
codeFormData: {
code: "",
batchNo: null,
produceDate: null,
expireDate: null,
serialNo: null,
relId: null,
},
relFormData: {
productCode: null,
subTypeNo: null,
cascadeRatio: null,
packageSpec: null,
comment: null,
batchNo: null,
madeDate: null,
validateDate: null,
workShop: null,
lineName: null,
lineManager: null,
},
detailList: [],
checkPreInArray: [],
errView: 0,
isCodeAlive: true,
isCheckResultAlive: true,
isBizDetailAlive: true,
isCodeDetailAlive: true,
isSickerAlive: true,
actionEnable: false,
formRules: {
productCode: [
{required: true, message: "请输入产品编号", trigger: "blur"},
],
subTypeNo: [
{required: true, message: "请输入类型编号", trigger: "blur"},
],
cascadeRatio: [
{required: true, message: "请输入包装比例", trigger: "change"},
],
packageSpec: [
{required: true, message: "请输入包装规格", trigger: "change"},
],
batchNo: [
{required: true, message: "请输入批次号", trigger: "blur"},
],
madeDate: [
{required: true, message: "请选入生产日期", trigger: "blur"},
],
validateDate: [
{required: true, message: "请选入有效日期", trigger: "blur"},
],
},
isLow:true,
isUp:false,
upCode:null,
formName:null,
loading:false,
list:[],
formData:null,
total:0,
extraData:{"uuid": "upload-xml"},
uploadLoading: false,
action: process.env.VUE_APP_BASE_API + "/udiwms/relCode/batch/xmlUpload",
fileList: []
isScan: true,
scanText: "扫码录入:",
corpOrderIdDisabled: false,
isSupVesion: false,
loading: false,
index: null,
formVisible: false,
deleteLoading: false,
orderNo: null,
fromStorageOptions: [],
curRow: null,
dialogTableVisible: false,
selectRlVisible: false,
selectSpaceVisible: false,
sitcomScan: false,
sictomText: "",
originCode: "",
checkSuccess: false,
codeDetail: null,
fromDeptOptions: [],
submitLoading: false,
scanCode: "",
isSuccess: false,
result: "",
scanResultType: "success",
splitType: null,
warnResult: "",
errResult: "",
warnVisible: false,
errVisible: false,
checked:true
};
},
components: {
relCodeDetail
},
methods: {
onReset() {
this.$router.push({
path: "",
});
this.filterQuery = {
page: 1,
limit: 10,
};
this.getList();
splitChange() {
this.$refs.inputRef.focus();
},
handleCurrentChange(val) {
this.filterQuery.page = val.page;
this.getList();
},
getList() {
if (this.filterQuery.upProduct!=null){
this.filterQuery.parentCode=this.filterQuery.upProduct
}
getDelectList(this.filterQuery)
.then((response) => {
if (response.code == 20000) {
this.list = response.data.list || [];
this.total = response.data.total || 0;
} else {
this.$message.error(response.message);
}
this.loading = false;
})
.catch(() => {
this.loading = false;
this.list = [];
this.total = 0;
});
},
addUpProduct(){
checkUpProduct({code:this.filterQuery.upProduct}).then((res)=>{
if(res.code==20000){
this.isLow=false;
this.isUp=true;
}else{
this.$message.error(res.message);
}
}).catch(()=>{
this.$message.error("扫码错误!");
})
},
addLowProduct(){
checkLowProduct({lowCode:this.filterQuery.lowProduct,upCode:this.filterQuery.upProduct}).then((res)=>{
if(res.code==20000){
this.getList();
//
addCode() {
let tQuery = {
parentCode: this.scanCode,
};
scanCodeRelCode(tQuery).then((response) => {
if (response.code === 20000) {
this.$refs.inputRef.focus();
this.$refs.inputRef.select();
this.isSuccess = true;
// this.codeFormData.code = response.data.code;
console.log("====response=======",response.data)
this.detailList.push(response.data);
this.printCodeResult(response.data);
this.scanCode = ""
}else{
this.$message.error(res.message);
this.$message.error(response.message);
}
}).catch(()=>{
this.$message.error("扫码错误!");
this.loading = false;
})
.catch(() => {
this.loading = false;
});
},
handleRemove(file, fileList) {
console.log(file, fileList);
},
handlePreview(file) {
console.log(file);
refreshCodesPanel() {
this.warnVisible = false;
this.errVisible = false;
this.isCodeAlive = false;
this.isBizDetailAlive = false;
this.isCodeDetailAlive = false;
this.isSickerAlive = false;
this.$nextTick(() => {
//
this.isCodeAlive = true;
this.isBizDetailAlive = true;
this.isCodeDetailAlive = true;
this.isSickerAlive = true;
});
//
if (this.isCheckResultAlive) {
this.isCheckResultAlive = false;
this.$nextTick(() => {
//
this.isCheckResultAlive = true;
});
}
},
handleExceed(files, fileList) {
this.$message.warning(`当前限制选择 5 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`);
refreshOrder(orderQuery) {
this.relFormData = orderQuery;
this.scanCode = "";
this.result = "";
this.refreshCodesPanel()
},
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${ file.name }`);
submit(val) {
// if(this.detailList == null || this.detailList.length == 0){
// this.$message.error("");
// return;
// }
this.loading = true;
let tQuery = Object.assign(this.relFormData);
tQuery.detailList = this.detailList;
addRelCode(tQuery).then((response) => {
this.loading = false;
if (response.code === 20000) {
this.$message.success("保存成功!");
this.clearRel();
} else {
this.$message.error(response.message);
}
})
.catch(() => {
this.loading = false;
this.clearRel();
});
},
handleSuccess(res, file, fileList) {
fileList = fileList.filter(item => item.response.code === 20000);
this.fileList = fileList;
if (res.code === 20000) {
this.$message.success(res.message);
} else {
this.$message.error(res.message);
//
resetForm() {
if (this.$refs["dataForm"]) {
//
this.$refs["dataForm"].clearValidate();
//
this.$refs["dataForm"].resetFields();
}
this.uploadLoading.close();
},
beforeUpload(file) {
const isXML = file.type === 'text/xml';
const isLt5M = file.size / 1024 / 1024 < 5;
if (!isXML) {
this.$message.error('上传文件只能是 XML 格式!');
enterKey(event) {
this.addCode()
},
printCodeResult(data, isSuccess) {
const resultParts = ["扫码解析结果:" + data.curCode];
if (data.packLayer) {
resultParts.push("层级标识: " + data.packLayer);
}
if (!isLt5M) {
this.$message.error('上传文件大小不能超过 5MB!');
if (data.parentCode) {
resultParts.push("父级编码: " + data.parentCode);
}
return isXML && isLt5M;
this.result = resultParts.join(" , ");
},
handleProgress() {
this.uploadLoading = this.$loading({
lock: true,
text: '文件上传中…',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.5)'
});
getInputFocus(event) {
event.currentTarget.select();
},
handleError() {
this.uploadLoading.close();
this.$message.error('文件上传失败,请检查文件大小或文件格式');
}
clearRel() {
this.relFormData = {
productCode: null,
subTypeNo: null,
cascadeRatio: null,
packageSpec: null,
comment: null,
batchNo: null,
madeDate: null,
validateDate: null,
workShop: null,
lineName: null,
lineManager: null,
detailList: [],
}
this.scanCode = "";
this.result = "";
this.detailList = [];
// this.refreshCodesPanel()
},
},
components: {},
filters: {},
mounted() {
}
,
document.body.ondrop = function (event) {
event.preventDefault();
event.stopPropagation();
};
var that = this;
var inputer = document.getElementById("inputer");
window.sc = new A.KeyScaner(inputer); //DOM
sc.onInput = function (text) {
if (text.includes("delete")) {
that.codeFormData.code = "";
that.sictomText = "";
that.originCode = "";
return;
}
if (that.sitcomScan) {
let tempTxt = text;
let str = tempTxt.replace(/[\r]/g, "");
that.sictomText = that.sictomText + str;
that.codeFormData.code = that.sictomText;
} else {
that.codeFormData.code = text;
}
};
inputer.focus();
this.$refs.inputRef.focus();
},
beforeDestroy() {
},
created() {
if(this.idQuery.id!=null){
this.filterQuery.upProduct=this.idQuery.parentCode
this.isLow=false;
this.isUp=true;
this.getList();
}
},
};
</script>
<style scoped>
.scroll-alert {
width: 100%; /* 或者你需要的宽度 */
overflow: hidden;
white-space: nowrap;
box-sizing: border-box;
/*border: 1px solid #f56c6c; !* 类似于 Element UI 警告框的边框 *!*/
background-color: rgba(255, 235, 59, 0.1); /* 类似于 Element UI 警告框的背景色 */
padding: 10px;
position: relative;
}
.scroll-text {
display: inline-block;
padding-left: 100%; /* 初始位置在容器右侧 */
animation: scroll 10s linear infinite; /* 滚动动画 */
}
@keyframes scroll {
from {
transform: translateX(0);
}
to {
transform: translateX(-100%);
}
,
}
;
</script>
<style scoped>
.upload-xml {
margin-left: 100px;
}
.query-form-item {
margin-right: 5px;
margin-bottom: 6px;
}
#inputer {
width: 100%;
min-height: 30px;
background-color: white;
border: #d0d0d0;
border-style: solid;
border-width: 0.1px;
color: #4a4a4a;
}
#inputer:focus {
width: 100%;
min-height: 30px;
background-color: white;
border: #0080ff;
border-style: solid;
border-width: 0.1px;
color: #4a4a4a;
}
.ime-disabled {
ime-mode: disabled;
}
.result-display {
border: 2px solid #ccc; /* 默认外框颜色 */
border-radius: 10px;
margin-top: 5px;
margin-left: 15px;
margin-right: 25px;
padding-left: 25px;
/* 不设置背景颜色 */
}
.result-success {
border-color: #4CAF50; /* 成功时外框颜色 */
}
.result-failure {
border-color: #0080ff; /* 失败时外框颜色 */
}
.result-text {
height: 18px;
/* 你可以在这里设置默认的文本颜色或其他样式 */
}
.result-text-success {
color: #4CAF50; /* 成功时文本颜色 */
font-size: 14px;
}
.result-text-failure {
color: #0080ff; /* 失败时文本颜色 */
font-size: 14px;
}
</style>

Loading…
Cancel
Save