fix:修改部分功能
This commit is contained in:
parent
e24b20bd06
commit
1b9aa5d30d
@ -1,61 +1,56 @@
|
||||
<template>
|
||||
<view>
|
||||
<uni-easyinput class="uni-mt-5" @blur="onInput" v-model="inputCodeValue" placeholder="请扫描或输入车辆编号"
|
||||
suffixIcon="scan" @iconClick="onScan">
|
||||
<uni-easyinput
|
||||
class="uni-mt-5"
|
||||
@blur="onInput"
|
||||
v-model="inputCodeValue"
|
||||
placeholder="请扫描或输入车辆编号"
|
||||
suffixIcon="scan"
|
||||
@iconClick="onScan"
|
||||
>
|
||||
</uni-easyinput>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import {
|
||||
ref,
|
||||
onMounted
|
||||
} from 'vue';
|
||||
import {
|
||||
showModelMessage,
|
||||
getUrlParams
|
||||
} from '@/utils/tools.js';
|
||||
import { ref, onMounted } from "vue";
|
||||
import { showModelMessage, getUrlParams } from "@/utils/tools.js";
|
||||
|
||||
const inputCodeValue = ref('');
|
||||
const {
|
||||
codeValue
|
||||
} = defineProps(["codeValue"]);
|
||||
inputCodeValue.value = codeValue;
|
||||
const inputCodeValue = ref("");
|
||||
const { codeValue } = defineProps(["codeValue"]);
|
||||
inputCodeValue.value = codeValue;
|
||||
|
||||
const emit = defineEmits(['scan-change']);
|
||||
const onScan = () => {
|
||||
const emit = defineEmits(["scan-change"]);
|
||||
const onScan = () => {
|
||||
uni.scanCode({
|
||||
onlyFromCamera: true, //只能扫码
|
||||
scanType: ["qrCode"],
|
||||
success: function(res) {
|
||||
const {
|
||||
result
|
||||
} = res;
|
||||
success: function (res) {
|
||||
const { result } = res;
|
||||
if (!result || result.indexOf("number") == -1) {
|
||||
showModelMessage("无效的车辆二维码");
|
||||
inputCodeValue.value = "";
|
||||
emit('scan-change', "");
|
||||
emit("scan-change", "");
|
||||
} else {
|
||||
const params = getUrlParams(result);
|
||||
inputCodeValue.value = params["number"];
|
||||
emit('scan-change', params["number"]);
|
||||
emit("scan-change", params["number"]);
|
||||
}
|
||||
}
|
||||
})
|
||||
};
|
||||
const onInput = (value) => {
|
||||
},
|
||||
});
|
||||
};
|
||||
const onInput = (value) => {
|
||||
console.log(value, "onInput");
|
||||
if (value.detail.value == "") return;
|
||||
inputCodeValue.value = value.detail.value;
|
||||
emit('scan-change', value.detail.value);
|
||||
}
|
||||
emit("scan-change", value.detail.value);
|
||||
};
|
||||
|
||||
const onSetValue = (value) => {
|
||||
const onSetValue = (value) => {
|
||||
inputCodeValue.value = value;
|
||||
}
|
||||
defineExpose({
|
||||
onSetValue
|
||||
});
|
||||
};
|
||||
defineExpose({
|
||||
onSetValue,
|
||||
});
|
||||
</script>
|
||||
<style>
|
||||
|
||||
</style>
|
||||
<style></style>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -6,9 +6,12 @@
|
||||
:default-page-no="1"
|
||||
:default-page-size="5"
|
||||
:auto-show-back-to-top="true"
|
||||
:paging-style="{
|
||||
'background-color': ' #f3f4f6',
|
||||
}"
|
||||
>
|
||||
<template #top>
|
||||
<view class="flex">
|
||||
<view class="flex" style="background-color: white">
|
||||
<view class="search">
|
||||
<uni-search-bar
|
||||
radius="5"
|
||||
@ -245,7 +248,7 @@ const sjztlist = ref([
|
||||
|
||||
const paging = ref(null);
|
||||
const status = ref("more"); //,more,loading,noMore
|
||||
const selectedItems = ref([]);
|
||||
const selectedItems = ref(["12123123"]);
|
||||
const usableHeight = ref(0);
|
||||
onMounted(() => {
|
||||
// 获取设备信息
|
||||
@ -480,7 +483,7 @@ const navButtonClick = (res) => {
|
||||
<style scoped>
|
||||
.container {
|
||||
padding: 10px 0px 0px 0px;
|
||||
background-color: #f3f4f6;
|
||||
/* background-color: #f3f4f6; */
|
||||
}
|
||||
|
||||
.list-title {
|
||||
|
||||
@ -3,187 +3,261 @@
|
||||
<view class="form-panel">
|
||||
<uni-forms ref="ebikeInfoForm" :modelValue="ebikeInfo" labelWidth="100px">
|
||||
<uni-section title="车辆" type="line">
|
||||
<uni-forms-item label="车辆编号" required name="bikeCode"
|
||||
:rules="[{ required: true, errorMessage: '请扫描或输入车辆编号' }]">
|
||||
<bikeCodeScan @scan-change="bikeCodeScanChange" :codeValue="ebikeInfo.bikeCode"
|
||||
ref="bikeCodeScanRef" />
|
||||
<uni-forms-item
|
||||
label="车辆编号"
|
||||
required
|
||||
name="bikeCode"
|
||||
:rules="[{ required: true, errorMessage: '请扫描或输入车辆编号' }]"
|
||||
>
|
||||
<bikeCodeScan
|
||||
@scan-change="bikeCodeScanChange"
|
||||
:codeValue="ebikeInfo.bikeCode"
|
||||
ref="bikeCodeScanRef"
|
||||
/>
|
||||
</uni-forms-item>
|
||||
<uni-forms-item label="车辆型号" required name="bikeModel"
|
||||
:rules="[{ required: true, errorMessage: '请输入车辆型号' }]">
|
||||
<uni-easyinput v-model="ebikeInfo.bikeModel" placeholder="请输入车辆型号" />
|
||||
<uni-forms-item
|
||||
label="车辆型号"
|
||||
required
|
||||
name="bikeModel"
|
||||
:rules="[{ required: true, errorMessage: '请输入车辆型号' }]"
|
||||
>
|
||||
<uni-easyinput
|
||||
v-model="ebikeInfo.bikeModel"
|
||||
placeholder="请输入车辆型号"
|
||||
/>
|
||||
</uni-forms-item>
|
||||
<uni-forms-item label="车牌号" name="bikeNumber">
|
||||
<uni-easyinput v-model="ebikeInfo.bikeNumber" placeholder="请输入车牌号" />
|
||||
<uni-easyinput
|
||||
v-model="ebikeInfo.bikeNumber"
|
||||
placeholder="请输入车牌号"
|
||||
/>
|
||||
</uni-forms-item>
|
||||
</uni-section>
|
||||
<uni-section title="中控" type="line">
|
||||
<uni-forms-item label="中控IMEI" required :name="['ebikeEcuInfo','ecuCode']"
|
||||
:rules="[{ required: true, errorMessage: '请扫描或输入中控IMEI' }]">
|
||||
<ecuCodeScan @scan-change="ecuCodeScanChange" :codeValue="ebikeInfo.ebikeEcuInfo.ecuCode"
|
||||
ref="ecuCodeScan_zk" />
|
||||
<uni-forms-item
|
||||
label="中控IMEI"
|
||||
required
|
||||
:name="['ebikeEcuInfo', 'ecuCode']"
|
||||
:rules="[{ required: true, errorMessage: '请扫描或输入中控IMEI' }]"
|
||||
>
|
||||
<ecuCodeScan
|
||||
@scan-change="ecuCodeScanChange"
|
||||
:codeValue="ebikeInfo.ebikeEcuInfo.ecuCode"
|
||||
ref="ecuCodeScan_zk"
|
||||
/>
|
||||
</uni-forms-item>
|
||||
<uni-forms-item label="中控SN" required :name="['ebikeEcuInfo','ecuSn']"
|
||||
:rules="[{ required: true, errorMessage: '请输入中控SN' }]">
|
||||
<uni-easyinput v-model="ebikeInfo.ebikeEcuInfo.ecuSn" placeholder="请输入中控SN" />
|
||||
<uni-forms-item
|
||||
label="中控SN"
|
||||
required
|
||||
:name="['ebikeEcuInfo', 'ecuSn']"
|
||||
:rules="[{ required: true, errorMessage: '请输入中控SN' }]"
|
||||
>
|
||||
<uni-easyinput
|
||||
v-model="ebikeInfo.ebikeEcuInfo.ecuSn"
|
||||
placeholder="请输入中控SN"
|
||||
/>
|
||||
</uni-forms-item>
|
||||
<uni-forms-item label="中控品牌" required :name="['ebikeEcuInfo','ecuModel']"
|
||||
:rules="[{ required: true, errorMessage: '请选择中控品牌' }]">
|
||||
<uni-data-select v-model="ebikeInfo.ebikeEcuInfo.ecuModel" :localdata="ecuModelRange"
|
||||
@change="ecuModelChange" placeholder="请选择中控品牌"></uni-data-select>
|
||||
<uni-forms-item
|
||||
label="中控品牌"
|
||||
required
|
||||
:name="['ebikeEcuInfo', 'ecuModel']"
|
||||
:rules="[{ required: true, errorMessage: '请选择中控品牌' }]"
|
||||
>
|
||||
<uni-data-select
|
||||
v-model="ebikeInfo.ebikeEcuInfo.ecuModel"
|
||||
:localdata="ecuModelRange"
|
||||
@change="ecuModelChange"
|
||||
placeholder="请选择中控品牌"
|
||||
></uni-data-select>
|
||||
</uni-forms-item>
|
||||
</uni-section>
|
||||
<uni-section title="电池" type="line">
|
||||
<uni-forms-item label="电池编号" required :name="['ebikeBatteryInfo','batteryCode']"
|
||||
:rules="[{ required: true, errorMessage: '请扫描或输入电池编号' }]">
|
||||
<scanCode @scan-change="batteryCodeScanChange"
|
||||
:codeValue="ebikeInfo.ebikeBatteryInfo.batteryCode" ref="scanCode_dc" />
|
||||
<uni-forms-item
|
||||
label="电池编号"
|
||||
required
|
||||
:name="['ebikeBatteryInfo', 'batteryCode']"
|
||||
:rules="[{ required: true, errorMessage: '请扫描或输入电池编号' }]"
|
||||
>
|
||||
<scanCode
|
||||
@scan-change="batteryCodeScanChange"
|
||||
:codeValue="ebikeInfo.ebikeBatteryInfo.batteryCode"
|
||||
ref="scanCode_dc"
|
||||
/>
|
||||
</uni-forms-item>
|
||||
</uni-section>
|
||||
<uni-section title="头盔" type="line">
|
||||
<uni-forms-item label="头盔编号" :name="['ebikeHelmetInfo','helmetCode']">
|
||||
<scanCode @scan-change="helmetCodeScanChange" :codeValue="ebikeInfo.ebikeHelmetInfo.helmetCode"
|
||||
ref="scanCode_tk" />
|
||||
<uni-forms-item
|
||||
label="头盔编号"
|
||||
:name="['ebikeHelmetInfo', 'helmetCode']"
|
||||
>
|
||||
<scanCode
|
||||
@scan-change="helmetCodeScanChange"
|
||||
:codeValue="ebikeInfo.ebikeHelmetInfo.helmetCode"
|
||||
ref="scanCode_tk"
|
||||
/>
|
||||
</uni-forms-item>
|
||||
</uni-section>
|
||||
</uni-forms>
|
||||
</view>
|
||||
</view>
|
||||
<view class="nav-panel">
|
||||
<c-uni-goods-nav :fill="true" :options="[]" :buttonGroup="navButtonGroup" @buttonClick="navButtonClick" />
|
||||
<c-uni-goods-nav
|
||||
:fill="true"
|
||||
:options="[]"
|
||||
:buttonGroup="navButtonGroup"
|
||||
@buttonClick="navButtonClick"
|
||||
/>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import {
|
||||
ref,
|
||||
reactive
|
||||
} from 'vue';
|
||||
import * as api from '@/utils/api.js';
|
||||
import {
|
||||
showModelMessage
|
||||
} from '@/utils/tools';
|
||||
const ebikeInfoForm = ref(null);
|
||||
const bikeCodeScanRef = ref(null);
|
||||
const ecuCodeScan_zk = ref(null);
|
||||
const scanCode_dc = ref(null);
|
||||
const scanCode_tk = ref(null);
|
||||
import { ref, reactive } from "vue";
|
||||
import * as api from "@/utils/api.js";
|
||||
import { showModelMessage } from "@/utils/tools";
|
||||
const ebikeInfoForm = ref(null);
|
||||
const bikeCodeScanRef = ref(null);
|
||||
const ecuCodeScan_zk = ref(null);
|
||||
const scanCode_dc = ref(null);
|
||||
const scanCode_tk = ref(null);
|
||||
|
||||
const ebikeInfo = ref({
|
||||
bikeCode: '',
|
||||
bikeModel: '',
|
||||
bikeNumber: '',
|
||||
const ebikeInfo = ref({
|
||||
bikeCode: "",
|
||||
bikeModel: "",
|
||||
bikeNumber: "",
|
||||
ebikeEcuInfo: {
|
||||
ecuCode: '',
|
||||
ecuSn: '',
|
||||
ecuModel: ''
|
||||
ecuCode: "",
|
||||
ecuSn: "",
|
||||
ecuModel: "",
|
||||
},
|
||||
ebikeBatteryInfo: {
|
||||
batteryCode: ''
|
||||
batteryCode: "",
|
||||
},
|
||||
ebikeHelmetInfo: {
|
||||
helmetCode: ''
|
||||
}
|
||||
});
|
||||
helmetCode: "",
|
||||
},
|
||||
});
|
||||
|
||||
const ecuModelRange = [{
|
||||
const ecuModelRange = [
|
||||
{
|
||||
value: "乐摇摇",
|
||||
text: "乐摇摇"
|
||||
text: "乐摇摇",
|
||||
},
|
||||
{
|
||||
value: "美团",
|
||||
text: "美团"
|
||||
}
|
||||
]
|
||||
text: "美团",
|
||||
},
|
||||
];
|
||||
|
||||
const navButtonGroup = reactive([{
|
||||
text: '入库',
|
||||
backgroundColor: '#0078D4',
|
||||
color: '#fff',
|
||||
disable: false
|
||||
}]);
|
||||
const navButtonGroup = reactive([
|
||||
{
|
||||
text: "入库",
|
||||
backgroundColor: "#0078D4",
|
||||
color: "#fff",
|
||||
disable: false,
|
||||
},
|
||||
]);
|
||||
|
||||
const navButtonClick = (e) => {
|
||||
const navButtonClick = (e) => {
|
||||
const index = e.index;
|
||||
//navButtonGroup[index].disable = true;
|
||||
if (index == 0) {
|
||||
if (ebikeInfoForm.value) { // 确保表单元素已挂载
|
||||
ebikeInfoForm.value.validate().then((res) => {
|
||||
if (ebikeInfoForm.value) {
|
||||
// 确保表单元素已挂载
|
||||
ebikeInfoForm.value
|
||||
.validate()
|
||||
.then((res) => {
|
||||
handleSubmit();
|
||||
}).catch((err) => {
|
||||
})
|
||||
.catch((err) => {
|
||||
//console.log('err', err);
|
||||
});
|
||||
} else {
|
||||
//console.error('Form element is not available'); // 调试信息,以防万一
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
const ecuModelChange = (value) => {
|
||||
const ecuModelChange = (value) => {
|
||||
ebikeInfo.value.ebikeEcuInfo.ecuModel = value;
|
||||
};
|
||||
};
|
||||
|
||||
const handleSubmit = () => {
|
||||
const handleSubmit = () => {
|
||||
const params = ebikeInfo.value;
|
||||
api.callEbikeInfo("saveEbikeInfo", params).then((res) => {
|
||||
api
|
||||
.callEbikeInfo("saveEbikeInfo", params)
|
||||
.then((res) => {
|
||||
uni.showToast({
|
||||
title: "入库成功",
|
||||
icon: 'success',
|
||||
icon: "success",
|
||||
duration: 5000,
|
||||
success: (res) => {
|
||||
setTimeout(function() {
|
||||
setTimeout(function () {
|
||||
uni.navigateBack();
|
||||
}, 5000);
|
||||
}
|
||||
},
|
||||
});
|
||||
}).catch((err) => {
|
||||
})
|
||||
.catch((err) => {
|
||||
uni.showToast({
|
||||
title: "入库失败",
|
||||
icon: 'error',
|
||||
duration: 5000
|
||||
icon: "error",
|
||||
duration: 5000,
|
||||
});
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
let timer;
|
||||
const bikeCodeScanChange = (data) => {
|
||||
let timer;
|
||||
const bikeCodeScanChange = (data) => {
|
||||
// clearTimeout(timer);
|
||||
ebikeInfo.value.bikeCode = data;
|
||||
if (!data) return;
|
||||
// timer = setTimeout(function() {
|
||||
api.callEbikeInfo("getBikeINfoData?bikeCode=" + data).then((res) => {
|
||||
api
|
||||
.callEbikeInfo("getBikeINfoData?bikeCode=" + data)
|
||||
.then((res) => {
|
||||
if (res.code == 200 && res.data && res.data.bikeId) {
|
||||
showModelMessage("车辆信息已存在!")
|
||||
showModelMessage("车辆信息已存在!");
|
||||
ebikeInfo.value.bikeCode = "";
|
||||
bikeCodeScanRef.value.onSetValue("");
|
||||
} else {
|
||||
api.callOperateApi("ebikeBikeQrcode/checkBikeCodeExistence?bikeCode=" + data, {},
|
||||
"get").then(res => {
|
||||
api
|
||||
.callOperateApi(
|
||||
"ebikeBikeQrcode/checkBikeCodeExistence?bikeCode=" + data,
|
||||
{},
|
||||
"get"
|
||||
)
|
||||
.then((res) => {
|
||||
if (res.code == 200) {
|
||||
if (res.data > 0) {
|
||||
ebikeInfo.value.bikeCode = data;
|
||||
} else {
|
||||
ebikeInfo.value.bikeCode = "";
|
||||
bikeCodeScanRef.value.onSetValue("");
|
||||
showModelMessage("车辆编号二维码未生成,请重新扫码或输入!")
|
||||
showModelMessage("车辆编号二维码未生成,请重新扫码或输入!");
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
})
|
||||
}
|
||||
}).catch((err) => {
|
||||
.catch((err) => {
|
||||
ebikeInfo.value.bikeCode = data;
|
||||
});
|
||||
// }, 1000);
|
||||
};
|
||||
const ecuCodeScanChange = (data) => {
|
||||
if (!data["sn"]) return;
|
||||
};
|
||||
const ecuCodeScanChange = (data) => {
|
||||
console.log(data);
|
||||
let code = data["imei"] || data["sn"];
|
||||
// if (!data["sn"]) return;
|
||||
|
||||
const params = {
|
||||
"componentCode": data["sn"],
|
||||
"componentType": "262711452730008" //中控
|
||||
}
|
||||
componentCode: code,
|
||||
componentType: "262711452730008", //中控
|
||||
};
|
||||
console.log(params);
|
||||
|
||||
api.callOperateApi("ebikeComponent/validateComponentExistence", params).then(res => {
|
||||
api
|
||||
.callOperateApi("ebikeComponent/validateComponentExistence", params)
|
||||
.then((res) => {
|
||||
if (res.code == 200) {
|
||||
if (res.data) {
|
||||
ebikeInfo.value.ebikeEcuInfo.ecuCode = data["imei"];
|
||||
@ -200,17 +274,18 @@
|
||||
ecuCodeScan_zk.value.onSetValue("");
|
||||
showModelMessage("操作失败!");
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
})
|
||||
};
|
||||
|
||||
const batteryCodeScanChange = (data) => {
|
||||
const batteryCodeScanChange = (data) => {
|
||||
if (!data) return;
|
||||
const params = {
|
||||
"componentCode": data,
|
||||
"componentType": "262711452730000" //电池
|
||||
}
|
||||
api.callOperateApi("ebikeComponent/validateComponentExistence", params).then(res => {
|
||||
componentCode: data,
|
||||
componentType: "262711452730000", //电池
|
||||
};
|
||||
api
|
||||
.callOperateApi("ebikeComponent/validateComponentExistence", params)
|
||||
.then((res) => {
|
||||
if (res.code == 200) {
|
||||
if (res.data) {
|
||||
ebikeInfo.value.ebikeBatteryInfo.batteryCode = data;
|
||||
@ -224,17 +299,18 @@
|
||||
ebikeInfo.value.ebikeBatteryInfo.batteryCode = "";
|
||||
showModelMessage("操作失败!");
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
})
|
||||
};
|
||||
|
||||
const helmetCodeScanChange = (data) => {
|
||||
const helmetCodeScanChange = (data) => {
|
||||
if (!data) return;
|
||||
const params = {
|
||||
"componentCode": data,
|
||||
"componentType": "262711452730001" //头盔
|
||||
}
|
||||
api.callOperateApi("ebikeComponent/validateComponentExistence", params).then(res => {
|
||||
componentCode: data,
|
||||
componentType: "262711452730001", //头盔
|
||||
};
|
||||
api
|
||||
.callOperateApi("ebikeComponent/validateComponentExistence", params)
|
||||
.then((res) => {
|
||||
if (res.code == 200) {
|
||||
if (res.data > 0) {
|
||||
ebikeInfo.value.ebikeHelmetInfo.helmetCode = data;
|
||||
@ -242,39 +318,38 @@
|
||||
ebikeInfo.value.ebikeHelmetInfo.helmetCode = "";
|
||||
scanCode_tk.value.onSetValue("");
|
||||
// bikeCodeScanRef.value.onSetValue("");
|
||||
showModelMessage("头盔不在仓库中,请重新扫码或输入!")
|
||||
showModelMessage("头盔不在仓库中,请重新扫码或输入!");
|
||||
}
|
||||
} else {
|
||||
scanCode_tk.value.onSetValue("");
|
||||
ebikeInfo.value.ebikeHelmetInfo.helmetCode = "";
|
||||
showModelMessage("操作失败!");
|
||||
}
|
||||
|
||||
})
|
||||
};
|
||||
});
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.container {
|
||||
.container {
|
||||
padding: 15px;
|
||||
background-color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
/* 全局样式 */
|
||||
/* .uni-forms .uni-forms-item__label {
|
||||
/* 全局样式 */
|
||||
/* .uni-forms .uni-forms-item__label {
|
||||
width: 100px !important;
|
||||
} */
|
||||
|
||||
.form-panel {
|
||||
.form-panel {
|
||||
padding-bottom: 55px;
|
||||
}
|
||||
}
|
||||
|
||||
.nav-panel {
|
||||
.nav-panel {
|
||||
position: fixed;
|
||||
bottom: 0rpx;
|
||||
width: 100%;
|
||||
padding-bottom: 10px;
|
||||
z-index: 999;
|
||||
background-color: #fff;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
Loading…
x
Reference in New Issue
Block a user