121 lines
2.9 KiB
Vue
121 lines
2.9 KiB
Vue
<template>
|
||
<view>
|
||
<uni-forms ref="form" :modelValue="formData" :rules="rules">
|
||
<uni-row>
|
||
<uni-col :span="24">
|
||
<uni-forms-item label="员工编码" :labelWidth='90' name="empCode">
|
||
<uni-easyinput suffixIcon="scan" @iconClick="scanBar" @confirm="search"
|
||
v-model="formData.empCode" type="text" />
|
||
</uni-forms-item>
|
||
</uni-col>
|
||
<uni-col :span="24" style="margin-bottom: 10px;">
|
||
该员工已绑定设备:<br><span v-for="item,index in searchEmpWithEqp"
|
||
:key="index">{{item.equipmentCode+':'+item.equipmentTitle}}</span></br>
|
||
</uni-col>
|
||
<uni-col :span="24">
|
||
<uni-forms-item label="设备编码" :labelWidth='90' name="eqpCode">
|
||
<uni-easyinput suffixIcon="scan" @iconClick="scanBar1" v-model="formData.eqpCode" type="text" />
|
||
</uni-forms-item>
|
||
</uni-col>
|
||
</uni-row>
|
||
</uni-forms>
|
||
<u-button type="primary" @click="submit">提交</u-button>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
import {
|
||
addStart,
|
||
addEnd,
|
||
listEmpEqpHistory
|
||
} from '@/api/basic/empEqpHistory.js'
|
||
|
||
export default {
|
||
data() {
|
||
return {
|
||
formData: {
|
||
empCode: null,
|
||
eqpCode: null
|
||
},
|
||
searchEmpWithEqp: [],
|
||
rules: {
|
||
empCode: {
|
||
rules: [{
|
||
required: true,
|
||
errorMessage: '请输入员工编码!'
|
||
}]
|
||
},
|
||
eqpCode: {
|
||
rules: [{
|
||
required: true,
|
||
errorMessage: '请输入设备编码!'
|
||
},
|
||
{
|
||
pattern: '^[A-Z0-9]+$',
|
||
errorMessage: '请输入正确格式的设备编码!',
|
||
trigger: 'blur',
|
||
}
|
||
]
|
||
}
|
||
}
|
||
}
|
||
},
|
||
methods: {
|
||
//根据员工编码来查询已上机但并未下机的设备
|
||
search() {
|
||
this.searchEmpWithEqp = []
|
||
listEmpEqpHistory({
|
||
empCode: this.formData.empCode
|
||
}).then(async res => {
|
||
if (res.rows.length > 0) {
|
||
for (var i in res.rows) {
|
||
//判断是否下机
|
||
if (!res.rows[i].endTime) {
|
||
this.searchEmpWithEqp.push({
|
||
equipmentCode: res.rows[i].equipmentCode,
|
||
equipmentTitle: res.rows[i].equipmentTitle
|
||
});
|
||
}
|
||
}
|
||
}
|
||
})
|
||
},
|
||
scanBar() {
|
||
const _this = this;
|
||
uni.scanCode({
|
||
scanType: ['qrCode', 'barCode'],
|
||
success: function(res) {
|
||
_this.formData.empCode = res.result;
|
||
_this.search();
|
||
}
|
||
});
|
||
},
|
||
scanBar1() {
|
||
const _this = this;
|
||
uni.scanCode({
|
||
scanType: ['qrCode', 'barCode'],
|
||
success: function(res) {
|
||
_this.formData.eqpCode = res.result;
|
||
}
|
||
});
|
||
},
|
||
submit() {
|
||
this.$refs.form.validate().then(res => {
|
||
if (this.formData.empCode && this.formData.eqpCode) {
|
||
this.$modal.loading('提交中')
|
||
addStart(this.formData).then(res => {
|
||
this.$modal.closeLoading();
|
||
this.$modal.msgSuccess("上机成功!")
|
||
setTimeout(() => {
|
||
this.$tab.switchTab("/pages/work/index");
|
||
}, 500);
|
||
})
|
||
}
|
||
})
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style>
|
||
</style> |