add 代码提交

This commit is contained in:
zhoujj
2024-12-11 12:17:12 +08:00
parent 34c7449845
commit 92eab4db8f
42 changed files with 972 additions and 500 deletions

View File

@@ -1,8 +1,8 @@
ENV = 'development'
# 接口地址
VUE_APP_BASE_API = 'http://localhost:8011'
VUE_APP_WS_API = 'ws://localhost:8011'
VUE_APP_BASE_API = 'http://localhost:8010'
VUE_APP_WS_API = 'ws://localhost:8010'
# 是否启用 babel-plugin-dynamic-import-node插件
VUE_CLI_BABEL_TRANSPILE_MODULES = true

View File

@@ -1,6 +1,6 @@
window.g = {
dev: {
VUE_APP_BASE_API: 'http://192.168.2.100:8011'
VUE_APP_BASE_API: 'http://127.0.0.1:8010'
},
prod: {
VUE_APP_BASE_API: 'http://192.168.2.100:8011'

View File

@@ -26,9 +26,24 @@ export function edit(data) {
export function query(id) {
return request({
url: 'api/tickets/selectOne?id =' + id,
url: 'api/tickets/selectOne?id=' + id,
method: 'get'
})
}
export default { add, del, edit, query }
export function submits(param) {
return request({
url: 'api/tickets/submits',
method: 'post',
data: param
})
}
export function finishorder(param) {
return request({
url: 'api/tickets/finishorder',
method: 'post',
data: param
})
}
export default { add, del, edit, query, submits, finishorder }

View File

@@ -28,6 +28,12 @@ export function getTemplateList() {
method: 'get',
})
}
export function getTemplateList1() {
return request({
url: 'api/template/getTemplateList1',
method: 'get',
})
}
export function getTicketList() {
return request({
url: 'api/template/getTicketList',
@@ -35,4 +41,4 @@ export function getTicketList() {
})
}
export default { create, see, del, getTemplateList, getTicketList }
export default { create, see, del, getTemplateList, getTicketList, getTemplateList1 }

View File

@@ -22,7 +22,7 @@ service.interceptors.request.use(
if (getToken()) {
config.headers['Authorization'] = getToken() ? 'Bearer ' + getToken() : undefined // 让每个请求携带自定义token 请根据实际情况自行修改
}
config.headers['Content-Type'] = 'application/json'
// config.headers['Content-Type'] = 'application/json'
config.headers['Accept-Language'] = lang
return config
},

View File

@@ -51,8 +51,7 @@ export default {
default: false
},
openParam: {
type: String,
default: ''
type: String
}
},
data() {

View File

@@ -112,7 +112,7 @@ import dry_manipulator from '@/views/acs/device/driver/dry_manipulator.vue'
import blanking_button from '@/views/acs/device/driver/blanking_button.vue'
import pull_head_manipulator from '@/views/acs/device/driver/pull_head_manipulator.vue'
import pull_tail_manipulator from '@/views/acs/device/driver/pull_tail_manipulator.vue'
import green_foil_machine_button from '@/views/acs/device/driver/green_foil_machine_button.vue'
// import green_foil_machine_button from '@/views/acs/device/driver/green_foil_machine_button.vue'
import inflatable_shaft_library from '@/views/acs/device/driver/inflatable_shaft_library.vue'
import manipulator_agv_station from '@/views/acs/device/driver/manipulator_agv_station.vue'
import paper_tube_pick_size from '@/views/acs/device/driver/paper_tube_pick_size.vue'
@@ -135,6 +135,8 @@ import xg_agv_car from '@/views/acs/device/driver/agv/xg_agv_car.vue'
import oven_inspect_site from '@/views/acs/device/driver/oven_inspect_site.vue'
import one_rgv from '@/views/acs/device/driver/one_manipulator/one_rgv.vue'
import standard_manipulator from '@/views/acs/device/driver/one_manipulator/standard_manipulator.vue'
import primary_device from '@/views/acs/device/driver/primary_device.vue'
import carton_labeling_machine from '@/views/acs/device/driver/carton_labeling_machine.vue'
export default {
name: 'DeviceConfig',
components: {
@@ -189,14 +191,16 @@ export default {
pull_head_manipulator,
pull_tail_manipulator,
inflatable_shaft_library,
green_foil_machine_button,
// green_foil_machine_button,
xg_agv_car,
oven_inspect_site,
manipulator_agv_station,
volume_two_manipulator,
manipulator_cache,
paper_tube_pick_size,
one_rgv
one_rgv,
primary_device,
carton_labeling_machine
},
dicts: ['device_type'],
mixins: [crud],

View File

@@ -83,13 +83,13 @@
<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="80px" align="center" fixed="right">
<template slot-scope="scope">
<el-button
<!-- <el-button
type="text"
icon="el-icon-edit"
@click="seeTemp(scope.row.template_id)"
>
修改
</el-button>
</el-button> -->
</template>
</el-table-column>
</el-table>

View File

@@ -1,5 +1,6 @@
<template>
<div class="app-container">
<!-- <div class="app-container"> -->
<div v-loading.fullscreen.lock="fullscreenLoading" class="app-container">
<!--工具栏-->
<div class="head-container">
<div v-if="crud.props.searchToggle">
@@ -10,21 +11,33 @@
label-position="right"
label-suffix=":"
>
<el-form-item label="工单号">
<el-input
v-model="query.ticket_code"
size="small"
placeholder="工单号"
class="filter-item"
style="width: 200px"
@change="crud.toQuery"
/>
</el-form-item>
<rrOperation />
</el-form>
</div>
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<crudOperation :permission="permission">
<el-button
slot="right"
class="filter-item"
type="success"
icon="el-icon-position"
size="mini"
:disabled="!(crud.selections[0]) || crud.selections[1]"
@click="submits(crud.selections[0])"
>
开工
</el-button>
<el-button
slot="right"
class="filter-item"
type="success"
icon="el-icon-position"
size="mini"
:disabled="!(crud.selections[0]) || crud.selections[1]"
@click="finishorder(crud.selections[0])"
>
工单完成
</el-button>
<el-button
slot="left"
v-permission="['admin','task:add']"
@@ -36,29 +49,40 @@
>
{{ $t('auto.common.Create') }}
</el-button>
<!-- <el-button
slot="left"
v-permission="['admin','task:edit']"
class="filter-item"
size="mini"
type="primary"
icon="el-icon-plus"
@click="formDias=true"
>
{{ $t('auto.common.Update') }}
</el-button> -->
</crudOperation>
<el-dialog :close-on-click-modal="false" :visible.sync="formDia" :title="crud.status.title" width="550px">
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="110px">
<el-row>
<el-col :span="24">
<div class="grid-content bg-purple" />
<el-form-item label="工单号" prop="ticket_code">
<el-input v-model="form.ticket_code" style="width: 370px;" @change="isDisabled=false" />
<el-form-item label="批次号" prop="batch_number">
<el-input v-model="form.batch_number" style="width: 370px;" @change="isDisabled=false" @focus="getMaterial(1)"/>
</el-form-item>
<el-form-item label="设备" prop="device_code">
<el-input v-model="form.device_code" style="width: 370px;" @change="isDisabled=false" />
<el-form-item label="所属客户" prop="customer">
<el-input v-model="form.customer" style="width: 370px;" @change="isDisabled=false" />
</el-form-item>
<el-form-item label="生产订单" prop="production_orders">
<el-input v-model="form.production_orders" style="width: 370px;" @change="isDisabled=false" />
</el-form-item>
<el-form-item label="生产物料" prop="production_materials">
<el-form-item label="实发型号" prop="production_materials">
<el-input v-model="form.production_materials" style="width: 370px;" @change="isDisabled=false" />
</el-form-item>
<el-form-item label="大型号" prop="large_model">
<el-input v-model="form.large_model" style="width: 370px;" @change="isDisabled=false" />
</el-form-item>
<el-form-item label="小型号" prop="small_model">
<el-input v-model="form.small_model" style="width: 370px;" @change="isDisabled=false" />
</el-form-item>
<el-form-item label="计划数量" prop="planned_quantity">
<el-input v-model="form.planned_quantity" style="width: 370px;" @change="isDisabled=false" />
</el-form-item>
<el-form-item label="贴标信息" prop="labeling_message">
<el-input v-model="form.labeling_message" style="width: 370px;" @change="isDisabled=false" />
</el-form-item>
<el-form-item label="瓶身号" prop="bottle_number">
<el-input v-model="form.bottle_number" style="width: 370px;" @change="isDisabled=false" />
@@ -66,74 +90,21 @@
<el-form-item label="纸箱号" prop="carton_number">
<el-input v-model="form.carton_number" style="width: 370px;" @change="isDisabled=false" />
</el-form-item>
<el-form-item label="纸箱类型" prop="carton_form">
<el-input v-model="form.carton_form" style="width: 370px;" @change="isDisabled=false" />
<el-form-item label="瓶身关联标签模板" prop="bottle_board">
<el-input v-model="form.bottle_board" style="width: 370px;" @change="isDisabled=false" />
</el-form-item>
<el-form-item label="纸箱关联标签模板" prop="carton_board">
<el-input v-model="form.carton_board" style="width: 370px;" @change="isDisabled=false" />
</el-form-item>
<el-form-item label="纸箱装瓶数量" prop="carton_qty">
<el-input v-model="form.carton_qty" style="width: 370px;" @change="isDisabled=false" />
</el-form-item>
<el-form-item label="计划开始时间">
<el-date-picker
v-model="form.start_time"
type="datetime"
placeholder="选择日期时间"
style="width: 370px;"
@change="handleDateTimeChange"
/>
</el-form-item>
<el-form-item label="计划结束时间">
<el-date-picker
v-model="form.end_time"
type="datetime"
placeholder="选择日期时间"
style="width: 370px;"
@change="handleDateTimeChange"
/>
</el-form-item>
<!-- <el-form-item label="实际完成数量">
<el-input v-model="form.device_code" style="width: 370px;" @change="isDisabled=false" />
</el-form-item>
<el-form-item label="实际开始时间">
<el-input v-model="form.device_code" style="width: 370px;" @change="isDisabled=false" />
</el-form-item>
<el-form-item label="实际结束时间">
<el-input v-model="form.device_code" style="width: 370px;" @change="isDisabled=false" />
</el-form-item> -->
<!-- <el-form-item label="贴标数量" prop="labeling_qty">
<el-input v-model="form.labeling_qty" style="width: 370px;" @change="isDisabled=false" />
</el-form-item> -->
<el-form-item label="所属客户" prop="customer">
<el-input v-model="form.customer" style="width: 370px;" @change="isDisabled=false" />
</el-form-item>
<el-form-item label="是否加冰" prop="is_ice">
<el-radio-group v-model="form.is_ice" style="width: 240px">
<el-radio :label="true"></el-radio>
<el-radio :label="false"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="是否人工贴标" prop="is_labeling">
<el-radio-group v-model="form.is_labeling" style="width: 240px">
<el-radio :label="true"></el-radio>
<el-radio :label="false"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="合格重量" prop="weight_ok">
<el-input v-model="input1" placeholder="合格重量(g)" style="width: 170px;" @change="updateIsIce" />
<el-input v-model="input2" placeholder="误差范围(g)" style="width: 170px;" @change="updateIsIce" />
</el-form-item>
<el-form-item label="状态">
<el-select
v-model="form.ticket_status"
style="width: 370px;"
filterable
clearable
:placeholder="$t('task.select.Placeholder')"
@change="isDisabled=false"
>
<el-option v-for="item in dict.operate" :key="item.id" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
@@ -142,52 +113,44 @@
<el-button :loading="crud.cu === 2" :disabled="isDisabled" type="primary" @click="saveBtn">{{ $t('task.select.Confirm') }}</el-button>
</div>
</el-dialog>
<el-dialog :close-on-click-modal="false" :visible.sync="formDias" :title="crud.status.title" width="550px">
<el-form ref="form" :model="form1" :rules="rules" size="small" label-width="110px">
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="110px">
<el-row>
<el-col :span="24">
<div class="grid-content bg-purple" />
<el-form-item label="工单号" prop="ticket_code">
<el-input v-model="form1.ticket_code" style="width: 370px;" @change="isDisabled=false" />
<el-form-item label="批次号" prop="batch_number">
<el-input v-model="form.batch_number" style="width: 370px;" @change="isDisabled=false"/>
</el-form-item>
<el-form-item label="设备" prop="device_code">
<el-input v-model="form1.device_code" style="width: 370px;" @change="isDisabled=false" />
<el-form-item label="所属客户" prop="customer">
<el-input v-model="form.customer" style="width: 370px;" @change="isDisabled=false" />
</el-form-item>
<el-form-item label="生产订单" prop="production_orders">
<el-input v-model="form1.production_orders" style="width: 370px;" @change="isDisabled=false" />
<el-form-item label="实发型号" prop="production_materials">
<el-input v-model="form.production_materials" style="width: 370px;" @change="isDisabled=false" />
</el-form-item>
<el-form-item label="生产物料" prop="production_materials">
<el-input v-model="form1.production_materials" style="width: 370px;" @change="isDisabled=false" />
<el-form-item label="大型号" prop="large_model">
<el-input v-model="form.large_model" style="width: 370px;" @change="isDisabled=false" />
</el-form-item>
<el-form-item label="小型号" prop="small_model">
<el-input v-model="form.small_model" style="width: 370px;" @change="isDisabled=false" />
</el-form-item>
<el-form-item label="计划数量" prop="planned_quantity">
<el-input v-model="form1.planned_quantity" style="width: 370px;" @change="isDisabled=false" />
</el-form-item>
<el-form-item label="贴标信息" prop="labeling_message">
<el-input v-model="form.labeling_message" style="width: 370px;" @change="isDisabled=false" />
<el-input v-model="form.planned_quantity" style="width: 370px;" @change="isDisabled=false" />
</el-form-item>
<el-form-item label="瓶身号" prop="bottle_number">
<el-input v-model="form1.bottle_number" style="width: 370px;" @change="isDisabled=false" />
<el-input v-model="form.bottle_number" style="width: 370px;" @change="isDisabled=false" />
</el-form-item>
<el-form-item label="纸箱号" prop="carton_number">
<el-input v-model="form1.carton_number" style="width: 370px;" @change="isDisabled=false" />
<el-form-item label="纸箱号" prop="carton_number">
<el-input v-model="form.carton_number" style="width: 370px;" @change="isDisabled=false" />
</el-form-item>
<el-form-item label="瓶身关联标签模板" prop="bottle_board">
<el-input v-model="form.bottle_board" style="width: 370px;" @change="isDisabled=false" />
</el-form-item>
<el-form-item label="纸箱关联标签模板" prop="carton_board">
<el-input v-model="form.carton_board" style="width: 370px;" @change="isDisabled=false" />
</el-form-item>
<el-form-item label="纸箱类型" prop="carton_form">
<el-input v-model="form1.carton_form" style="width: 370px;" @change="isDisabled=false" />
</el-form-item>
<el-form-item label="纸箱装瓶数量" prop="carton_qty">
<el-input v-model="form1.carton_qty" style="width: 370px;" @change="isDisabled=false" />
</el-form-item>
<el-form-item label="计划开始时间">
<el-input v-model="form1.start_time" disabled style="width: 370px;" @change="isDisabled=false" />
</el-form-item>
<el-form-item label="计划结束时间">
<el-input v-model="form1.end_time" disabled style="width: 370px;" @change="isDisabled=false" />
</el-form-item>
<!-- <el-form-item label="贴标数量" prop="labeling_qty">
<el-input v-model="form1.labeling_qty" style="width: 370px;" @change="isDisabled=false" />
</el-form-item> -->
<el-form-item label="所属客户" prop="customer">
<el-input v-model="form1.customer" style="width: 370px;" @change="isDisabled=false" />
<el-input v-model="form.carton_qty" style="width: 370px;" @change="isDisabled=false" />
</el-form-item>
<el-form-item label="是否加冰" prop="is_ice">
<el-radio-group v-model="form.is_ice" style="width: 240px">
@@ -195,28 +158,6 @@
<el-radio :label="false"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="是否人工贴标" prop="is_labeling">
<el-radio-group v-model="form.is_labeling" style="width: 240px">
<el-radio :label="true"></el-radio>
<el-radio :label="false"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="合格重量" prop="weight_ok">
<el-input v-model="input3" placeholder="合格重量(g)" style="width: 170px;" @change="updateIsIce1" />
<el-input v-model="input4" placeholder="误差范围(g)" style="width: 170px;" @change="updateIsIce1" />
</el-form-item>
<el-form-item label="状态">
<el-select
v-model="form1.ticket_status"
style="width: 370px;"
filterable
clearable
:placeholder="$t('task.select.Placeholder')"
@change="isDisabled=false"
>
<el-option v-for="item in dict.operate" :key="item.id" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
@@ -230,14 +171,14 @@
<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="50px" />
<el-table-column v-if="false" prop="ticket_id" label="工单标识" />
<el-table-column prop="ticket_code" label="工单号" :min-width="flexWidth('ticket_code',crud.data,'工单号')" />
<el-table-column prop="device_code" label="设备" width="100px" />
<el-table-column prop="production_orders" label="生产订单" :min-width="flexWidth('production_orders',crud.data,'生产订单')" />
<el-table-column prop="production_materials" label="生产物料" :min-width="flexWidth('production_materials',crud.data,'生产物料')" />
<el-table-column prop="labeling_message" label="贴标信息" :min-width="flexWidth('labeling_message',crud.data,'贴标信息')" />
<el-table-column prop="batch_number" label="批次号" :min-width="flexWidth('batch_number',crud.data,'批次号')" />
<el-table-column prop="production_materials" label="实发型号" :min-width="flexWidth('production_materials',crud.data,'实发型号')" />
<el-table-column prop="large_model" label="大型号" :min-width="flexWidth('large_model',crud.data,'大型号')" />
<el-table-column prop="small_model" label="小型号" :min-width="flexWidth('small_model',crud.data,'小型号')" />
<el-table-column prop="bottle_number" label="瓶身号" :min-width="flexWidth('bottle_number',crud.data,'瓶身号')" />
<el-table-column prop="carton_number" label="纸箱号" :min-width="flexWidth('carton_number',crud.data,'纸箱号')" />
<el-table-column prop="carton_form" label="纸箱类型" :min-width="flexWidth('carton_form',crud.data,'纸箱类型')" />
<el-table-column prop="bottle_board" label="瓶身关联标签模板" :min-width="flexWidth('bottle_board',crud.data,'瓶身关联标签模板')" />
<el-table-column prop="carton_board" label="纸箱关联标签模板" :min-width="flexWidth('carton_board',crud.data,'纸箱关联标签模板')" />
<el-table-column prop="carton_qty" label="纸箱装瓶数量" :min-width="flexWidth('carton_qty',crud.data,'纸箱装瓶数量')" />
<el-table-column prop="ticket_status" label="状态" width="80px">
<template slot-scope="scope">
@@ -250,7 +191,6 @@
<el-table-column prop="finish_qty" label="实际完成数量" :min-width="flexWidth('finish_qty',crud.data,'实际完成数量')" />
<el-table-column prop="actual_start_time" label="实际开始时间" :min-width="flexWidth('actual_start_time',crud.data,'实际开始时间')" />
<el-table-column prop="actual_end_time" label="实际结束时间" :min-width="flexWidth('actual_end_time',crud.data,'实际结束时间')" />
<!-- <el-table-column prop="labeling_qty" label="贴标数量" width="80px" /> -->
<el-table-column prop="customer" label="所属客户" width="80px" />
<el-table-column
prop="is_ice"
@@ -260,99 +200,44 @@
<template slot-scope="scope">
{{ scope.row.is_ice ? '是' : '否' }}
</template>
</el-table-column>
<el-table-column
prop="is_labeling"
label="是否加冰"
:min-width="flexWidth('is_labeling',crud.data,'是否加冰')"
>
<template slot-scope="scope">
{{ scope.row.is_ice ? '是' : '否' }}
</template>
</el-table-column>
<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="80px" align="center" fixed="right">
<template slot-scope="scope">
<el-button
<!-- <el-button
type="text"
icon="el-icon-edit"
@click="queryBtn(scope.row.ticket_id)"
>
修改
</el-button>
</el-button> -->
</template>
<!-- <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 />
</el-icon>
</span>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item>
<el-button
type="text"
icon="el-icon-finished"
@click="handleCommand(scope.$index, scope.row,'a')"
>
{{ $t('task.select.Completed') }}
</el-button>
</el-dropdown-item>
<el-dropdown-item>
<el-button
type="text"
icon="el-icon-circle-close"
@click="handleCommand(scope.$index, scope.row,'b')"
>
{{ $t('task.select.Cancel') }}
</el-button>
</el-dropdown-item>
<el-dropdown-item>
<el-button
type="text"
icon="el-icon-folder-add"
@click="handleCommand(scope.$index, scope.row,'c')"
>
{{ $t('task.select.Create_command') }}
</el-button>
</el-dropdown-item>
<el-dropdown-item>
<el-button
type="text"
icon="el-icon-finished"
@click="handleCommand(scope.$index, scope.row,'d')"
>
{{ $t('task.select.Forced_Completed') }}
</el-button>
</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
</template> -->
</el-table-column>
</el-table>
<!--分页组件-->
<pagination />
</div>
<MaterialDialog :dialog-show.sync="materialDialog" :flag="flag" @tableChanged="tableChanged"/>
</div>
</template>
<script>
import crudTask from '@/api/acs/order/order'
import CRUD, { crud, header, presenter } from '@crud/crud'
import {submits} from '@/api/acs/order/order'
import {finishorder} from '@/api/acs/order/order'
// import CRUD, { crud, header, presenter } from '@crud/crud'
import CRUD, { crud, form, header, presenter } from '@crud/crud'
import crudOperation from '@crud/CRUD.operation'
import rrOperation from '@crud/RR.operation'
import pagination from '@crud/Pagination'
import deviceCrud from '@/api/acs/device/device'
import routeCurd from '@/api/acs/route/routePlan'
import { getDicts } from '@/views/system/dict/dict'
import MaterialDialog from '@/views/acs/order/MaterialDialog.vue'
export default {
name: 'Tickets',
components: { pagination, crudOperation, rrOperation },
components: { MaterialDialog,pagination, crudOperation, rrOperation },
dicts: ['task_status', 'task_type', 'agv_system_type', 'storage_task_type', 'kezhuan', 'empty_shaft_position', 'operate'],
mixins: [presenter(), header(), crud()],
cruds() {
@@ -362,7 +247,7 @@ export default {
edit: false,
del: true,
reset: false,
download: false
download: true
},
crudMethod: { ...crudTask }})
},
@@ -376,6 +261,9 @@ export default {
materialList: [],
statusList: [],
routeList: [],
flag: 1,
materialDialog: false,
fullscreenLoading: false,
agvActionList: [
{ key: '普通任务', value: 1 },
{ key: '取货二次分配', value: 2 },
@@ -402,6 +290,7 @@ export default {
input4: '',
form: {
ticket_id: null,
batch_number: null,
device_code: null,
production_orders: null,
production_materials: null,
@@ -422,6 +311,7 @@ export default {
},
form1: {
ticket_id: null,
batch_number: null,
device_code: null,
production_orders: null,
production_materials: null,
@@ -453,43 +343,30 @@ export default {
}],
dialogVisible: false,
rules: {
ticket_code: [
{ required: true, message: '工单不能为空', trigger: 'blur' }
],
device_code: [
{ required: true, message: '设备不能为空', trigger: 'blur' }
],
production_orders: [
{ required: true, message: '生产数量不能为空', trigger: 'blur' }
],
production_materials: [
{ required: true, message: '生产物料不能为空', trigger: 'blur' }
],
planned_quantity: [
{ required: true, message: '计划数量不能为空', trigger: 'blur' }
],
bottle_number: [
{ required: true, message: '瓶身号不能为空', trigger: 'blur' }
],
carton_number: [
{ required: true, message: '纸箱号不能为空', trigger: 'blur' }
],
carton_form: [
{ required: true, message: '纸箱类型不能为空', trigger: 'blur' }
],
carton_qty: [
{ required: true, message: '纸箱装瓶数量不能为空', trigger: 'blur' }
],
labeling_message: [
{ required: true, message: '贴标信息不能为空', trigger: 'blur' }
],
// production_orders: [
// { required: true, message: '生产数量不能为空', trigger: 'blur' }
// ],
// production_materials: [
// { required: true, message: '实发型号不能为空', trigger: 'blur' }
// ],
// planned_quantity: [
// { required: true, message: '计划数量不能为空', trigger: 'blur' }
// ],
// bottle_number: [
// { required: true, message: '瓶身号不能为空', trigger: 'blur' }
// ],
// carton_number: [
// { required: true, message: '纸箱号不能为空', trigger: 'blur' }
// ],
// carton_qty: [
// { required: true, message: '纸箱装瓶数量不能为空', trigger: 'blur' }
// ],
// labeling_qty: [
// { required: true, message: '贴标数量不能为空', trigger: 'blur' }
// ],
customer: [
{ required: true, message: '所属客户不能为空', trigger: 'blur' }
]
// customer: [
// { required: true, message: '所属客户不能为空', trigger: 'blur' }
// ]
}
}
},
@@ -519,14 +396,51 @@ export default {
methods: {
updateIsIce() {
this.form.weight_ok = this.concatenatedValue
},
querytable(){
},
updateIsIce1() {
this.form1.weight_ok = this.concatenatedValue1
},
getMaterial(flag) {
this.materialDialog = true
this.flag = flag
},
submits(row) {
this.fullscreenLoading = true
submits(row).then(res => {
this.crud.notify('下发成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
this.crud.toQuery()
}).catch(() => {
this.fullscreenLoading = false
}).finally(() => {
this.fullscreenLoading = false
})
},
finishorder(row) {
finishorder(row).then(res => {
this.crud.notify('完成成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
this.crud.toQuery()
})
},
tableChanged(row, flag) {
if (flag === 1) {
this.form.batch_number=row.batch_number
this.form.customer=row.customer
this.form.production_materials=row.production_materials
this.form.large_model=row.large_model
this.form.small_model=row.small_model
this.form.planned_quantity=row.weight
this.form.bottle_number=row.bottle_number
this.form.carton_number=row.carton_number
}
},
handleDateTimeChange() {
console.log('Selected date and time:')
// 处理你的日期时间变更逻辑
},
handleChange(field) {
// 检查字段值是否发生变化
if (this.form1[field] !== this.originalForm[field]) {
@@ -571,9 +485,10 @@ export default {
this.isDisabled = true
crudTask.query(ticket).then(res => {
// 请求完成后启用按钮
this.form1 = res
this.isDisabled = false
this.form = res
this.crud.toQuery()
this.formDias = true
this.formDia = true
if (this.form1.weight_ok) {
const parts = this.form1.weight_ok.split(',')
this.input3 = parts[0] || '' // 如果没有值,则为空字符串
@@ -597,6 +512,7 @@ export default {
this.form = {
ticket_id: null,
device_code: null,
batch_number: null,
production_orders: null,
production_materials: null,
planned_quantity: null,
@@ -624,11 +540,11 @@ export default {
}, 1000) // 5000 毫秒,即 5 秒钟
},
editBtn() {
/* if (!this.isFormChanged) {
if (!this.isFormChanged) {
// 如果表单没有变化,不进行提交
return
} */
// 禁用按钮
}
禁用按钮
this.isDisabled = true
crudTask.edit(this.form1).then(res => {
// 请求完成后启用按钮
@@ -637,6 +553,7 @@ export default {
this.formDias = false
this.isDisabled = true
this.originalForm = JSON.parse(JSON.stringify(this.form))
console.log(JSON.parse(JSON.stringify(this.form)))
this.isFormChanged = false
})
this.extension = [{

View File

@@ -35,27 +35,10 @@
/>
<el-button slot="reference">自定义纸张1</el-button>
</el-popover>
<!--
<el-select
v-model="templateId"
filterable
remote
reserve-keyword
placeholder="模板名称"
:remote-method="getTemplateList"
@change="getTemplateById"
>
<el-option
v-for="item in templateList"
:key="item.templateId"
:label="item.templateName"
:value="item.templateId"
/>
</el-select> -->
<el-select
v-model="templateId"
filterable
placeholder="请选择模板"
placeholder="请选择瓶盖模板"
style="width: 150px;"
@change="getTemplateById"
>
@@ -66,11 +49,25 @@
:value="item.template_id"
/>
</el-select>
<el-input
<el-select
v-model="templateId"
filterable
placeholder="请选择纸箱模板"
style="width: 150px;"
@change="getTemplateById"
>
<el-option
v-for="item in templateList1"
:key="item.template_name"
:label="item.template_name"
:value="item.template_id"
/>
</el-select>
<!-- <el-input
v-model="template_number"
style="width: 200px;"
placeholder="请输入需要打印的份数"
/>
/> -->
<!-- <el-select
v-model="ticketId"
filterable
@@ -286,6 +283,7 @@ export default {
radio1:null,
ticketList: [],
templateList: [],
templateList1: [],
ticketId: null,
templateId: null,
templateLoading: false,
@@ -356,6 +354,10 @@ export default {
template.getTicketList().then(data => {
this.ticketList = data
})
template.getTemplateList1().then(data => {
this.templateList1 = data
})
console.log('-----获取到消息1------')
if (typeof (WebSocket) === 'undefined') {
this.$notify({
title: '提示',
@@ -371,7 +373,33 @@ export default {
methods: {
webSocketOnMessage(e) {
console.log('-----获取到消息------')
console.log(e)
console.log("后端传入的值",e.data);
console.info('自动发给打印机的参数', JSON.parse(e.data))
const typeValue =JSON.parse(e.data).type
console.log("后端传入的值e",typeValue);
this.hiprintTemplate.update(JSON.parse(e.data))
if (typeValue === 1) {
let printData1 = {name:'名称2'};
this.hiprintTemplate.print2(this.printData1,{
printer: 'ZDesigner ZT610-300dpi ZPL111',
title: '打印任务名称',
color: false, // 是否打印颜色 默认 true
copies: 1, // 打印份数 默认 1
});
const printerList = this.hiprintTemplate.getPrinterList()
console.info('打印机列表', printerList)
}
if (typeValue === 2){
let printData1 = {name:'名称1'};
this.hiprintTemplate.print2(this.printData1,{
printer: 'ZDesigner ZT610-300dpi ZPL110', // 指定打印机 打印机 名称
title: '打印任务名称',
color: false, // 是否打印颜色 默认 true
copies: 1, // 打印份数 默认 1
});
const printerList = this.hiprintTemplate.getPrinterList()
console.info('打印机列表', printerList)
}
},
addTable() {
this.formDias = true
@@ -481,6 +509,10 @@ export default {
this.hiprintTemplate.print(printData, options, ext)
}
},
/**
* 自动打印
* 注意: 需要先连接客户端
*/
/**
* 直接打印: 借助客户端,静默打印(无弹窗直接打印)
@@ -490,12 +522,12 @@ export default {
let jsonString=JSON.stringify(this.hiprintTemplate.getJson() || {})
// 1. 解析 JSON 字符串为 JavaScript 对象
let jsonObject = JSON.parse(jsonString);
let testDataValue = parseInt(jsonObject.panels[0].printElements[0].options.testData, 10);
jsonObject.panels[0].printElements[0].options.testData = testDataValue + 1;
jsonObject.panels[0].printElements[0].options.testData = jsonObject.panels[0].printElements[0].options.testData.toString();
// 3. 转换回 JSON 字符串
let updatedJsonString = JSON.stringify(jsonObject);
console.info('发给打印机的参数', updatedJsonString)
this.hiprintTemplate.update(JSON.parse(updatedJsonString))
let printData1 = {name:'名称1'};
this.hiprintTemplate.print2(this.printData1);
@@ -545,13 +577,13 @@ this.hiprintTemplate.print2(this.printData1);
})
},
create() {
// console.log('保存数据', this.hiprintTemplate.getJson())
this.isDisabled = true
// debugger
this.form = {
...this.form, // 保留原有属性
...this.hiprintTemplate.getJson() // 赋值新属性
}
console.log('保存数据', JSON.stringify(this.form))
template.create(JSON.stringify(this.form)).then((data) => {
this.formDias = false
// 设置定时器,等待一定时间后再次允许请求