fix: 日志更新,取消任务和指令、创建人、配置文件线程数搞大

This commit is contained in:
2024-07-19 13:26:19 +08:00
parent f971c83141
commit 6babb1980c
25 changed files with 238 additions and 88 deletions

View File

@@ -21,7 +21,7 @@
style="width: 200px"
@change="crud.toQuery"
>
<el-option v-for="item in dict.task_status" :key="item.id" :label="item.label" :value="item.value" />
<el-option v-for="item in dict.task_status" :key="item.id" :label="item.label" :value="item.value"/>
</el-select>
</el-form-item>
<el-form-item :label="$t('task.txt_box.Task_code')">
@@ -57,7 +57,7 @@
style="width: 200px"
@change="crud.toQuery"
>
<el-option v-for="item in materialList" :key="item.id" :label="item.label" :value="item.value" />
<el-option v-for="item in materialList" :key="item.id" :label="item.label" :value="item.value"/>
</el-select>
</el-form-item>
<el-form-item :label="$t('task.txt_box.Task_type')">
@@ -71,7 +71,7 @@
style="width: 200px"
@change="crud.toQuery"
>
<el-option v-for="item in dict.task_type" :key="item.id" :label="item.label" :value="item.value" />
<el-option v-for="item in dict.task_type" :key="item.id" :label="item.label" :value="item.value"/>
</el-select>
<el-form-item :label="$t('task.txt_box.start_or_end')">
<el-input
@@ -85,7 +85,7 @@
/>
</el-form-item>
</el-form-item>
<rrOperation />
<rrOperation/>
</el-form>
</div>
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
@@ -118,9 +118,9 @@
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="135px">
<el-row>
<el-col :span="12">
<div class="grid-content bg-purple" />
<div class="grid-content bg-purple"/>
<el-form-item v-if="false" label="任务标识" prop="task_id">
<el-input v-model="form.task_id" style="width: 240px;" />
<el-input v-model="form.task_id" style="width: 240px;"/>
</el-form-item>
<el-form-item :label="$t('task.txt_box.Material_type')">
<el-select
@@ -321,11 +321,11 @@
</el-select>
</el-form-item>
<el-form-item label="行架任务类型">
<el-input v-model="form.truss_type" style="width: 370px;" @change="isDisabled=false" />
<el-input v-model="form.truss_type" style="width: 370px;" @change="isDisabled=false"/>
</el-form-item>
</el-col>
<el-col :span="12">
<div class="grid-content bg-purple-light" />
<div class="grid-content bg-purple-light"/>
<el-form-item :label="$t('task.select.Start_point2')" prop="start_point_code2">
<el-select
v-model="form.start_point_code2"
@@ -424,10 +424,10 @@
</el-select>
</el-form-item>
<el-form-item :label="$t('task.txt_box.Priority')">
<el-input v-model="form.priority" style="width: 370px;" @change="isDisabled=false" />
<el-input v-model="form.priority" style="width: 370px;" @change="isDisabled=false"/>
</el-form-item>
<el-form-item :label="$t('task.txt_box.Vehicle_number')">
<el-input v-model="form.vehicle_code" style="width: 370px;" @change="isDisabled=false" />
<el-input v-model="form.vehicle_code" style="width: 370px;" @change="isDisabled=false"/>
</el-form-item>
<el-form-item :label="$t('task.txt_box.empty_shaft_position')">
<el-select
@@ -451,14 +451,16 @@
</div>
</el-form-item>
<el-form-item :label="$t('task.select.Description')" prop="description">
<el-input v-model="form.remark" style="width: 370px;" type="textarea" @change="isDisabled=false" />
<el-input v-model="form.remark" style="width: 370px;" type="textarea" @change="isDisabled=false"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="formDia=false">{{ $t('task.select.Cancel') }}</el-button>
<el-button :loading="crud.cu === 2" :disabled="isDisabled" type="primary" @click="saveBtn">{{ $t('task.select.Confirm') }}</el-button>
<el-button :loading="crud.cu === 2" :disabled="isDisabled" type="primary" @click="saveBtn">
{{ $t('task.select.Confirm') }}
</el-button>
</div>
</el-dialog>
<el-dialog :visible.sync="dialogVisible" :title="$t('task.txt_box.extension_field')" @close="closeDialog">
@@ -475,7 +477,7 @@
stripe
border
>
<el-table-column type="index" label="序号" min-width="50" />
<el-table-column type="index" label="序号" min-width="50"/>
<el-table-column label="扩展字段" prop="name" min-width="115">
<template slot-scope="scope">
<el-select
@@ -495,12 +497,14 @@
</el-table-column>
<el-table-column label="扩展字段值" prop="value" min-width="115">
<template slot-scope="scope">
<el-input v-model="scope.row.value" style="width: 100%" />
<el-input v-model="scope.row.value" style="width: 100%"/>
</template>
</el-table-column>
<el-table-column label="操作" min-width="115" align="center">
<template slot-scope="scope">
<el-button size="mini" type="danger" icon="el-icon-minus" circle @click="deleteField(scope.$index)" />
<el-button size="mini" type="danger" icon="el-icon-minus" circle
@click="deleteField(scope.$index)"
/>
</template>
</el-table-column>
</el-table>
@@ -514,16 +518,22 @@
</el-form>
</el-dialog>
<!--表格渲染-->
<el-table ref="table" v-loading="crud.loading" :data="crud.data" size="small" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
<el-table-column type="selection" width="25" />
<el-table-column v-if="false" prop="task_id" label="任务标识" />
<el-table-column prop="task_code" :label="$t('task.txt_box.Task_code')" :min-width="flexWidth('task_code',crud.data,$t('task.txt_box.Task_code'))" />
<el-table ref="table" v-loading="crud.loading" :data="crud.data" size="small" style="width: 100%;"
@selection-change="crud.selectionChangeHandler"
>
<el-table-column type="selection" width="25"/>
<el-table-column v-if="false" prop="task_id" label="任务标识"/>
<el-table-column prop="task_code" :label="$t('task.txt_box.Task_code')"
:min-width="flexWidth('task_code',crud.data,$t('task.txt_box.Task_code'))"
/>
<el-table-column prop="task_type" :label="$t('task.txt_box.Task_type')" width="100px">
<template slot-scope="scope">
{{ dict.label.task_type[scope.row.task_type] }}
</template>
</el-table-column>
<el-table-column prop="agv_action_type" :label="$t('task.txt_box.Action_type')" :min-width="flexWidth('agv_action_type',crud.data,$t('task.txt_box.Action_type'))">
<el-table-column prop="agv_action_type" :label="$t('task.txt_box.Action_type')"
:min-width="flexWidth('agv_action_type',crud.data,$t('task.txt_box.Action_type'))"
>
<template slot-scope="scope">
<span v-if="scope.row.agv_action_type===1 ">{{ $t('task.txt_box.ORDINARY') }}</span>
<span v-if="scope.row.agv_action_type===2 ">{{ $t('task.txt_box.IN_STOCK') }}</span>
@@ -532,7 +542,9 @@
</template>
</el-table-column>
<el-table-column prop="vehicle_code" :label="$t('task.txt_box.Vehicle_number')" :min-width="flexWidth('vehicle_code',crud.data,$t('task.txt_box.Vehicle_number'))" />
<el-table-column prop="vehicle_code" :label="$t('task.txt_box.Vehicle_number')"
:min-width="flexWidth('vehicle_code',crud.data,$t('task.txt_box.Vehicle_number'))"
/>
<el-table-column prop="task_status" :label="$t('task.txt_box.Task_status')" width="150px">
<template slot-scope="scope">
<span v-if="scope.row.task_status==='0' ">{{ $t('task.select.Ready') }}</span>
@@ -540,28 +552,52 @@
<span v-if="scope.row.task_status==='2' ">{{ $t('task.select.Completed') }}</span>
</template>
</el-table-column>
<el-table-column prop="priority" :label="$t('task.txt_box.Priority')" :min-width="flexWidth('priority',crud.data,$t('task.txt_box.Priority'))" />
<el-table-column prop="start_point_code" :label="$t('task.select.Pickup_point')" :min-width="flexWidth('start_point_code',crud.data,$t('task.select.Pickup_point'))" />
<el-table-column prop="next_point_code" :label="$t('task.select.Delivery_point')" :min-width="flexWidth('next_point_code',crud.data,$t('task.select.Delivery_point'))" />
<el-table-column prop="start_point_code2" :label="$t('task.select.Start_point2')" :min-width="flexWidth('start_point_code2',crud.data,$t('task.select.Start_point2'))" />
<el-table-column prop="next_point_code2" :label="$t('task.select.Destination2')" :min-width="flexWidth('next_point_code2',crud.data,$t('task.select.Destination2'))" />
<el-table-column prop="interaction_json" :label="$t('task.select.Interaction_json')" show-overflow-tooltip="true" width="150px" />
<el-table-column prop="agv_system_type" :label="$t('task.txt_box.AGV_system')" show-overflow-tooltip="true" width="150px">
<el-table-column prop="priority" :label="$t('task.txt_box.Priority')"
:min-width="flexWidth('priority',crud.data,$t('task.txt_box.Priority'))"
/>
<el-table-column prop="start_point_code" :label="$t('task.select.Pickup_point')"
:min-width="flexWidth('start_point_code',crud.data,$t('task.select.Pickup_point'))"
/>
<el-table-column prop="next_point_code" :label="$t('task.select.Delivery_point')"
:min-width="flexWidth('next_point_code',crud.data,$t('task.select.Delivery_point'))"
/>
<el-table-column prop="start_point_code2" :label="$t('task.select.Start_point2')"
:min-width="flexWidth('start_point_code2',crud.data,$t('task.select.Start_point2'))"
/>
<el-table-column prop="next_point_code2" :label="$t('task.select.Destination2')"
:min-width="flexWidth('next_point_code2',crud.data,$t('task.select.Destination2'))"
/>
<el-table-column prop="interaction_json" :label="$t('task.select.Interaction_json')"
show-overflow-tooltip="true" width="150px"
/>
<el-table-column prop="agv_system_type" :label="$t('task.txt_box.AGV_system')" show-overflow-tooltip="true"
width="150px"
>
<template slot-scope="scope">
{{ getAgvSystemLabel(scope.row.agv_system_type) }}
</template>
</el-table-column>
<el-table-column prop="put_point_code" :label="$t('TaskRecord.table.Transit_point')" :min-width="flexWidth('put_point_code',crud.data,$t('TaskRecord.table.Transit_point'))" />
<el-table-column prop="remark" :label="$t('task.select.Remark')" :min-width="flexWidth('remark',crud.data,$t('task.select.Remark'))" />
<el-table-column prop="create_by" :label="$t('task.select.Creator')" :min-width="flexWidth('create_by',crud.data,$t('task.select.Creator'))" />
<el-table-column prop="create_time" :label="$t('task.select.Create_time')" :min-width="flexWidth('create_time',crud.data,$t('task.select.Create_time'))" />
<el-table-column v-permission="['admin','task:edit','task:del']" :label="$t('task.select.Operation')" width="200px" align="center">
<el-table-column prop="put_point_code" :label="$t('TaskRecord.table.Transit_point')"
:min-width="flexWidth('put_point_code',crud.data,$t('TaskRecord.table.Transit_point'))"
/>
<el-table-column prop="remark" :label="$t('task.select.Remark')"
:min-width="flexWidth('remark',crud.data,$t('task.select.Remark'))"
/>
<el-table-column prop="create_by" :label="$t('task.select.Creator')"
:min-width="flexWidth('create_by',crud.data,$t('task.select.Creator'))"
/>
<el-table-column prop="create_time" :label="$t('task.select.Create_time')"
:min-width="flexWidth('create_time',crud.data,$t('task.select.Create_time'))"
/>
<el-table-column v-permission="['admin','task:edit','task:del']" :label="$t('task.select.Operation')"
width="200px" align="center"
>
<template slot-scope="scope">
<el-dropdown>
<span class="el-dropdown-link">
<i class="el-icon-setting">More</i>
<el-icon class="el-icon--right">
<arrow-down />
<arrow-down/>
</el-icon>
</span>
<template #dropdown>
@@ -602,6 +638,15 @@
{{ $t('task.select.Forced_Completed') }}
</el-button>
</el-dropdown-item>
<el-dropdown-item>
<el-button
type="text"
icon="el-icon-finished"
@click="handleCommand(scope.$index, scope.row,'e')"
>
{{ $t('task.select.Cancel_Tasks_And_Commands') }}
</el-button>
</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
@@ -609,13 +654,13 @@
</el-table-column>
</el-table>
<!--分页组件-->
<pagination />
<pagination/>
</div>
</div>
</template>
<script>
import crudTask from '@/api/acs/task/task'
import crudTask, { cancelAndInst } from '@/api/acs/task/task'
import CRUD, { crud, header, presenter } from '@crud/crud'
import crudOperation from '@crud/CRUD.operation'
import rrOperation from '@crud/RR.operation'
@@ -631,7 +676,8 @@ export default {
dicts: ['task_status', 'task_type', 'agv_system_type', 'storage_task_type', 'kezhuan', 'empty_shaft_position'],
mixins: [presenter(), header(), crud()],
cruds() {
return CRUD({ title: i18n.t('task.txt_box.Task'), url: 'api/task', idField: 'task_id', sort: 'task_id,desc',
return CRUD({
title: i18n.t('task.txt_box.Task'), url: 'api/task', idField: 'task_id', sort: 'task_id,desc',
optShow: {
add: false,
edit: true,
@@ -639,7 +685,8 @@ export default {
reset: false,
download: false
},
crudMethod: { ...crudTask }})
crudMethod: { ...crudTask }
})
},
data() {
const checkFromY = (rule, value, callback) => {
@@ -809,7 +856,8 @@ export default {
// 清空表单数据
this.extension = [{
name: '',
value: '' }]
value: ''
}]
this.dialogVisible = false
},
saveForm() {
@@ -833,7 +881,8 @@ export default {
})
this.extension = [{
name: '',
value: '' }]
value: ''
}]
// 设置定时器,等待一定时间后再次允许请求
setTimeout(() => {
this.isDisabled = false // 可根据具体需求进行调整
@@ -867,6 +916,14 @@ export default {
console.log(err.response.data.message)
})
},
cancelAndInst(index, row) {
crudTask.cancelAndInst(row.task_id).then(res => {
this.crud.toQuery()
this.crud.notify('取消成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
}).catch(err => {
console.log(err.response.data.message)
})
},
createInst(index, row) {
crudTask.createInst(row.task_id).then(res => {
this.crud.toQuery()
@@ -901,9 +958,12 @@ export default {
case 'c':// 创建指令
this.createInst(index, row)
break
case 'd':// 完成
case 'd':// 强制完成
this.finish('4', row)
break
case 'e':// 取消任务和指令
this.cancelAndInst('3', row)
break
}
},
showStartStorage(val) {
@@ -1011,6 +1071,7 @@ export default {
cursor: pointer;
color: #409EFF;
}
.el-icon-arrow-down {
font-size: 12px;
}