|
|
@@ -3,16 +3,20 @@
|
|
|
|
|
|
<el-card class="box-card">
|
|
|
<div slot="header" class="clearfix">手动更新点位(无操作)</div>
|
|
|
- <el-form ref="form" :model="form" :rules="rules7" label-width="80px">
|
|
|
+ <el-form ref="form" :model="form" :rules="rules4" label-width="80px">
|
|
|
<el-row :gutter="12">
|
|
|
<el-col :xs="6" :sm="5">
|
|
|
- <el-form-item label="起始位:" prop="startId">
|
|
|
- <el-input v-model="form.startId" placeholder="起始库位"></el-input>
|
|
|
+ <el-form-item label="起始位:" prop="start">
|
|
|
+ <el-tooltip content="例如:BZ_361" placement="top">
|
|
|
+ <el-input v-model="form.start" placeholder="起始库位"></el-input>
|
|
|
+ </el-tooltip>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :xs="6" :sm="5">
|
|
|
- <el-form-item label="目的位:" prop="endId">
|
|
|
- <el-input v-model="form.endId" placeholder="目的库位"></el-input>
|
|
|
+ <el-form-item label="目的位:" prop="goal">
|
|
|
+ <el-tooltip content="例如:KT_130" placement="top">
|
|
|
+ <el-input v-model="form.goal" placeholder="目的库位"></el-input>
|
|
|
+ </el-tooltip>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
@@ -24,16 +28,16 @@
|
|
|
|
|
|
<el-card class="box-card">
|
|
|
<div slot="header" class="clearfix">查询指令完成状态</div>
|
|
|
- <el-form ref="form1" :model="form" :rules="rules1" label-width="80px">
|
|
|
+ <el-form ref="form1" :model="form1" :rules="rules1" label-width="80px">
|
|
|
<el-row :gutter="12">
|
|
|
<el-col :xs="6" :sm="5">
|
|
|
<el-form-item label="节点ID:" prop="taskNodeId">
|
|
|
- <el-input v-model="form.taskNodeId" placeholder="节点ID"></el-input>
|
|
|
+ <el-input v-model="form1.taskNodeId" placeholder="节点ID"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :xs="6" :sm="5">
|
|
|
<el-form-item label="任务ID:" prop="taskId">
|
|
|
- <el-input v-model="form.taskId" placeholder="任务ID"></el-input>
|
|
|
+ <el-input v-model="form1.taskId" placeholder="任务ID"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
@@ -45,16 +49,16 @@
|
|
|
|
|
|
<el-card class="box-card">
|
|
|
<div slot="header" class="clearfix">读取RFID数据</div>
|
|
|
- <el-form ref="form2" :model="form" :rules="rules2" label-width="80px">
|
|
|
+ <el-form ref="form2" :model="form2" :rules="rules2" label-width="80px">
|
|
|
<el-row :gutter="12" >
|
|
|
<el-col :xs="6" :sm="5">
|
|
|
<el-form-item label="节点ID:" prop="taskNodeId">
|
|
|
- <el-input v-model="form.taskNodeId" placeholder="节点ID"></el-input>
|
|
|
+ <el-input v-model="form2.taskNodeId" placeholder="节点ID"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :xs="6" :sm="5">
|
|
|
<el-form-item label="任务ID:" prop="taskId">
|
|
|
- <el-input v-model="form.taskId" placeholder="任务ID"></el-input>
|
|
|
+ <el-input v-model="form2.taskId" placeholder="任务ID"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :xs="6" :sm="5">
|
|
|
@@ -71,12 +75,12 @@
|
|
|
|
|
|
<el-card class="box-card">
|
|
|
<div slot="header" class="clearfix">设置设备上线\离线</div>
|
|
|
- <el-form ref="form3" :model="form" :rules="rules3" label-width="80px">
|
|
|
+ <el-form ref="form3" :model="form3" :rules="rules3" label-width="80px">
|
|
|
<el-row :gutter="12" >
|
|
|
<el-col :xs="6" :sm="5">
|
|
|
<el-form-item label="设备IP:" prop="ip">
|
|
|
<el-tooltip content="例如:192.168.11.240" placement="top">
|
|
|
- <el-input v-model="form.ip" placeholder="设备IP"></el-input>
|
|
|
+ <el-input v-model="form3.ip" placeholder="设备IP"></el-input>
|
|
|
</el-tooltip>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
@@ -89,19 +93,19 @@
|
|
|
|
|
|
<el-card class="box-card">
|
|
|
<div slot="header" class="clearfix">创建AGV任务</div>
|
|
|
- <el-form ref="form4" :model="form" :rules="rules4" label-width="80px">
|
|
|
+ <el-form ref="form4" :model="form4" :rules="rules4" label-width="80px">
|
|
|
<el-row :gutter="12" >
|
|
|
<el-col :xs="6" :sm="5">
|
|
|
<el-form-item label="起点:" prop="start">
|
|
|
<el-tooltip content="例如:BZ_361" placement="top">
|
|
|
- <el-input v-model="form.start" placeholder="起点"></el-input>
|
|
|
+ <el-input v-model="form4.start" placeholder="起点"></el-input>
|
|
|
</el-tooltip>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :xs="6" :sm="5">
|
|
|
<el-form-item label="终点:" prop="goal">
|
|
|
<el-tooltip content="例如:KT_121" placement="top">
|
|
|
- <el-input v-model="form.goal" placeholder="终点"></el-input>
|
|
|
+ <el-input v-model="form4.goal" placeholder="终点"></el-input>
|
|
|
</el-tooltip>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
@@ -114,16 +118,16 @@
|
|
|
|
|
|
<el-card class="box-card">
|
|
|
<div slot="header" class="clearfix">重发指令</div>
|
|
|
- <el-form ref="form5" :model="form" :rules="rules1" label-width="80px">
|
|
|
+ <el-form ref="form5" :model="form5" :rules="rules1" label-width="80px">
|
|
|
<el-row :gutter="12" >
|
|
|
<el-col :xs="6" :sm="5">
|
|
|
<el-form-item label="节点ID:" prop="taskNodeId">
|
|
|
- <el-input v-model="form.taskNodeId" placeholder="节点ID"></el-input>
|
|
|
+ <el-input v-model="form5.taskNodeId" placeholder="节点ID"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :xs="6" :sm="5">
|
|
|
<el-form-item label="任务ID:" prop="taskId">
|
|
|
- <el-input v-model="form.taskId" placeholder="任务ID"></el-input>
|
|
|
+ <el-input v-model="form5.taskId" placeholder="任务ID"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
@@ -135,16 +139,16 @@
|
|
|
|
|
|
<el-card class="box-card">
|
|
|
<div slot="header" class="clearfix">发送回调指令</div>
|
|
|
- <el-form ref="form6" :model="form" :rules="rules1" label-width="80px">
|
|
|
+ <el-form ref="form6" :model="form6" :rules="rules1" label-width="80px">
|
|
|
<el-row :gutter="12" >
|
|
|
<el-col :xs="6" :sm="5">
|
|
|
<el-form-item label="节点ID:" prop="taskNodeId">
|
|
|
- <el-input v-model="form.taskNodeId" placeholder="节点ID"></el-input>
|
|
|
+ <el-input v-model="form6.taskNodeId" placeholder="节点ID"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :xs="6" :sm="5">
|
|
|
<el-form-item label="任务ID:" prop="taskId">
|
|
|
- <el-input v-model="form.taskId" placeholder="任务ID"></el-input>
|
|
|
+ <el-input v-model="form6.taskId" placeholder="任务ID"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
@@ -156,21 +160,21 @@
|
|
|
|
|
|
<el-card class="box-card">
|
|
|
<div slot="header" class="clearfix">动态移动零件(产线内)</div>
|
|
|
- <el-form ref="form7" :model="form" :rules="rules5" label-width="80px">
|
|
|
+ <el-form ref="form7" :model="form7" :rules="rules5" label-width="80px">
|
|
|
<el-row :gutter="12" >
|
|
|
<el-col :xs="6" :sm="5">
|
|
|
- <el-select v-model="form.zoneId" placeholder="选择产线">
|
|
|
- <el-option v-for="deviceUnit in lineList " :label="deviceUnit.name" :value="deviceUnit.no" :key="deviceUnit.no" ></el-option>
|
|
|
+ <el-select v-model="form7.zoneId" placeholder="选择产线">
|
|
|
+ <el-option v-for="deviceUnit in lineList " :label="deviceUnit.name" :value="deviceUnit.id" :key="deviceUnit.id" ></el-option>
|
|
|
</el-select>
|
|
|
</el-col>
|
|
|
<el-col :xs="6" :sm="5">
|
|
|
- <el-form-item label="起始位:" prop="startpointId">
|
|
|
- <el-input v-model="form.startpointId" placeholder="起始点位"></el-input>
|
|
|
+ <el-form-item label="起始位:" prop="start">
|
|
|
+ <el-input-number v-model="form7.startpointId" :min="1" ></el-input-number>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :xs="6" :sm="5">
|
|
|
- <el-form-item label="目的位:" prop="endpointId">
|
|
|
- <el-input v-model="form.endpointId" placeholder="目的点位"></el-input>
|
|
|
+ <el-form-item label="目的位:" prop="goal">
|
|
|
+ <el-input-number v-model="form7.endpointId" :min="1" ></el-input-number>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
@@ -182,16 +186,16 @@
|
|
|
|
|
|
<el-card class="box-card">
|
|
|
<div slot="header" class="clearfix">零件动态入线边库(产线内)</div>
|
|
|
- <el-form ref="form8" :model="form" :rules="rules6" label-width="80px">
|
|
|
+ <el-form ref="form8" :model="form8" :rules="rules6" label-width="80px">
|
|
|
<el-row :gutter="12" >
|
|
|
<el-col :xs="6" :sm="5">
|
|
|
- <el-select v-model="form.zoneId" placeholder="选择产线">
|
|
|
- <el-option v-for="deviceUnit in lineList " :label="deviceUnit.name" :value="deviceUnit.no" :key="deviceUnit.no" ></el-option>
|
|
|
+ <el-select v-model="form8.zoneId" placeholder="选择产线">
|
|
|
+ <el-option v-for="deviceUnit in lineList " :label="deviceUnit.name" :value="deviceUnit.id" :key="deviceUnit.id" ></el-option>
|
|
|
</el-select>
|
|
|
</el-col>
|
|
|
<el-col :xs="6" :sm="5">
|
|
|
<el-form-item label="节点ID:" prop="startpointId">
|
|
|
- <el-input v-model="form.startpointId" placeholder="起始点位"></el-input>
|
|
|
+ <el-input v-model="form8.startpointId" placeholder="起始点位"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
@@ -200,6 +204,45 @@
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</el-card>
|
|
|
+
|
|
|
+ <el-card class="box-card">
|
|
|
+ <div slot="header" class="clearfix">释放节点锁定</div>
|
|
|
+ <el-form ref="form9" :model="form9" :rules="rules1" label-width="80px">
|
|
|
+ <el-row :gutter="12" >
|
|
|
+ <el-col :xs="6" :sm="5">
|
|
|
+ <el-form-item label="节点ID:" prop="taskNodeId">
|
|
|
+ <el-input v-model="form9.taskNodeId" placeholder="节点ID"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="6" :sm="5">
|
|
|
+ <el-form-item label="任务ID:" prop="taskId">
|
|
|
+ <el-input v-model="form9.taskId" placeholder="任务ID"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-form-item>
|
|
|
+ <el-button type="primary" @click="freeLock" >发送</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </el-card>
|
|
|
+
|
|
|
+ <el-card class="box-card">
|
|
|
+ <div slot="header" class="clearfix">刷新线边库排产</div>
|
|
|
+ <el-form ref="form10" :model="form10" :rules="rules7" label-width="80px">
|
|
|
+ <el-row :gutter="12" >
|
|
|
+ <el-col :xs="6" :sm="5">
|
|
|
+ <el-form-item label="节点ID:" prop="deviceType">
|
|
|
+ <el-select v-model="form10.deviceType" placeholder="选择设备类型">
|
|
|
+ <el-option v-for="deviceType in typeList" :label="deviceType.name" :value="deviceType.value" :key="deviceType.value" ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-form-item>
|
|
|
+ <el-button type="primary" @click="refreshXbk" >发送</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </el-card>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
@@ -217,20 +260,52 @@
|
|
|
},
|
|
|
data () {
|
|
|
return {
|
|
|
- form:{
|
|
|
- taskNodeId: '',
|
|
|
- taskId: '',
|
|
|
- positionIndex: 1,
|
|
|
- ip: "",
|
|
|
+ form:{
|
|
|
start: "",
|
|
|
+ goal: ""
|
|
|
+ },
|
|
|
+ form1:{
|
|
|
+ taskNodeId: '',
|
|
|
+ taskId: '',
|
|
|
+ },
|
|
|
+ form2:{
|
|
|
+ taskNodeId: '',
|
|
|
+ taskId: '',
|
|
|
+ positionIndex: 1
|
|
|
+ },
|
|
|
+ form3:{
|
|
|
+ ip: ''
|
|
|
+ },
|
|
|
+ form4:{
|
|
|
+ start: "",
|
|
|
goal: "",
|
|
|
+ },
|
|
|
+ form5:{
|
|
|
+ taskNodeId: '',
|
|
|
+ taskId: '',
|
|
|
+ },
|
|
|
+ form6:{
|
|
|
+ taskNodeId: '',
|
|
|
+ taskId: '',
|
|
|
+ },
|
|
|
+ form7:{
|
|
|
+ zoneId: "",
|
|
|
startpointId: "",
|
|
|
- endpointId: "",
|
|
|
+ endpointId: "",
|
|
|
+ },
|
|
|
+ form8:{
|
|
|
zoneId: "",
|
|
|
- startId: "",
|
|
|
- endId: ""
|
|
|
+ startpointId: ""
|
|
|
+ },
|
|
|
+ form9:{
|
|
|
+ taskNodeId: '',
|
|
|
+ taskId: '',
|
|
|
+ },
|
|
|
+ form10:{
|
|
|
+ deviceType: "0"
|
|
|
},
|
|
|
lineList: [],
|
|
|
+ typeList: [{"name":"全部","value":"0"},{"name":"FANUC","value":"1"},{"name":"HEIDENHAIN","value":"2"},{"name":"DMG","value":"3"},{"name":"HELLER","value":"4"}],
|
|
|
tenantViewVisible: false,
|
|
|
tableKey: 0,
|
|
|
queryParams: initQueryParams({}),
|
|
|
@@ -288,13 +363,10 @@
|
|
|
],
|
|
|
},
|
|
|
rules7: {
|
|
|
- startId: [
|
|
|
- { required: true, message: this.$t("rules.require"), trigger: 'blur' }
|
|
|
- ],
|
|
|
- endId: [
|
|
|
- { required: true, message: this.$t("rules.require"), trigger: 'blur' }
|
|
|
- ],
|
|
|
- },
|
|
|
+ deviceType: [
|
|
|
+ { required: true, message: this.$t("rules.require"), trigger: 'blur' }
|
|
|
+ ]
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
// 实例已经在内存中创建好,此时data和methods已将ok,如果要操作data中的数据或是调用methods中的方法,最早只能在created中操作
|
|
|
@@ -345,7 +417,7 @@
|
|
|
getCallbackList () {
|
|
|
this.$refs.form1.validate((valid) => {
|
|
|
if(valid){
|
|
|
- toolbarApi.getCallbackList(this.form).then(response=>{
|
|
|
+ toolbarApi.getCallbackList(this.form1).then(response=>{
|
|
|
const res = response.data
|
|
|
if(res.isSuccess){
|
|
|
console.log(res.data)
|
|
|
@@ -371,7 +443,7 @@
|
|
|
getRFID () {
|
|
|
this.$refs.form2.validate((valid) => {
|
|
|
if(valid){
|
|
|
- toolbarApi.getRFID(this.form).then(response=>{
|
|
|
+ toolbarApi.getRFID(this.form2).then(response=>{
|
|
|
const res = response.data
|
|
|
if(res.isSuccess){
|
|
|
console.log(res.data)
|
|
|
@@ -396,7 +468,7 @@
|
|
|
updateOnlineStatus () {
|
|
|
this.$refs.form3.validate((valid) => {
|
|
|
if(valid){
|
|
|
- toolbarApi.updateOnlineStatus({ip: this.form.ip}).then(response=>{
|
|
|
+ toolbarApi.updateOnlineStatus({ip: this.form3.ip}).then(response=>{
|
|
|
const res = response.data
|
|
|
if(res.isSuccess){
|
|
|
this.$message({
|
|
|
@@ -420,7 +492,7 @@
|
|
|
addHikTask () {
|
|
|
this.$refs.form4.validate((valid) => {
|
|
|
if(valid){
|
|
|
- toolbarApi.addHikTask({start: this.form.start, goal: this.form.goal}).then(response=>{
|
|
|
+ toolbarApi.addHikTask({start: this.form4.start, goal: this.form4.goal}).then(response=>{
|
|
|
const res = response.data
|
|
|
if(res.isSuccess){
|
|
|
this.$message({
|
|
|
@@ -444,7 +516,7 @@
|
|
|
resend() {
|
|
|
this.$refs.form5.validate((valid) => {
|
|
|
if(valid){
|
|
|
- toolbarApi.resend({taskNodeId: this.form.taskNodeId, taskId: this.form.taskId}).then(response=>{
|
|
|
+ toolbarApi.resend({taskNodeId: this.form5.taskNodeId, taskId: this.form5.taskId}).then(response=>{
|
|
|
const res = response.data
|
|
|
if(res.isSuccess){
|
|
|
this.$message({
|
|
|
@@ -469,7 +541,7 @@
|
|
|
sendCallback(){
|
|
|
this.$refs.form6.validate((valid) => {
|
|
|
if(valid){
|
|
|
- toolbarApi.sendCallback({taskNodeId: this.form.taskNodeId, taskId: this.form.taskId}).then(response=>{
|
|
|
+ toolbarApi.sendCallback({taskNodeId: this.form6.taskNodeId, taskId: this.form6.taskId}).then(response=>{
|
|
|
const res = response.data
|
|
|
if(res.isSuccess){
|
|
|
this.$message({
|
|
|
@@ -490,11 +562,103 @@
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
- manualTask(){
|
|
|
-
|
|
|
+ freeLock(){
|
|
|
+ this.$refs.form9.validate((valid) => {
|
|
|
+ if(valid){
|
|
|
+ toolbarApi.freeLock({taskNodeId: this.form9.taskNodeId, taskId: this.form9.taskId}).then(response=>{
|
|
|
+ const res = response.data
|
|
|
+ if(res.isSuccess){
|
|
|
+ this.$message({
|
|
|
+ message: this.$t('tips.updateSuccess'),
|
|
|
+ type: 'success'
|
|
|
+ })
|
|
|
+ }else{
|
|
|
+ this.$message({
|
|
|
+ message: res.msg,
|
|
|
+ type: 'warning'
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }).finally(()=>{
|
|
|
+ return true
|
|
|
+ })
|
|
|
+ }else{
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ refreshXbk(){
|
|
|
+ this.$refs.form10.validate((valid) => {
|
|
|
+ if(valid){
|
|
|
+ toolbarApi.refreshXbk(this.form10).then(response=>{
|
|
|
+ const res = response.data
|
|
|
+ if(res.isSuccess){
|
|
|
+ this.$message({
|
|
|
+ message: this.$t('tips.updateSuccess'),
|
|
|
+ type: 'success'
|
|
|
+ })
|
|
|
+ }else{
|
|
|
+ this.$message({
|
|
|
+ message: res.msg,
|
|
|
+ type: 'warning'
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }).finally(()=>{
|
|
|
+ return true
|
|
|
+ })
|
|
|
+ }else{
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ manualTask(){
|
|
|
+ this.$refs.form7.validate((valid) => {
|
|
|
+ if(valid){
|
|
|
+ this.form7.startpointId = this.form7.startpointId.toString()
|
|
|
+ this.form7.endpointId = this.form7.endpointId.toString()
|
|
|
+ toolbarApi.manualTask(this.form7).then(response=>{
|
|
|
+ const res = response.data
|
|
|
+ if(res.isSuccess){
|
|
|
+ this.$message({
|
|
|
+ message: this.$t('tips.updateSuccess'),
|
|
|
+ type: 'success'
|
|
|
+ })
|
|
|
+ }else{
|
|
|
+ this.$message({
|
|
|
+ message: res.msg,
|
|
|
+ type: 'warning'
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }).finally(()=>{
|
|
|
+ return true
|
|
|
+ })
|
|
|
+ }else{
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ });
|
|
|
},
|
|
|
manualXbk(){
|
|
|
-
|
|
|
+ this.$refs.form8.validate((valid) => {
|
|
|
+ if(valid){
|
|
|
+ toolbarApi.manualXbk(this.form8).then(response=>{
|
|
|
+ const res = response.data
|
|
|
+ if(res.isSuccess){
|
|
|
+ this.$message({
|
|
|
+ message: this.$t('tips.updateSuccess'),
|
|
|
+ type: 'success'
|
|
|
+ })
|
|
|
+ }else{
|
|
|
+ this.$message({
|
|
|
+ message: res.msg,
|
|
|
+ type: 'warning'
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }).finally(()=>{
|
|
|
+ return true
|
|
|
+ })
|
|
|
+ }else{
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ });
|
|
|
},
|
|
|
reset () {
|
|
|
this.queryParams = initQueryParams({})
|
|
|
@@ -610,7 +774,7 @@
|
|
|
this.loading = true
|
|
|
areaMgrApi.page(this.queryParams).then(res => {
|
|
|
res = res.data
|
|
|
- if(res.isSuccess){
|
|
|
+ if(res.isSuccess){
|
|
|
this.lineList = res.data.records
|
|
|
}
|
|
|
})
|