金蝶工序计划
This commit is contained in:
parent
44e8afaacb
commit
1a454695ed
44
src/api/system/operationPlanningDetail.js
Normal file
44
src/api/system/operationPlanningDetail.js
Normal file
@ -0,0 +1,44 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询工序计划明细列表
|
||||
export function listOperationPlanningDetail(query) {
|
||||
return request({
|
||||
url: '/system/operationPlanningDetail/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询工序计划明细详细
|
||||
export function getOperationPlanningDetail(id) {
|
||||
return request({
|
||||
url: '/system/operationPlanningDetail/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增工序计划明细
|
||||
export function addOperationPlanningDetail(data) {
|
||||
return request({
|
||||
url: '/system/operationPlanningDetail',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改工序计划明细
|
||||
export function updateOperationPlanningDetail(data) {
|
||||
return request({
|
||||
url: '/system/operationPlanningDetail',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除工序计划明细
|
||||
export function delOperationPlanningDetail(id) {
|
||||
return request({
|
||||
url: '/system/operationPlanningDetail/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
52
src/api/system/operationPlanningMain.js
Normal file
52
src/api/system/operationPlanningMain.js
Normal file
@ -0,0 +1,52 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询工序计划主列表
|
||||
export function listOperationPlanningMain(query) {
|
||||
return request({
|
||||
url: '/system/operationPlanningMain/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询工序计划主详细
|
||||
export function getOperationPlanningMain(id) {
|
||||
return request({
|
||||
url: '/system/operationPlanningMain/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增工序计划主
|
||||
export function addOperationPlanningMain(data) {
|
||||
return request({
|
||||
url: '/system/operationPlanningMain',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改工序计划主
|
||||
export function updateOperationPlanningMain(data) {
|
||||
return request({
|
||||
url: '/system/operationPlanningMain',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除工序计划主
|
||||
export function delOperationPlanningMain(id) {
|
||||
return request({
|
||||
url: '/system/operationPlanningMain/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
export function cascadeListOperationPlanningMain(query) {
|
||||
return request({
|
||||
url: '/system/operationPlanningMain/cascadeList',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
44
src/api/system/spec125r.js
Normal file
44
src/api/system/spec125r.js
Normal file
@ -0,0 +1,44 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询125R设备规格参数列表
|
||||
export function listSpec125r(query) {
|
||||
return request({
|
||||
url: '/system/spec125r/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询125R设备规格参数详细
|
||||
export function getSpec125r(id) {
|
||||
return request({
|
||||
url: '/system/spec125r/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增125R设备规格参数
|
||||
export function addSpec125r(data) {
|
||||
return request({
|
||||
url: '/system/spec125r',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改125R设备规格参数
|
||||
export function updateSpec125r(data) {
|
||||
return request({
|
||||
url: '/system/spec125r',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除125R设备规格参数
|
||||
export function delSpec125r(id) {
|
||||
return request({
|
||||
url: '/system/spec125r/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
44
src/api/system/spec150r.js
Normal file
44
src/api/system/spec150r.js
Normal file
@ -0,0 +1,44 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询150R设备规格参数列表
|
||||
export function listSpec150r(query) {
|
||||
return request({
|
||||
url: '/system/spec150r/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询150R设备规格参数详细
|
||||
export function getSpec150r(id) {
|
||||
return request({
|
||||
url: '/system/spec150r/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增150R设备规格参数
|
||||
export function addSpec150r(data) {
|
||||
return request({
|
||||
url: '/system/spec150r',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改150R设备规格参数
|
||||
export function updateSpec150r(data) {
|
||||
return request({
|
||||
url: '/system/spec150r',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除150R设备规格参数
|
||||
export function delSpec150r(id) {
|
||||
return request({
|
||||
url: '/system/spec150r/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
44
src/api/system/spec30d.js
Normal file
44
src/api/system/spec30d.js
Normal file
@ -0,0 +1,44 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询device_spec_30D 列表
|
||||
export function listSpec30d(query) {
|
||||
return request({
|
||||
url: '/system/spec30d/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询device_spec_30D 详细
|
||||
export function getSpec30d(id) {
|
||||
return request({
|
||||
url: '/system/spec30d/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增device_spec_30D
|
||||
export function addSpec30d(data) {
|
||||
return request({
|
||||
url: '/system/spec30d',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改device_spec_30D
|
||||
export function updateSpec30d(data) {
|
||||
return request({
|
||||
url: '/system/spec30d',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除device_spec_30D
|
||||
export function delSpec30d(id) {
|
||||
return request({
|
||||
url: '/system/spec30d/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
44
src/api/system/spec30s.js
Normal file
44
src/api/system/spec30s.js
Normal file
@ -0,0 +1,44 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询30S设备规格参数列表
|
||||
export function listSpec30s(query) {
|
||||
return request({
|
||||
url: '/system/spec30s/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询30S设备规格参数详细
|
||||
export function getSpec30s(id) {
|
||||
return request({
|
||||
url: '/system/spec30s/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增30S设备规格参数
|
||||
export function addSpec30s(data) {
|
||||
return request({
|
||||
url: '/system/spec30s',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改30S设备规格参数
|
||||
export function updateSpec30s(data) {
|
||||
return request({
|
||||
url: '/system/spec30s',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除30S设备规格参数
|
||||
export function delSpec30s(id) {
|
||||
return request({
|
||||
url: '/system/spec30s/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
44
src/api/system/spec60r.js
Normal file
44
src/api/system/spec60r.js
Normal file
@ -0,0 +1,44 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询60R设备规格参数列表
|
||||
export function listSpec60r(query) {
|
||||
return request({
|
||||
url: '/system/spec60r/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询60R设备规格参数详细
|
||||
export function getSpec60r(id) {
|
||||
return request({
|
||||
url: '/system/spec60r/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增60R设备规格参数
|
||||
export function addSpec60r(data) {
|
||||
return request({
|
||||
url: '/system/spec60r',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改60R设备规格参数
|
||||
export function updateSpec60r(data) {
|
||||
return request({
|
||||
url: '/system/spec60r',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除60R设备规格参数
|
||||
export function delSpec60r(id) {
|
||||
return request({
|
||||
url: '/system/spec60r/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
44
src/api/system/spec80r.js
Normal file
44
src/api/system/spec80r.js
Normal file
@ -0,0 +1,44 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询80R设备规格参数列表
|
||||
export function listSpec80r(query) {
|
||||
return request({
|
||||
url: '/system/spec80r/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询80R设备规格参数详细
|
||||
export function getSpec80r(id) {
|
||||
return request({
|
||||
url: '/system/spec80r/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增80R设备规格参数
|
||||
export function addSpec80r(data) {
|
||||
return request({
|
||||
url: '/system/spec80r',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改80R设备规格参数
|
||||
export function updateSpec80r(data) {
|
||||
return request({
|
||||
url: '/system/spec80r',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除80R设备规格参数
|
||||
export function delSpec80r(id) {
|
||||
return request({
|
||||
url: '/system/spec80r/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
616
src/views/system/operationPlanningDetail/index.vue
Normal file
616
src/views/system/operationPlanningDetail/index.vue
Normal file
@ -0,0 +1,616 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="关联主表ID(sfc_operation_planning_main.id)" prop="mainId">
|
||||
<el-input
|
||||
v-model="queryParams.mainId"
|
||||
placeholder="请输入关联主表ID(sfc_operation_planning_main.id)"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="主表FID冗余" prop="fid">
|
||||
<el-input
|
||||
v-model="queryParams.fid"
|
||||
placeholder="请输入主表FID冗余"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="单据体内码(K3明细内码)" prop="entityEntryId">
|
||||
<el-input
|
||||
v-model="queryParams.entityEntryId"
|
||||
placeholder="请输入单据体内码(K3明细内码)"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="工序号" prop="operNumber">
|
||||
<el-input
|
||||
v-model="queryParams.operNumber"
|
||||
placeholder="请输入工序号"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="工序数量" prop="operQty">
|
||||
<el-input
|
||||
v-model="queryParams.operQty"
|
||||
placeholder="请输入工序数量"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="合格数量" prop="qualifiedQty">
|
||||
<el-input
|
||||
v-model="queryParams.qualifiedQty"
|
||||
placeholder="请输入合格数量"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="转出数量" prop="transOutQty">
|
||||
<el-input
|
||||
v-model="queryParams.transOutQty"
|
||||
placeholder="请输入转出数量"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="废品数量" prop="unqualifiedQty">
|
||||
<el-input
|
||||
v-model="queryParams.unqualifiedQty"
|
||||
placeholder="请输入废品数量"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="损耗数量" prop="wastageQty">
|
||||
<el-input
|
||||
v-model="queryParams.wastageQty"
|
||||
placeholder="请输入损耗数量"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="转入数量" prop="transInQty">
|
||||
<el-input
|
||||
v-model="queryParams.transInQty"
|
||||
placeholder="请输入转入数量"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="加工车间" prop="departmentName">
|
||||
<el-input
|
||||
v-model="queryParams.departmentName"
|
||||
placeholder="请输入加工车间"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="工作中心" prop="workCenterName">
|
||||
<el-input
|
||||
v-model="queryParams.workCenterName"
|
||||
placeholder="请输入工作中心"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="作业" prop="processName">
|
||||
<el-input
|
||||
v-model="queryParams.processName"
|
||||
placeholder="请输入作业"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="作业人员" prop="operator">
|
||||
<el-input
|
||||
v-model="queryParams.operator"
|
||||
placeholder="请输入作业人员"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="工序序列-计划开始时间" prop="seqPlanStartTime">
|
||||
<el-date-picker clearable
|
||||
v-model="queryParams.seqPlanStartTime"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择工序序列-计划开始时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="工序序列-计划完成时间" prop="seqPlanFinishTime">
|
||||
<el-date-picker clearable
|
||||
v-model="queryParams.seqPlanFinishTime"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择工序序列-计划完成时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="工序控制码" prop="optCtrlCode">
|
||||
<el-input
|
||||
v-model="queryParams.optCtrlCode"
|
||||
placeholder="请输入工序控制码"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="关键工序" prop="keyOper">
|
||||
<el-input
|
||||
v-model="queryParams.keyOper"
|
||||
placeholder="请输入关键工序"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="活动一名称" prop="activityName">
|
||||
<el-input
|
||||
v-model="queryParams.activityName"
|
||||
placeholder="请输入活动一名称"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="工序说明" prop="operDescription">
|
||||
<el-input
|
||||
v-model="queryParams.operDescription"
|
||||
placeholder="请输入工序说明"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['system:operationPlanningDetail:add']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['system:operationPlanningDetail:edit']"
|
||||
>修改</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['system:operationPlanningDetail:remove']"
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['system:operationPlanningDetail:export']"
|
||||
>导出</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="operationPlanningDetailList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="主键ID" align="center" prop="id" v-if="true"/>
|
||||
<el-table-column label="关联主表ID(sfc_operation_planning_main.id)" align="center" prop="mainId" />
|
||||
<el-table-column label="主表FID冗余" align="center" prop="fid" />
|
||||
<el-table-column label="单据体内码(K3明细内码)" align="center" prop="entityEntryId" />
|
||||
<el-table-column label="工序号" align="center" prop="operNumber" />
|
||||
<el-table-column label="工序数量" align="center" prop="operQty" />
|
||||
<el-table-column label="合格数量" align="center" prop="qualifiedQty" />
|
||||
<el-table-column label="转出数量" align="center" prop="transOutQty" />
|
||||
<el-table-column label="废品数量" align="center" prop="unqualifiedQty" />
|
||||
<el-table-column label="损耗数量" align="center" prop="wastageQty" />
|
||||
<el-table-column label="转入数量" align="center" prop="transInQty" />
|
||||
<el-table-column label="加工车间" align="center" prop="departmentName" />
|
||||
<el-table-column label="工作中心" align="center" prop="workCenterName" />
|
||||
<el-table-column label="作业" align="center" prop="processName" />
|
||||
<el-table-column label="作业人员" align="center" prop="operator" />
|
||||
<el-table-column label="状态" align="center" prop="operStatus" />
|
||||
<el-table-column label="工序序列-计划开始时间" align="center" prop="seqPlanStartTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.seqPlanStartTime, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="工序序列-计划完成时间" align="center" prop="seqPlanFinishTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.seqPlanFinishTime, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="工序控制码" align="center" prop="optCtrlCode" />
|
||||
<el-table-column label="关键工序" align="center" prop="keyOper" />
|
||||
<el-table-column label="活动一名称" align="center" prop="activityName" />
|
||||
<el-table-column label="工序说明" align="center" prop="operDescription" />
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['system:operationPlanningDetail:edit']"
|
||||
>修改</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['system:operationPlanningDetail:remove']"
|
||||
>删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 添加或修改工序计划明细对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="关联主表ID(sfc_operation_planning_main.id)" prop="mainId">
|
||||
<el-input v-model="form.mainId" placeholder="请输入关联主表ID(sfc_operation_planning_main.id)" />
|
||||
</el-form-item>
|
||||
<el-form-item label="主表FID冗余" prop="fid">
|
||||
<el-input v-model="form.fid" placeholder="请输入主表FID冗余" />
|
||||
</el-form-item>
|
||||
<el-form-item label="单据体内码(K3明细内码)" prop="entityEntryId">
|
||||
<el-input v-model="form.entityEntryId" placeholder="请输入单据体内码(K3明细内码)" />
|
||||
</el-form-item>
|
||||
<el-form-item label="工序号" prop="operNumber">
|
||||
<el-input v-model="form.operNumber" placeholder="请输入工序号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="工序数量" prop="operQty">
|
||||
<el-input v-model="form.operQty" placeholder="请输入工序数量" />
|
||||
</el-form-item>
|
||||
<el-form-item label="合格数量" prop="qualifiedQty">
|
||||
<el-input v-model="form.qualifiedQty" placeholder="请输入合格数量" />
|
||||
</el-form-item>
|
||||
<el-form-item label="转出数量" prop="transOutQty">
|
||||
<el-input v-model="form.transOutQty" placeholder="请输入转出数量" />
|
||||
</el-form-item>
|
||||
<el-form-item label="废品数量" prop="unqualifiedQty">
|
||||
<el-input v-model="form.unqualifiedQty" placeholder="请输入废品数量" />
|
||||
</el-form-item>
|
||||
<el-form-item label="损耗数量" prop="wastageQty">
|
||||
<el-input v-model="form.wastageQty" placeholder="请输入损耗数量" />
|
||||
</el-form-item>
|
||||
<el-form-item label="转入数量" prop="transInQty">
|
||||
<el-input v-model="form.transInQty" placeholder="请输入转入数量" />
|
||||
</el-form-item>
|
||||
<el-form-item label="加工车间" prop="departmentName">
|
||||
<el-input v-model="form.departmentName" placeholder="请输入加工车间" />
|
||||
</el-form-item>
|
||||
<el-form-item label="工作中心" prop="workCenterName">
|
||||
<el-input v-model="form.workCenterName" placeholder="请输入工作中心" />
|
||||
</el-form-item>
|
||||
<el-form-item label="作业" prop="processName">
|
||||
<el-input v-model="form.processName" placeholder="请输入作业" />
|
||||
</el-form-item>
|
||||
<el-form-item label="作业人员" prop="operator">
|
||||
<el-input v-model="form.operator" placeholder="请输入作业人员" />
|
||||
</el-form-item>
|
||||
<el-form-item label="工序序列-计划开始时间" prop="seqPlanStartTime">
|
||||
<el-date-picker clearable
|
||||
v-model="form.seqPlanStartTime"
|
||||
type="datetime"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
placeholder="请选择工序序列-计划开始时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="工序序列-计划完成时间" prop="seqPlanFinishTime">
|
||||
<el-date-picker clearable
|
||||
v-model="form.seqPlanFinishTime"
|
||||
type="datetime"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
placeholder="请选择工序序列-计划完成时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="工序控制码" prop="optCtrlCode">
|
||||
<el-input v-model="form.optCtrlCode" placeholder="请输入工序控制码" />
|
||||
</el-form-item>
|
||||
<el-form-item label="关键工序" prop="keyOper">
|
||||
<el-input v-model="form.keyOper" placeholder="请输入关键工序" />
|
||||
</el-form-item>
|
||||
<el-form-item label="活动一名称" prop="activityName">
|
||||
<el-input v-model="form.activityName" placeholder="请输入活动一名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="工序说明" prop="operDescription">
|
||||
<el-input v-model="form.operDescription" type="textarea" placeholder="请输入内容" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listOperationPlanningDetail, getOperationPlanningDetail, delOperationPlanningDetail, addOperationPlanningDetail, updateOperationPlanningDetail } from "@/api/system/operationPlanningDetail";
|
||||
|
||||
export default {
|
||||
name: "OperationPlanningDetail",
|
||||
data() {
|
||||
return {
|
||||
// 按钮loading
|
||||
buttonLoading: false,
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 工序计划明细表格数据
|
||||
operationPlanningDetailList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
mainId: undefined,
|
||||
fid: undefined,
|
||||
entityEntryId: undefined,
|
||||
operNumber: undefined,
|
||||
operQty: undefined,
|
||||
qualifiedQty: undefined,
|
||||
transOutQty: undefined,
|
||||
unqualifiedQty: undefined,
|
||||
wastageQty: undefined,
|
||||
transInQty: undefined,
|
||||
departmentName: undefined,
|
||||
workCenterName: undefined,
|
||||
processName: undefined,
|
||||
operator: undefined,
|
||||
operStatus: undefined,
|
||||
seqPlanStartTime: undefined,
|
||||
seqPlanFinishTime: undefined,
|
||||
optCtrlCode: undefined,
|
||||
keyOper: undefined,
|
||||
activityName: undefined,
|
||||
operDescription: undefined,
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
id: [
|
||||
{ required: true, message: "主键ID不能为空", trigger: "blur" }
|
||||
],
|
||||
mainId: [
|
||||
{ required: true, message: "关联主表ID(sfc_operation_planning_main.id)不能为空", trigger: "blur" }
|
||||
],
|
||||
fid: [
|
||||
{ required: true, message: "主表FID冗余不能为空", trigger: "blur" }
|
||||
],
|
||||
entityEntryId: [
|
||||
{ required: true, message: "单据体内码(K3明细内码)不能为空", trigger: "blur" }
|
||||
],
|
||||
operNumber: [
|
||||
{ required: true, message: "工序号不能为空", trigger: "blur" }
|
||||
],
|
||||
operQty: [
|
||||
{ required: true, message: "工序数量不能为空", trigger: "blur" }
|
||||
],
|
||||
qualifiedQty: [
|
||||
{ required: true, message: "合格数量不能为空", trigger: "blur" }
|
||||
],
|
||||
transOutQty: [
|
||||
{ required: true, message: "转出数量不能为空", trigger: "blur" }
|
||||
],
|
||||
unqualifiedQty: [
|
||||
{ required: true, message: "废品数量不能为空", trigger: "blur" }
|
||||
],
|
||||
wastageQty: [
|
||||
{ required: true, message: "损耗数量不能为空", trigger: "blur" }
|
||||
],
|
||||
transInQty: [
|
||||
{ required: true, message: "转入数量不能为空", trigger: "blur" }
|
||||
],
|
||||
departmentName: [
|
||||
{ required: true, message: "加工车间不能为空", trigger: "blur" }
|
||||
],
|
||||
workCenterName: [
|
||||
{ required: true, message: "工作中心不能为空", trigger: "blur" }
|
||||
],
|
||||
processName: [
|
||||
{ required: true, message: "作业不能为空", trigger: "blur" }
|
||||
],
|
||||
operator: [
|
||||
{ required: true, message: "作业人员不能为空", trigger: "blur" }
|
||||
],
|
||||
operStatus: [
|
||||
{ required: true, message: "状态不能为空", trigger: "change" }
|
||||
],
|
||||
seqPlanStartTime: [
|
||||
{ required: true, message: "工序序列-计划开始时间不能为空", trigger: "blur" }
|
||||
],
|
||||
seqPlanFinishTime: [
|
||||
{ required: true, message: "工序序列-计划完成时间不能为空", trigger: "blur" }
|
||||
],
|
||||
optCtrlCode: [
|
||||
{ required: true, message: "工序控制码不能为空", trigger: "blur" }
|
||||
],
|
||||
keyOper: [
|
||||
{ required: true, message: "关键工序不能为空", trigger: "blur" }
|
||||
],
|
||||
activityName: [
|
||||
{ required: true, message: "活动一名称不能为空", trigger: "blur" }
|
||||
],
|
||||
operDescription: [
|
||||
{ required: true, message: "工序说明不能为空", trigger: "blur" }
|
||||
],
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询工序计划明细列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listOperationPlanningDetail(this.queryParams).then(response => {
|
||||
this.operationPlanningDetailList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
id: undefined,
|
||||
mainId: undefined,
|
||||
fid: undefined,
|
||||
entityEntryId: undefined,
|
||||
operNumber: undefined,
|
||||
operQty: undefined,
|
||||
qualifiedQty: undefined,
|
||||
transOutQty: undefined,
|
||||
unqualifiedQty: undefined,
|
||||
wastageQty: undefined,
|
||||
transInQty: undefined,
|
||||
departmentName: undefined,
|
||||
workCenterName: undefined,
|
||||
processName: undefined,
|
||||
operator: undefined,
|
||||
operStatus: undefined,
|
||||
seqPlanStartTime: undefined,
|
||||
seqPlanFinishTime: undefined,
|
||||
optCtrlCode: undefined,
|
||||
keyOper: undefined,
|
||||
activityName: undefined,
|
||||
operDescription: undefined,
|
||||
createTime: undefined,
|
||||
updateTime: undefined,
|
||||
createBy: undefined,
|
||||
updateBy: undefined
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.id)
|
||||
this.single = selection.length!==1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset();
|
||||
this.open = true;
|
||||
this.title = "添加工序计划明细";
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.loading = true;
|
||||
this.reset();
|
||||
const id = row.id || this.ids
|
||||
getOperationPlanningDetail(id).then(response => {
|
||||
this.loading = false;
|
||||
this.form = response.data;
|
||||
this.open = true;
|
||||
this.title = "修改工序计划明细";
|
||||
});
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
this.buttonLoading = true;
|
||||
if (this.form.id != null) {
|
||||
updateOperationPlanningDetail(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
}).finally(() => {
|
||||
this.buttonLoading = false;
|
||||
});
|
||||
} else {
|
||||
addOperationPlanningDetail(this.form).then(response => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
}).finally(() => {
|
||||
this.buttonLoading = false;
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const ids = row.id || this.ids;
|
||||
this.$modal.confirm('是否确认删除工序计划明细编号为"' + ids + '"的数据项?').then(() => {
|
||||
this.loading = true;
|
||||
return delOperationPlanningDetail(ids);
|
||||
}).then(() => {
|
||||
this.loading = false;
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch(() => {
|
||||
}).finally(() => {
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download('system/operationPlanningDetail/export', {
|
||||
...this.queryParams
|
||||
}, `operationPlanningDetail_${new Date().getTime()}.xlsx`)
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
886
src/views/system/operationPlanningMain/index.vue
Normal file
886
src/views/system/operationPlanningMain/index.vue
Normal file
@ -0,0 +1,886 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
|
||||
<el-form-item label="单据编号" prop="billNo">
|
||||
<el-input
|
||||
v-model="queryParams.billNo"
|
||||
placeholder="请输入单据编号"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="生产订单编号" prop="moNumber">
|
||||
<el-input
|
||||
v-model="queryParams.moNumber"
|
||||
placeholder="请输入生产订单编号"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="生产令号" prop="hbytSclh">
|
||||
<el-input
|
||||
v-model="queryParams.hbytSclh"
|
||||
placeholder="请输入生产令号"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="产品编码" prop="productCode">
|
||||
<el-input
|
||||
v-model="queryParams.productCode"
|
||||
placeholder="请输入产品编码"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="产品名称" prop="productName">
|
||||
<el-input
|
||||
v-model="queryParams.productName"
|
||||
placeholder="请输入产品名称"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['system:operationPlanningMain:add']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['system:operationPlanningMain:edit']"
|
||||
>修改</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['system:operationPlanningMain:remove']"
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['system:operationPlanningMain:export']"
|
||||
>导出</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<div v-if="selectedRows.length" class="selection-bar">
|
||||
<span class="selection-bar__text">已选{{ selectedRows.length }}项</span>
|
||||
<span class="selection-bar__clear" @click="clearSelection">取消选择</span>
|
||||
</div>
|
||||
|
||||
<el-table
|
||||
ref="mainTable"
|
||||
v-loading="loading"
|
||||
:data="operationPlanningMainList"
|
||||
:row-key="rowKey"
|
||||
:row-class-name="rowClassName"
|
||||
:header-cell-style="headerCellStyle"
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<el-table-column type="selection" width="46" align="center" />
|
||||
<el-table-column type="index" label="序号" width="60" align="center" />
|
||||
<el-table-column label="生产令号" min-width="160">
|
||||
<template slot-scope="scope">
|
||||
<div class="cell-main">
|
||||
<div class="cell-title">{{ scope.row.batchNo || scope.row.hbytSclh || '-' }}</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="类型" width="90" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-tag :type="typeTagType(scope.row)" size="mini" effect="plain">{{ typeText(scope.row) }}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="产品主数据" min-width="220">
|
||||
<template slot-scope="scope">
|
||||
<div class="cell-main">
|
||||
<div class="cell-title">{{ scope.row.productCode }}<span v-if="scope.row.productName"> | {{ scope.row.productName }}</span></div>
|
||||
<div class="cell-sub">{{ scope.row.proSpecification || '-' }}</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="产线" min-width="180">
|
||||
<template slot-scope="scope">
|
||||
<div class="cell-main">
|
||||
<div class="cell-title">{{ scope.row.lineText || '-' }}</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="开始时间" width="120" align="center">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.planStartTime, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="结束时间" width="120" align="center">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.planFinishTime, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="状态" width="100" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-tag size="mini" :class="statusTagClass(scope.row)">{{ statusText(scope.row) }}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="工序进度" min-width="360">
|
||||
<template slot-scope="scope">
|
||||
<div class="proc">
|
||||
<template v-if="!(scope.row.processSteps || []).length">
|
||||
<span class="cell-sub">-</span>
|
||||
</template>
|
||||
<template v-else-if="(scope.row.processSteps || []).length <= 2">
|
||||
<div class="proc-mini">
|
||||
<div v-for="(p, idx) in scope.row.processSteps" :key="idx" class="proc-mini-item" @click="openProcessDetail(scope.row, p)">
|
||||
<el-progress
|
||||
type="circle"
|
||||
:percentage="p.percent"
|
||||
:width="30"
|
||||
:stroke-width="4"
|
||||
:color="p.done ? '#16c784' : '#dcdfe6'"
|
||||
/>
|
||||
<div class="proc-mini-name">{{ p.processName || '-' }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<template v-else>
|
||||
<div class="proc-steps">
|
||||
<div v-for="(p, idx) in scope.row.processSteps" :key="idx" class="proc-step">
|
||||
<div class="proc-step-top">
|
||||
<span class="proc-node" :class="{ done: p.done, clickable: !!p.raw }" @click="openProcessDetail(scope.row, p)">
|
||||
<i v-if="p.done" class="el-icon-check"></i>
|
||||
</span>
|
||||
<span v-if="idx < scope.row.processSteps.length - 1" class="proc-line" :class="{ done: p.done }"></span>
|
||||
</div>
|
||||
<div class="proc-step-name">{{ p.processName || '-' }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="数量" width="110" align="center">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.overallPlanQty }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="已完成数量" width="110" align="center">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.overallOkQty }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="进度" width="140" align="center">
|
||||
<template slot-scope="scope">
|
||||
<div class="progress-cell">
|
||||
<el-progress :percentage="scope.row.overallProgress" :stroke-width="8" :show-text="false" :color="'#16c784'" />
|
||||
<span class="progress-text">{{ scope.row.overallProgress }}%</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="170" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="text" @click="handleDispatch(scope.row)">下发</el-button>
|
||||
<el-button size="mini" type="text" @click="handleUpdate(scope.row)" v-hasPermi="['system:operationPlanningMain:edit']">编辑</el-button>
|
||||
<el-dropdown @command="cmd => handleMoreCommand(cmd, scope.row)">
|
||||
<span class="more-trigger">更多<i class="el-icon-arrow-down el-icon--right"></i></span>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item command="viewProcess">查看工序</el-dropdown-item>
|
||||
<el-dropdown-item command="delete" divided>删除</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<el-dialog :title="processDialogTitle" :visible.sync="processDialogOpen" width="1200px" top="6vh" append-to-body>
|
||||
<div v-if="processDialogMeta" class="cell-sub" style="margin-bottom: 10px;">
|
||||
{{ processDialogMeta }}
|
||||
</div>
|
||||
<el-table
|
||||
ref="processTable"
|
||||
:data="processDialogList"
|
||||
size="mini"
|
||||
border
|
||||
highlight-current-row
|
||||
:row-key="p => p.entityEntryId || p.operNo"
|
||||
>
|
||||
<el-table-column label="工序号" prop="operNo" width="80" align="center" />
|
||||
<el-table-column label="工序名称" prop="processName" min-width="140" />
|
||||
<el-table-column label="工作中心" prop="workCenter" min-width="120" />
|
||||
<el-table-column label="计划数量" prop="planQty" width="90" align="center" />
|
||||
<el-table-column label="转入数量" prop="inQty" width="90" align="center" />
|
||||
<el-table-column label="合格数量" prop="okQty" width="90" align="center" />
|
||||
<el-table-column label="废品数量" prop="ngQty" width="90" align="center" />
|
||||
<el-table-column label="状态" prop="status" width="100" align="center" />
|
||||
<el-table-column label="转出数量" prop="transOutQty" width="90" align="center" />
|
||||
<el-table-column label="损耗数量" prop="wastageQty" width="90" align="center" />
|
||||
<el-table-column label="加工车间" prop="department" min-width="120" />
|
||||
<el-table-column label="作业人员" prop="operator" min-width="100" />
|
||||
<el-table-column label="计划开始" prop="seqPlanStartTime" width="160" />
|
||||
<el-table-column label="计划完成" prop="seqPlanFinishTime" width="160" />
|
||||
<el-table-column label="控制码" prop="optCtrlCode" min-width="120" />
|
||||
<el-table-column label="关键工序" prop="keyOper" width="90" align="center" />
|
||||
<el-table-column label="活动一" prop="activity1Name" min-width="120" />
|
||||
<el-table-column label="工序说明" prop="operDescription" min-width="140" />
|
||||
<el-table-column label="单据体内码" prop="entityEntryId" width="120" align="center" />
|
||||
</el-table>
|
||||
</el-dialog>
|
||||
|
||||
<!-- 添加或修改工序计划主对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="FID(K3单据内码)" prop="fid">
|
||||
<el-input v-model="form.fid" placeholder="请输入FID(K3单据内码)" />
|
||||
</el-form-item>
|
||||
<el-form-item label="单据编号" prop="billNo">
|
||||
<el-input v-model="form.billNo" placeholder="请输入单据编号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="生产订单编号" prop="moNumber">
|
||||
<el-input v-model="form.moNumber" placeholder="请输入生产订单编号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="生产令号" prop="hbytSclh">
|
||||
<el-input v-model="form.hbytSclh" placeholder="请输入生产令号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="产品编码" prop="productCode">
|
||||
<el-input v-model="form.productCode" placeholder="请输入产品编码" />
|
||||
</el-form-item>
|
||||
<el-form-item label="产品名称" prop="productName">
|
||||
<el-input v-model="form.productName" placeholder="请输入产品名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="规格型号" prop="proSpecification">
|
||||
<el-input v-model="form.proSpecification" placeholder="请输入规格型号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="计划开始时间" prop="planStartTime">
|
||||
<el-date-picker clearable
|
||||
v-model="form.planStartTime"
|
||||
type="datetime"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
placeholder="请选择计划开始时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="计划结束时间" prop="planFinishTime">
|
||||
<el-date-picker clearable
|
||||
v-model="form.planFinishTime"
|
||||
type="datetime"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
placeholder="请选择计划结束时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listOperationPlanningMain, cascadeListOperationPlanningMain, getOperationPlanningMain, delOperationPlanningMain, addOperationPlanningMain, updateOperationPlanningMain } from "@/api/system/operationPlanningMain";
|
||||
|
||||
export default {
|
||||
name: "OperationPlanningMain",
|
||||
data() {
|
||||
return {
|
||||
// 按钮loading
|
||||
buttonLoading: false,
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
selectedRows: [],
|
||||
processDialogOpen: false,
|
||||
processDialogTitle: "工序详情",
|
||||
processDialogMeta: "",
|
||||
processDialogList: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 工序计划主表格数据
|
||||
operationPlanningMainList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
fid: undefined,
|
||||
billNo: undefined,
|
||||
moNumber: undefined,
|
||||
hbytSclh: undefined,
|
||||
productCode: undefined,
|
||||
productName: undefined,
|
||||
proSpecification: undefined,
|
||||
planStartTime: undefined,
|
||||
planFinishTime: undefined,
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
id: [
|
||||
{ required: true, message: "主键ID不能为空", trigger: "blur" }
|
||||
],
|
||||
fid: [
|
||||
{ required: true, message: "FID(K3单据内码)不能为空", trigger: "blur" }
|
||||
],
|
||||
billNo: [
|
||||
{ required: true, message: "单据编号不能为空", trigger: "blur" }
|
||||
],
|
||||
moNumber: [
|
||||
{ required: true, message: "生产订单编号不能为空", trigger: "blur" }
|
||||
],
|
||||
hbytSclh: [
|
||||
{ required: true, message: "生产令号不能为空", trigger: "blur" }
|
||||
],
|
||||
productCode: [
|
||||
{ required: true, message: "产品编码不能为空", trigger: "blur" }
|
||||
],
|
||||
productName: [
|
||||
{ required: true, message: "产品名称不能为空", trigger: "blur" }
|
||||
],
|
||||
proSpecification: [
|
||||
{ required: true, message: "规格型号不能为空", trigger: "blur" }
|
||||
],
|
||||
planStartTime: [
|
||||
{ required: true, message: "计划开始时间不能为空", trigger: "blur" }
|
||||
],
|
||||
planFinishTime: [
|
||||
{ required: true, message: "计划结束时间不能为空", trigger: "blur" }
|
||||
],
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询工序计划主列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
cascadeListOperationPlanningMain(this.queryParams)
|
||||
.catch(() => listOperationPlanningMain(this.queryParams))
|
||||
.then(response => {
|
||||
const { rows, total, hasTotal } = this.normalizeListResponse(response);
|
||||
this.operationPlanningMainList = (rows || []).map(row => this.decorateRow(row));
|
||||
this.total = hasTotal ? total : this.inferTotalFromPage(rows);
|
||||
})
|
||||
.finally(() => {
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
normalizeListResponse(response) {
|
||||
if (!response) return { rows: [], total: 0, hasTotal: false };
|
||||
|
||||
if (Array.isArray(response.rows)) {
|
||||
return { rows: response.rows, total: Number(response.total) || response.rows.length, hasTotal: response.total != null };
|
||||
}
|
||||
|
||||
if (response.data && Array.isArray(response.data.records)) {
|
||||
return { rows: response.data.records, total: Number(response.data.total) || response.data.records.length, hasTotal: response.data.total != null };
|
||||
}
|
||||
|
||||
if (response.data && Array.isArray(response.data.list)) {
|
||||
return { rows: response.data.list, total: Number(response.data.total) || response.data.list.length, hasTotal: response.data.total != null };
|
||||
}
|
||||
|
||||
if (Array.isArray(response.data)) {
|
||||
return { rows: response.data, total: Number(response.total) || response.data.length, hasTotal: response.total != null };
|
||||
}
|
||||
|
||||
if (response.data && Array.isArray(response.data.rows)) {
|
||||
return { rows: response.data.rows, total: Number(response.data.total) || response.data.rows.length, hasTotal: response.data.total != null };
|
||||
}
|
||||
|
||||
if (response.data && response.data.data && Array.isArray(response.data.data.records)) {
|
||||
return { rows: response.data.data.records, total: Number(response.data.data.total) || response.data.data.records.length, hasTotal: response.data.data.total != null };
|
||||
}
|
||||
|
||||
if (response.data && response.data.data && Array.isArray(response.data.data.rows)) {
|
||||
return { rows: response.data.data.rows, total: Number(response.data.data.total) || response.data.data.rows.length, hasTotal: response.data.data.total != null };
|
||||
}
|
||||
|
||||
return { rows: [], total: 0, hasTotal: false };
|
||||
},
|
||||
inferTotalFromPage(rows) {
|
||||
const pageNum = Number(this.queryParams.pageNum) || 1;
|
||||
const pageSize = Number(this.queryParams.pageSize) || 10;
|
||||
const len = Array.isArray(rows) ? rows.length : 0;
|
||||
|
||||
if (len >= pageSize) return pageNum * pageSize + 1;
|
||||
return (pageNum - 1) * pageSize + len;
|
||||
},
|
||||
decorateRow(row) {
|
||||
const processList = Array.isArray(row.processList)
|
||||
? [...row.processList].sort((a, b) => (Number(a.operNo) || 0) - (Number(b.operNo) || 0))
|
||||
: [];
|
||||
|
||||
const finalProcess = processList.length ? processList[processList.length - 1] : undefined;
|
||||
const overallPlanQty = this.normalizeNumber(
|
||||
(finalProcess && finalProcess.planQty) ?? (processList.find(p => p.planQty != null) || {}).planQty
|
||||
);
|
||||
const overallOkQty = this.normalizeNumber((finalProcess && finalProcess.okQty) ?? 0);
|
||||
const overallProgress = overallPlanQty > 0 ? Math.min(100, Math.round((overallOkQty / overallPlanQty) * 100)) : 0;
|
||||
|
||||
const processSteps = processList.map(p => {
|
||||
const planQty = this.normalizeNumber(p.planQty || overallPlanQty);
|
||||
const okQty = this.normalizeNumber(p.okQty);
|
||||
const percent = planQty > 0 ? Math.min(100, Math.round((okQty / planQty) * 100)) : 0;
|
||||
const done = this.isProcessDone(p, planQty, okQty);
|
||||
|
||||
return {
|
||||
operNo: p.operNo,
|
||||
entityEntryId: p.entityEntryId,
|
||||
processName: p.processName,
|
||||
percent,
|
||||
done,
|
||||
raw: p
|
||||
};
|
||||
});
|
||||
|
||||
const displaySteps = processSteps.length > 6
|
||||
? [...processSteps.slice(0, 6), { operNo: null, processName: '…', percent: 0, done: false, raw: null }]
|
||||
: processSteps;
|
||||
|
||||
const lineText = this.buildLineText(processList);
|
||||
|
||||
return {
|
||||
...row,
|
||||
processList,
|
||||
processSteps: displaySteps,
|
||||
overallPlanQty,
|
||||
overallOkQty,
|
||||
overallProgress,
|
||||
lineText
|
||||
};
|
||||
},
|
||||
isProcessDone(process, planQty, okQty) {
|
||||
const status = (process && process.status) || '';
|
||||
if (String(status).includes('完工')) return true;
|
||||
if (planQty > 0 && okQty >= planQty) return true;
|
||||
return false;
|
||||
},
|
||||
buildLineText(processList) {
|
||||
const p0 = Array.isArray(processList) && processList.length ? processList[0] : undefined;
|
||||
if (p0 && p0.workCenter) return p0.workCenter;
|
||||
return '';
|
||||
},
|
||||
normalizeNumber(val) {
|
||||
const n = Number(val);
|
||||
return Number.isFinite(n) ? n : 0;
|
||||
},
|
||||
rowKey(row) {
|
||||
return row && (row.id || row.fid || row.billNo || row.moNumber);
|
||||
},
|
||||
rowClassName({ row }) {
|
||||
const key = this.rowKey(row);
|
||||
const selectedKeys = new Set(this.selectedRows.map(r => this.rowKey(r)));
|
||||
return selectedKeys.has(key) ? 'is-row-checked' : '';
|
||||
},
|
||||
headerCellStyle() {
|
||||
return {
|
||||
background: '#e8faf8',
|
||||
color: '#303133',
|
||||
fontWeight: 600
|
||||
};
|
||||
},
|
||||
clearSelection() {
|
||||
if (this.$refs.mainTable) this.$refs.mainTable.clearSelection();
|
||||
this.selectedRows = [];
|
||||
this.ids = [];
|
||||
this.single = true;
|
||||
this.multiple = true;
|
||||
},
|
||||
statusText(row) {
|
||||
if (!row) return '-';
|
||||
if (row.overallProgress >= 100) return '完工';
|
||||
if (row.overallProgress > 0) return '已开工';
|
||||
return '备料中';
|
||||
},
|
||||
statusTagClass(row) {
|
||||
const text = this.statusText(row);
|
||||
if (text === '完工' || text === '已开工') return 'tag-purple';
|
||||
return 'tag-green';
|
||||
},
|
||||
typeText(row) {
|
||||
return (row && row.typeText) || '正常';
|
||||
},
|
||||
typeTagType(row) {
|
||||
const t = this.typeText(row);
|
||||
if (t.includes('自建')) return 'warning';
|
||||
return 'success';
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
id: undefined,
|
||||
fid: undefined,
|
||||
billNo: undefined,
|
||||
moNumber: undefined,
|
||||
hbytSclh: undefined,
|
||||
productCode: undefined,
|
||||
productName: undefined,
|
||||
proSpecification: undefined,
|
||||
planStartTime: undefined,
|
||||
planFinishTime: undefined,
|
||||
createTime: undefined,
|
||||
updateTime: undefined,
|
||||
createBy: undefined,
|
||||
updateBy: undefined
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.selectedRows = selection;
|
||||
this.ids = selection.map(item => item.id).filter(v => v != null);
|
||||
this.single = selection.length !== 1;
|
||||
this.multiple = !selection.length;
|
||||
},
|
||||
handleDispatch(row) {
|
||||
const code = (row && (row.billNo || row.moNumber)) || '';
|
||||
this.$modal.msgSuccess(code ? `已下发:${code}` : '已下发');
|
||||
},
|
||||
handleMoreCommand(command, row) {
|
||||
if (command === 'delete') {
|
||||
this.handleDelete(row);
|
||||
return;
|
||||
}
|
||||
if (command === 'viewProcess') {
|
||||
this.openProcessDetail(row);
|
||||
}
|
||||
},
|
||||
openProcessDetail(orderRow, step) {
|
||||
const list = orderRow && Array.isArray(orderRow.processList) ? orderRow.processList : [];
|
||||
const code = (orderRow && (orderRow.billNo || orderRow.moNumber)) || '';
|
||||
const batchNo = (orderRow && (orderRow.batchNo || orderRow.hbytSclh)) || '';
|
||||
|
||||
this.processDialogTitle = code ? `工序详情 - ${code}` : '工序详情';
|
||||
this.processDialogMeta = batchNo ? `生产令号:${batchNo}` : '';
|
||||
this.processDialogList = list;
|
||||
this.processDialogOpen = true;
|
||||
|
||||
this.$nextTick(() => {
|
||||
if (!this.$refs.processTable || !step || !step.raw) return;
|
||||
const target = this.processDialogList.find(p => p.entityEntryId === step.raw.entityEntryId)
|
||||
|| this.processDialogList.find(p => p.operNo === step.operNo);
|
||||
if (target) this.$refs.processTable.setCurrentRow(target);
|
||||
});
|
||||
},
|
||||
formatProcessText(row) {
|
||||
const list = (row && Array.isArray(row.processList) ? row.processList : []).map(p => {
|
||||
const operNo = p.operNo != null ? String(p.operNo) : '-';
|
||||
const name = p.processName || '-';
|
||||
const status = p.status || '-';
|
||||
const okQty = p.okQty != null ? String(p.okQty) : '-';
|
||||
const planQty = p.planQty != null ? String(p.planQty) : '-';
|
||||
return `${operNo} ${name} | ${status} | ${okQty}/${planQty}`;
|
||||
});
|
||||
|
||||
return list.length ? list.join('\n') : '暂无工序数据';
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset();
|
||||
this.open = true;
|
||||
this.title = "添加工序计划主";
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.loading = true;
|
||||
this.reset();
|
||||
const id = row.id || this.ids
|
||||
getOperationPlanningMain(id).then(response => {
|
||||
this.loading = false;
|
||||
this.form = response.data;
|
||||
this.open = true;
|
||||
this.title = "修改工序计划主";
|
||||
});
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
this.buttonLoading = true;
|
||||
if (this.form.id != null) {
|
||||
updateOperationPlanningMain(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
}).finally(() => {
|
||||
this.buttonLoading = false;
|
||||
});
|
||||
} else {
|
||||
addOperationPlanningMain(this.form).then(response => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
}).finally(() => {
|
||||
this.buttonLoading = false;
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const ids = row.id || this.ids;
|
||||
this.$modal.confirm('是否确认删除工序计划主编号为"' + ids + '"的数据项?').then(() => {
|
||||
this.loading = true;
|
||||
return delOperationPlanningMain(ids);
|
||||
}).then(() => {
|
||||
this.loading = false;
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch(() => {
|
||||
}).finally(() => {
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download('system/operationPlanningMain/export', {
|
||||
...this.queryParams
|
||||
}, `operationPlanningMain_${new Date().getTime()}.xlsx`)
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.selection-bar {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 36px;
|
||||
margin-bottom: 10px;
|
||||
padding: 0 12px;
|
||||
background: #e8faf8;
|
||||
border: 1px solid #d6f5f0;
|
||||
}
|
||||
|
||||
.selection-bar__text {
|
||||
color: #303133;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.selection-bar__clear {
|
||||
margin-left: 12px;
|
||||
color: #00b4ad;
|
||||
cursor: pointer;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.tag-green {
|
||||
background: #16c784;
|
||||
border-color: #16c784;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.tag-purple {
|
||||
background: #7c3aed;
|
||||
border-color: #7c3aed;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.cell-main {
|
||||
line-height: 18px;
|
||||
}
|
||||
|
||||
.cell-title {
|
||||
color: #303133;
|
||||
font-size: 13px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.cell-sub {
|
||||
color: #909399;
|
||||
font-size: 12px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.proc {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
min-height: 46px;
|
||||
}
|
||||
|
||||
.proc-mini {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.proc-mini-item {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
width: 56px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
::v-deep .proc-mini .el-progress-circle__text {
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.proc-mini-name {
|
||||
margin-top: 4px;
|
||||
font-size: 12px;
|
||||
color: #303133;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
width: 56px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.proc-steps {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
.proc-step {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.proc-step-top {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.proc-node {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
border-radius: 50%;
|
||||
border: 2px solid #dcdfe6;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: #ffffff;
|
||||
background: #ffffff;
|
||||
}
|
||||
|
||||
.proc-node.done {
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
border-color: #16c784;
|
||||
color: #16c784;
|
||||
}
|
||||
|
||||
.proc-node.clickable {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.proc-node.done i {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.proc-line {
|
||||
width: 26px;
|
||||
height: 2px;
|
||||
background: #dcdfe6;
|
||||
margin: 0 6px;
|
||||
}
|
||||
|
||||
.proc-line.done {
|
||||
background: #16c784;
|
||||
}
|
||||
|
||||
.proc-step-name {
|
||||
margin-top: 6px;
|
||||
max-width: 84px;
|
||||
font-size: 12px;
|
||||
color: #303133;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.progress-cell {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.progress-text {
|
||||
margin-left: 8px;
|
||||
color: #606266;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.more-trigger {
|
||||
cursor: pointer;
|
||||
color: #00b4ad;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.is-row-checked td {
|
||||
background: #e8faf8 !important;
|
||||
}
|
||||
</style>
|
||||
627
src/views/system/spec125r/index.vue
Normal file
627
src/views/system/spec125r/index.vue
Normal file
@ -0,0 +1,627 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="行程" prop="travelLength">
|
||||
<el-input
|
||||
v-model="queryParams.travelLength"
|
||||
placeholder="请输入行程"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['system:spec125r:add']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['system:spec125r:edit']"
|
||||
>修改</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['system:spec125r:remove']"
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['system:spec125r:export']"
|
||||
>导出</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" border="true" :data="spec125rList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="行程" align="center" prop="travelLength" />
|
||||
<el-table-column label="类型" align="center" prop="itemType" />
|
||||
<el-table-column label="箱体" align="center" prop="boxType" />
|
||||
<el-table-column label="v1" align="center" prop="v1" />
|
||||
<el-table-column label="v2" align="center" prop="v2" />
|
||||
<el-table-column label="v3" align="center" prop="v3" />
|
||||
<el-table-column label="v4" align="center" prop="v4" />
|
||||
<el-table-column label="v5" align="center" prop="v5" />
|
||||
<el-table-column label="v6" align="center" prop="v6" />
|
||||
<el-table-column label="v7" align="center" prop="v7" />
|
||||
<el-table-column label="v8" align="center" prop="v8" />
|
||||
<el-table-column label="g1" align="center" prop="g1" />
|
||||
<el-table-column label="v9" align="center" prop="v9" />
|
||||
<el-table-column label="g2" align="center" prop="g2" />
|
||||
<el-table-column label="g3" align="center" prop="g3" />
|
||||
<el-table-column label="g4" align="center" prop="g4" />
|
||||
<el-table-column label="v10" align="center" prop="v10" />
|
||||
<el-table-column label="g5" align="center" prop="g5" />
|
||||
<el-table-column label="v11" align="center" prop="v11" />
|
||||
<el-table-column label="v12" align="center" prop="v12" />
|
||||
<el-table-column label="g6" align="center" prop="g6" />
|
||||
<el-table-column label="v13" align="center" prop="v13" />
|
||||
<el-table-column label="v14" align="center" prop="v14" />
|
||||
<el-table-column label="g7" align="center" prop="g7" />
|
||||
<el-table-column label="v15" align="center" prop="v15" />
|
||||
<el-table-column label="v16" align="center" prop="v16" />
|
||||
<el-table-column label="v17" align="center" prop="v17" />
|
||||
<el-table-column label="v18" align="center" prop="v18" />
|
||||
<el-table-column label="v19" align="center" prop="v19" />
|
||||
<el-table-column label="v20" align="center" prop="v20" />
|
||||
<el-table-column label="v41" align="center" prop="v41" />
|
||||
<el-table-column label="v42" align="center" prop="v42" />
|
||||
<el-table-column label="v43" align="center" prop="v43" />
|
||||
<el-table-column label="v44" align="center" prop="v44" />
|
||||
<el-table-column label="v45" align="center" prop="v45" />
|
||||
<el-table-column label="v46" align="center" prop="v46" />
|
||||
<el-table-column label="v47" align="center" prop="v47" />
|
||||
<el-table-column label="v48" align="center" prop="v48" />
|
||||
<el-table-column label="v49" align="center" prop="v49" />
|
||||
<el-table-column label="v50" align="center" prop="v50" />
|
||||
<el-table-column label="v51" align="center" prop="v51" />
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['system:spec125r:edit']"
|
||||
>修改</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['system:spec125r:remove']"
|
||||
>删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 添加或修改125R设备规格参数对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="行程" prop="travelLength">
|
||||
<el-input v-model="form.travelLength" placeholder="请输入行程" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v1" prop="v1">
|
||||
<el-input v-model="form.v1" placeholder="请输入v1" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v2" prop="v2">
|
||||
<el-input v-model="form.v2" placeholder="请输入v2" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v3" prop="v3">
|
||||
<el-input v-model="form.v3" placeholder="请输入v3" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v4" prop="v4">
|
||||
<el-input v-model="form.v4" placeholder="请输入v4" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v5" prop="v5">
|
||||
<el-input v-model="form.v5" placeholder="请输入v5" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v6" prop="v6">
|
||||
<el-input v-model="form.v6" placeholder="请输入v6" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v7" prop="v7">
|
||||
<el-input v-model="form.v7" placeholder="请输入v7" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v8" prop="v8">
|
||||
<el-input v-model="form.v8" placeholder="请输入v8" />
|
||||
</el-form-item>
|
||||
<el-form-item label="g1" prop="g1">
|
||||
<el-input v-model="form.g1" placeholder="请输入g1" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v9" prop="v9">
|
||||
<el-input v-model="form.v9" placeholder="请输入v9" />
|
||||
</el-form-item>
|
||||
<el-form-item label="g2" prop="g2">
|
||||
<el-input v-model="form.g2" placeholder="请输入g2" />
|
||||
</el-form-item>
|
||||
<el-form-item label="g3" prop="g3">
|
||||
<el-input v-model="form.g3" placeholder="请输入g3" />
|
||||
</el-form-item>
|
||||
<el-form-item label="g4" prop="g4">
|
||||
<el-input v-model="form.g4" placeholder="请输入g4" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v10" prop="v10">
|
||||
<el-input v-model="form.v10" placeholder="请输入v10" />
|
||||
</el-form-item>
|
||||
<el-form-item label="g5" prop="g5">
|
||||
<el-input v-model="form.g5" placeholder="请输入g5" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v11" prop="v11">
|
||||
<el-input v-model="form.v11" placeholder="请输入v11" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v12" prop="v12">
|
||||
<el-input v-model="form.v12" placeholder="请输入v12" />
|
||||
</el-form-item>
|
||||
<el-form-item label="g6" prop="g6">
|
||||
<el-input v-model="form.g6" placeholder="请输入g6" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v13" prop="v13">
|
||||
<el-input v-model="form.v13" placeholder="请输入v13" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v14" prop="v14">
|
||||
<el-input v-model="form.v14" placeholder="请输入v14" />
|
||||
</el-form-item>
|
||||
<el-form-item label="g7" prop="g7">
|
||||
<el-input v-model="form.g7" placeholder="请输入g7" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v15" prop="v15">
|
||||
<el-input v-model="form.v15" placeholder="请输入v15" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v16" prop="v16">
|
||||
<el-input v-model="form.v16" placeholder="请输入v16" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v17" prop="v17">
|
||||
<el-input v-model="form.v17" placeholder="请输入v17" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v18" prop="v18">
|
||||
<el-input v-model="form.v18" placeholder="请输入v18" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v19" prop="v19">
|
||||
<el-input v-model="form.v19" placeholder="请输入v19" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v20" prop="v20">
|
||||
<el-input v-model="form.v20" placeholder="请输入v20" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v41" prop="v41">
|
||||
<el-input v-model="form.v41" placeholder="请输入v41" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v42" prop="v42">
|
||||
<el-input v-model="form.v42" placeholder="请输入v42" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v43" prop="v43">
|
||||
<el-input v-model="form.v43" placeholder="请输入v43" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v44" prop="v44">
|
||||
<el-input v-model="form.v44" placeholder="请输入v44" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v45" prop="v45">
|
||||
<el-input v-model="form.v45" placeholder="请输入v45" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v46" prop="v46">
|
||||
<el-input v-model="form.v46" placeholder="请输入v46" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v47" prop="v47">
|
||||
<el-input v-model="form.v47" placeholder="请输入v47" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v48" prop="v48">
|
||||
<el-input v-model="form.v48" placeholder="请输入v48" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v49" prop="v49">
|
||||
<el-input v-model="form.v49" placeholder="请输入v49" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v50" prop="v50">
|
||||
<el-input v-model="form.v50" placeholder="请输入v50" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v51" prop="v51">
|
||||
<el-input v-model="form.v51" placeholder="请输入v51" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listSpec125r, getSpec125r, delSpec125r, addSpec125r, updateSpec125r } from "@/api/system/spec125r";
|
||||
|
||||
export default {
|
||||
name: "Spec125r",
|
||||
data() {
|
||||
return {
|
||||
// 按钮loading
|
||||
buttonLoading: false,
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 125R设备规格参数表格数据
|
||||
spec125rList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
travelLength: undefined,
|
||||
itemType: undefined,
|
||||
axialType: undefined,
|
||||
boxType: undefined,
|
||||
v1: undefined,
|
||||
v2: undefined,
|
||||
v3: undefined,
|
||||
v4: undefined,
|
||||
v5: undefined,
|
||||
v6: undefined,
|
||||
v7: undefined,
|
||||
v8: undefined,
|
||||
g1: undefined,
|
||||
v9: undefined,
|
||||
g2: undefined,
|
||||
g3: undefined,
|
||||
g4: undefined,
|
||||
v10: undefined,
|
||||
g5: undefined,
|
||||
v11: undefined,
|
||||
v12: undefined,
|
||||
g6: undefined,
|
||||
v13: undefined,
|
||||
v14: undefined,
|
||||
g7: undefined,
|
||||
v15: undefined,
|
||||
v16: undefined,
|
||||
v17: undefined,
|
||||
v18: undefined,
|
||||
v19: undefined,
|
||||
v20: undefined,
|
||||
v41: undefined,
|
||||
v42: undefined,
|
||||
v43: undefined,
|
||||
v44: undefined,
|
||||
v45: undefined,
|
||||
v46: undefined,
|
||||
v47: undefined,
|
||||
v48: undefined,
|
||||
v49: undefined,
|
||||
v50: undefined,
|
||||
v51: undefined,
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
id: [
|
||||
{ required: true, message: "id不能为空", trigger: "blur" }
|
||||
],
|
||||
travelLength: [
|
||||
{ required: true, message: "行程不能为空", trigger: "blur" }
|
||||
],
|
||||
itemType: [
|
||||
{ required: true, message: "类型不能为空", trigger: "change" }
|
||||
],
|
||||
axialType: [
|
||||
{ required: true, message: "轴向不能为空", trigger: "change" }
|
||||
],
|
||||
boxType: [
|
||||
{ required: true, message: "箱体不能为空", trigger: "change" }
|
||||
],
|
||||
v1: [
|
||||
{ required: true, message: "v1不能为空", trigger: "blur" }
|
||||
],
|
||||
v2: [
|
||||
{ required: true, message: "v2不能为空", trigger: "blur" }
|
||||
],
|
||||
v3: [
|
||||
{ required: true, message: "v3不能为空", trigger: "blur" }
|
||||
],
|
||||
v4: [
|
||||
{ required: true, message: "v4不能为空", trigger: "blur" }
|
||||
],
|
||||
v5: [
|
||||
{ required: true, message: "v5不能为空", trigger: "blur" }
|
||||
],
|
||||
v6: [
|
||||
{ required: true, message: "v6不能为空", trigger: "blur" }
|
||||
],
|
||||
v7: [
|
||||
{ required: true, message: "v7不能为空", trigger: "blur" }
|
||||
],
|
||||
v8: [
|
||||
{ required: true, message: "v8不能为空", trigger: "blur" }
|
||||
],
|
||||
g1: [
|
||||
{ required: true, message: "g1不能为空", trigger: "blur" }
|
||||
],
|
||||
v9: [
|
||||
{ required: true, message: "v9不能为空", trigger: "blur" }
|
||||
],
|
||||
g2: [
|
||||
{ required: true, message: "g2不能为空", trigger: "blur" }
|
||||
],
|
||||
g3: [
|
||||
{ required: true, message: "g3不能为空", trigger: "blur" }
|
||||
],
|
||||
g4: [
|
||||
{ required: true, message: "g4不能为空", trigger: "blur" }
|
||||
],
|
||||
v10: [
|
||||
{ required: true, message: "v10不能为空", trigger: "blur" }
|
||||
],
|
||||
g5: [
|
||||
{ required: true, message: "g5不能为空", trigger: "blur" }
|
||||
],
|
||||
v11: [
|
||||
{ required: true, message: "v11不能为空", trigger: "blur" }
|
||||
],
|
||||
v12: [
|
||||
{ required: true, message: "v12不能为空", trigger: "blur" }
|
||||
],
|
||||
g6: [
|
||||
{ required: true, message: "g6不能为空", trigger: "blur" }
|
||||
],
|
||||
v13: [
|
||||
{ required: true, message: "v13不能为空", trigger: "blur" }
|
||||
],
|
||||
v14: [
|
||||
{ required: true, message: "v14不能为空", trigger: "blur" }
|
||||
],
|
||||
g7: [
|
||||
{ required: true, message: "g7不能为空", trigger: "blur" }
|
||||
],
|
||||
v15: [
|
||||
{ required: true, message: "v15不能为空", trigger: "blur" }
|
||||
],
|
||||
v16: [
|
||||
{ required: true, message: "v16不能为空", trigger: "blur" }
|
||||
],
|
||||
v17: [
|
||||
{ required: true, message: "v17不能为空", trigger: "blur" }
|
||||
],
|
||||
v18: [
|
||||
{ required: true, message: "v18不能为空", trigger: "blur" }
|
||||
],
|
||||
v19: [
|
||||
{ required: true, message: "v19不能为空", trigger: "blur" }
|
||||
],
|
||||
v20: [
|
||||
{ required: true, message: "v20不能为空", trigger: "blur" }
|
||||
],
|
||||
v41: [
|
||||
{ required: true, message: "v41不能为空", trigger: "blur" }
|
||||
],
|
||||
v42: [
|
||||
{ required: true, message: "v42不能为空", trigger: "blur" }
|
||||
],
|
||||
v43: [
|
||||
{ required: true, message: "v43不能为空", trigger: "blur" }
|
||||
],
|
||||
v44: [
|
||||
{ required: true, message: "v44不能为空", trigger: "blur" }
|
||||
],
|
||||
v45: [
|
||||
{ required: true, message: "v45不能为空", trigger: "blur" }
|
||||
],
|
||||
v46: [
|
||||
{ required: true, message: "v46不能为空", trigger: "blur" }
|
||||
],
|
||||
v47: [
|
||||
{ required: true, message: "v47不能为空", trigger: "blur" }
|
||||
],
|
||||
v48: [
|
||||
{ required: true, message: "v48不能为空", trigger: "blur" }
|
||||
],
|
||||
v49: [
|
||||
{ required: true, message: "v49不能为空", trigger: "blur" }
|
||||
],
|
||||
v50: [
|
||||
{ required: true, message: "v50不能为空", trigger: "blur" }
|
||||
],
|
||||
v51: [
|
||||
{ required: true, message: "v51不能为空", trigger: "blur" }
|
||||
],
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询125R设备规格参数列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listSpec125r(this.queryParams).then(response => {
|
||||
this.spec125rList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
id: undefined,
|
||||
travelLength: undefined,
|
||||
itemType: undefined,
|
||||
axialType: undefined,
|
||||
boxType: undefined,
|
||||
v1: undefined,
|
||||
v2: undefined,
|
||||
v3: undefined,
|
||||
v4: undefined,
|
||||
v5: undefined,
|
||||
v6: undefined,
|
||||
v7: undefined,
|
||||
v8: undefined,
|
||||
g1: undefined,
|
||||
v9: undefined,
|
||||
g2: undefined,
|
||||
g3: undefined,
|
||||
g4: undefined,
|
||||
v10: undefined,
|
||||
g5: undefined,
|
||||
v11: undefined,
|
||||
v12: undefined,
|
||||
g6: undefined,
|
||||
v13: undefined,
|
||||
v14: undefined,
|
||||
g7: undefined,
|
||||
v15: undefined,
|
||||
v16: undefined,
|
||||
v17: undefined,
|
||||
v18: undefined,
|
||||
v19: undefined,
|
||||
v20: undefined,
|
||||
v41: undefined,
|
||||
v42: undefined,
|
||||
v43: undefined,
|
||||
v44: undefined,
|
||||
v45: undefined,
|
||||
v46: undefined,
|
||||
v47: undefined,
|
||||
v48: undefined,
|
||||
v49: undefined,
|
||||
v50: undefined,
|
||||
v51: undefined,
|
||||
createTime: undefined,
|
||||
updateTime: undefined,
|
||||
createBy: undefined,
|
||||
updateBy: undefined
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.id)
|
||||
this.single = selection.length!==1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset();
|
||||
this.open = true;
|
||||
this.title = "添加125R设备规格参数";
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.loading = true;
|
||||
this.reset();
|
||||
const id = row.id || this.ids
|
||||
getSpec125r(id).then(response => {
|
||||
this.loading = false;
|
||||
this.form = response.data;
|
||||
this.open = true;
|
||||
this.title = "修改125R设备规格参数";
|
||||
});
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
this.buttonLoading = true;
|
||||
if (this.form.id != null) {
|
||||
updateSpec125r(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
}).finally(() => {
|
||||
this.buttonLoading = false;
|
||||
});
|
||||
} else {
|
||||
addSpec125r(this.form).then(response => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
}).finally(() => {
|
||||
this.buttonLoading = false;
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const ids = row.id || this.ids;
|
||||
this.$modal.confirm('是否确认删除125R设备规格参数编号为"' + ids + '"的数据项?').then(() => {
|
||||
this.loading = true;
|
||||
return delSpec125r(ids);
|
||||
}).then(() => {
|
||||
this.loading = false;
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch(() => {
|
||||
}).finally(() => {
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download('system/spec125r/export', {
|
||||
...this.queryParams
|
||||
}, `spec125r_${new Date().getTime()}.xlsx`)
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
663
src/views/system/spec150r/index.vue
Normal file
663
src/views/system/spec150r/index.vue
Normal file
@ -0,0 +1,663 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="行程" prop="travelLength">
|
||||
<el-input
|
||||
v-model="queryParams.travelLength"
|
||||
placeholder="请输入行程"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['system:spec150r:add']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['system:spec150r:edit']"
|
||||
>修改</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['system:spec150r:remove']"
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['system:spec150r:export']"
|
||||
>导出</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" border="true" :data="spec150rList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="行程" align="center" prop="travelLength" />
|
||||
<el-table-column label="类型" align="center" prop="itemType" />
|
||||
<el-table-column label="箱体" align="center" prop="boxType" />
|
||||
<el-table-column label="v1" align="center" prop="v1" />
|
||||
<el-table-column label="v2" align="center" prop="v2" />
|
||||
<el-table-column label="v3" align="center" prop="v3" />
|
||||
<el-table-column label="v4" align="center" prop="v4" />
|
||||
<el-table-column label="v21" align="center" prop="v21" />
|
||||
<el-table-column label="v22" align="center" prop="v22" />
|
||||
<el-table-column label="v23" align="center" prop="v23" />
|
||||
<el-table-column label="v24" align="center" prop="v24" />
|
||||
<el-table-column label="v5" align="center" prop="v5" />
|
||||
<el-table-column label="v6" align="center" prop="v6" />
|
||||
<el-table-column label="v7" align="center" prop="v7" />
|
||||
<el-table-column label="v8" align="center" prop="v8" />
|
||||
<el-table-column label="g1" align="center" prop="g1" />
|
||||
<el-table-column label="v9" align="center" prop="v9" />
|
||||
<el-table-column label="g2" align="center" prop="g2" />
|
||||
<el-table-column label="g3" align="center" prop="g3" />
|
||||
<el-table-column label="g4" align="center" prop="g4" />
|
||||
<el-table-column label="v10" align="center" prop="v10" />
|
||||
<el-table-column label="g5" align="center" prop="g5" />
|
||||
<el-table-column label="v11" align="center" prop="v11" />
|
||||
<el-table-column label="v12" align="center" prop="v12" />
|
||||
<el-table-column label="g6" align="center" prop="g6" />
|
||||
<el-table-column label="v13" align="center" prop="v13" />
|
||||
<el-table-column label="v14" align="center" prop="v14" />
|
||||
<el-table-column label="g7" align="center" prop="g7" />
|
||||
<el-table-column label="v15" align="center" prop="v15" />
|
||||
<el-table-column label="v16" align="center" prop="v16" />
|
||||
<el-table-column label="v17" align="center" prop="v17" />
|
||||
<el-table-column label="v18" align="center" prop="v18" />
|
||||
<el-table-column label="v19" align="center" prop="v19" />
|
||||
<el-table-column label="v20" align="center" prop="v20" />
|
||||
<el-table-column label="v41" align="center" prop="v41" />
|
||||
<el-table-column label="v42" align="center" prop="v42" />
|
||||
<el-table-column label="v43" align="center" prop="v43" />
|
||||
<el-table-column label="v44" align="center" prop="v44" />
|
||||
<el-table-column label="v45" align="center" prop="v45" />
|
||||
<el-table-column label="v46" align="center" prop="v46" />
|
||||
<el-table-column label="v47" align="center" prop="v47" />
|
||||
<el-table-column label="v48" align="center" prop="v48" />
|
||||
<el-table-column label="v49" align="center" prop="v49" />
|
||||
<el-table-column label="v50" align="center" prop="v50" />
|
||||
<el-table-column label="v51" align="center" prop="v51" />
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['system:spec150r:edit']"
|
||||
>修改</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['system:spec150r:remove']"
|
||||
>删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 添加或修改150R设备规格参数对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="行程" prop="travelLength">
|
||||
<el-input v-model="form.travelLength" placeholder="请输入行程" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v1" prop="v1">
|
||||
<el-input v-model="form.v1" placeholder="请输入v1" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v2" prop="v2">
|
||||
<el-input v-model="form.v2" placeholder="请输入v2" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v3" prop="v3">
|
||||
<el-input v-model="form.v3" placeholder="请输入v3" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v4" prop="v4">
|
||||
<el-input v-model="form.v4" placeholder="请输入v4" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v21" prop="v21">
|
||||
<el-input v-model="form.v21" placeholder="请输入v21" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v22" prop="v22">
|
||||
<el-input v-model="form.v22" placeholder="请输入v22" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v23" prop="v23">
|
||||
<el-input v-model="form.v23" placeholder="请输入v23" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v24" prop="v24">
|
||||
<el-input v-model="form.v24" placeholder="请输入v24" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v5" prop="v5">
|
||||
<el-input v-model="form.v5" placeholder="请输入v5" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v6" prop="v6">
|
||||
<el-input v-model="form.v6" placeholder="请输入v6" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v7" prop="v7">
|
||||
<el-input v-model="form.v7" placeholder="请输入v7" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v8" prop="v8">
|
||||
<el-input v-model="form.v8" placeholder="请输入v8" />
|
||||
</el-form-item>
|
||||
<el-form-item label="g1" prop="g1">
|
||||
<el-input v-model="form.g1" placeholder="请输入g1" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v9" prop="v9">
|
||||
<el-input v-model="form.v9" placeholder="请输入v9" />
|
||||
</el-form-item>
|
||||
<el-form-item label="g2" prop="g2">
|
||||
<el-input v-model="form.g2" placeholder="请输入g2" />
|
||||
</el-form-item>
|
||||
<el-form-item label="g3" prop="g3">
|
||||
<el-input v-model="form.g3" placeholder="请输入g3" />
|
||||
</el-form-item>
|
||||
<el-form-item label="g4" prop="g4">
|
||||
<el-input v-model="form.g4" placeholder="请输入g4" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v10" prop="v10">
|
||||
<el-input v-model="form.v10" placeholder="请输入v10" />
|
||||
</el-form-item>
|
||||
<el-form-item label="g5" prop="g5">
|
||||
<el-input v-model="form.g5" placeholder="请输入g5" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v11" prop="v11">
|
||||
<el-input v-model="form.v11" placeholder="请输入v11" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v12" prop="v12">
|
||||
<el-input v-model="form.v12" placeholder="请输入v12" />
|
||||
</el-form-item>
|
||||
<el-form-item label="g6" prop="g6">
|
||||
<el-input v-model="form.g6" placeholder="请输入g6" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v13" prop="v13">
|
||||
<el-input v-model="form.v13" placeholder="请输入v13" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v14" prop="v14">
|
||||
<el-input v-model="form.v14" placeholder="请输入v14" />
|
||||
</el-form-item>
|
||||
<el-form-item label="g7" prop="g7">
|
||||
<el-input v-model="form.g7" placeholder="请输入g7" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v15" prop="v15">
|
||||
<el-input v-model="form.v15" placeholder="请输入v15" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v16" prop="v16">
|
||||
<el-input v-model="form.v16" placeholder="请输入v16" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v17" prop="v17">
|
||||
<el-input v-model="form.v17" placeholder="请输入v17" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v18" prop="v18">
|
||||
<el-input v-model="form.v18" placeholder="请输入v18" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v19" prop="v19">
|
||||
<el-input v-model="form.v19" placeholder="请输入v19" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v20" prop="v20">
|
||||
<el-input v-model="form.v20" placeholder="请输入v20" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v41" prop="v41">
|
||||
<el-input v-model="form.v41" placeholder="请输入v41" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v42" prop="v42">
|
||||
<el-input v-model="form.v42" placeholder="请输入v42" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v43" prop="v43">
|
||||
<el-input v-model="form.v43" placeholder="请输入v43" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v44" prop="v44">
|
||||
<el-input v-model="form.v44" placeholder="请输入v44" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v45" prop="v45">
|
||||
<el-input v-model="form.v45" placeholder="请输入v45" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v46" prop="v46">
|
||||
<el-input v-model="form.v46" placeholder="请输入v46" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v47" prop="v47">
|
||||
<el-input v-model="form.v47" placeholder="请输入v47" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v48" prop="v48">
|
||||
<el-input v-model="form.v48" placeholder="请输入v48" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v49" prop="v49">
|
||||
<el-input v-model="form.v49" placeholder="请输入v49" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v50" prop="v50">
|
||||
<el-input v-model="form.v50" placeholder="请输入v50" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v51" prop="v51">
|
||||
<el-input v-model="form.v51" placeholder="请输入v51" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listSpec150r, getSpec150r, delSpec150r, addSpec150r, updateSpec150r } from "@/api/system/spec150r";
|
||||
|
||||
export default {
|
||||
name: "Spec150r",
|
||||
data() {
|
||||
return {
|
||||
// 按钮loading
|
||||
buttonLoading: false,
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 150R设备规格参数表格数据
|
||||
spec150rList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
travelLength: undefined,
|
||||
itemType: undefined,
|
||||
axialType: undefined,
|
||||
boxType: undefined,
|
||||
v1: undefined,
|
||||
v2: undefined,
|
||||
v3: undefined,
|
||||
v4: undefined,
|
||||
v21: undefined,
|
||||
v22: undefined,
|
||||
v23: undefined,
|
||||
v24: undefined,
|
||||
v5: undefined,
|
||||
v6: undefined,
|
||||
v7: undefined,
|
||||
v8: undefined,
|
||||
g1: undefined,
|
||||
v9: undefined,
|
||||
g2: undefined,
|
||||
g3: undefined,
|
||||
g4: undefined,
|
||||
v10: undefined,
|
||||
g5: undefined,
|
||||
v11: undefined,
|
||||
v12: undefined,
|
||||
g6: undefined,
|
||||
v13: undefined,
|
||||
v14: undefined,
|
||||
g7: undefined,
|
||||
v15: undefined,
|
||||
v16: undefined,
|
||||
v17: undefined,
|
||||
v18: undefined,
|
||||
v19: undefined,
|
||||
v20: undefined,
|
||||
v41: undefined,
|
||||
v42: undefined,
|
||||
v43: undefined,
|
||||
v44: undefined,
|
||||
v45: undefined,
|
||||
v46: undefined,
|
||||
v47: undefined,
|
||||
v48: undefined,
|
||||
v49: undefined,
|
||||
v50: undefined,
|
||||
v51: undefined,
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
id: [
|
||||
{ required: true, message: "id不能为空", trigger: "blur" }
|
||||
],
|
||||
travelLength: [
|
||||
{ required: true, message: "行程不能为空", trigger: "blur" }
|
||||
],
|
||||
itemType: [
|
||||
{ required: true, message: "类型不能为空", trigger: "change" }
|
||||
],
|
||||
axialType: [
|
||||
{ required: true, message: "轴向不能为空", trigger: "change" }
|
||||
],
|
||||
boxType: [
|
||||
{ required: true, message: "箱体不能为空", trigger: "change" }
|
||||
],
|
||||
v1: [
|
||||
{ required: true, message: "v1不能为空", trigger: "blur" }
|
||||
],
|
||||
v2: [
|
||||
{ required: true, message: "v2不能为空", trigger: "blur" }
|
||||
],
|
||||
v3: [
|
||||
{ required: true, message: "v3不能为空", trigger: "blur" }
|
||||
],
|
||||
v4: [
|
||||
{ required: true, message: "v4不能为空", trigger: "blur" }
|
||||
],
|
||||
v21: [
|
||||
{ required: true, message: "v21不能为空", trigger: "blur" }
|
||||
],
|
||||
v22: [
|
||||
{ required: true, message: "v22不能为空", trigger: "blur" }
|
||||
],
|
||||
v23: [
|
||||
{ required: true, message: "v23不能为空", trigger: "blur" }
|
||||
],
|
||||
v24: [
|
||||
{ required: true, message: "v24不能为空", trigger: "blur" }
|
||||
],
|
||||
v5: [
|
||||
{ required: true, message: "v5不能为空", trigger: "blur" }
|
||||
],
|
||||
v6: [
|
||||
{ required: true, message: "v6不能为空", trigger: "blur" }
|
||||
],
|
||||
v7: [
|
||||
{ required: true, message: "v7不能为空", trigger: "blur" }
|
||||
],
|
||||
v8: [
|
||||
{ required: true, message: "v8不能为空", trigger: "blur" }
|
||||
],
|
||||
g1: [
|
||||
{ required: true, message: "g1不能为空", trigger: "blur" }
|
||||
],
|
||||
v9: [
|
||||
{ required: true, message: "v9不能为空", trigger: "blur" }
|
||||
],
|
||||
g2: [
|
||||
{ required: true, message: "g2不能为空", trigger: "blur" }
|
||||
],
|
||||
g3: [
|
||||
{ required: true, message: "g3不能为空", trigger: "blur" }
|
||||
],
|
||||
g4: [
|
||||
{ required: true, message: "g4不能为空", trigger: "blur" }
|
||||
],
|
||||
v10: [
|
||||
{ required: true, message: "v10不能为空", trigger: "blur" }
|
||||
],
|
||||
g5: [
|
||||
{ required: true, message: "g5不能为空", trigger: "blur" }
|
||||
],
|
||||
v11: [
|
||||
{ required: true, message: "v11不能为空", trigger: "blur" }
|
||||
],
|
||||
v12: [
|
||||
{ required: true, message: "v12不能为空", trigger: "blur" }
|
||||
],
|
||||
g6: [
|
||||
{ required: true, message: "g6不能为空", trigger: "blur" }
|
||||
],
|
||||
v13: [
|
||||
{ required: true, message: "v13不能为空", trigger: "blur" }
|
||||
],
|
||||
v14: [
|
||||
{ required: true, message: "v14不能为空", trigger: "blur" }
|
||||
],
|
||||
g7: [
|
||||
{ required: true, message: "g7不能为空", trigger: "blur" }
|
||||
],
|
||||
v15: [
|
||||
{ required: true, message: "v15不能为空", trigger: "blur" }
|
||||
],
|
||||
v16: [
|
||||
{ required: true, message: "v16不能为空", trigger: "blur" }
|
||||
],
|
||||
v17: [
|
||||
{ required: true, message: "v17不能为空", trigger: "blur" }
|
||||
],
|
||||
v18: [
|
||||
{ required: true, message: "v18不能为空", trigger: "blur" }
|
||||
],
|
||||
v19: [
|
||||
{ required: true, message: "v19不能为空", trigger: "blur" }
|
||||
],
|
||||
v20: [
|
||||
{ required: true, message: "v20不能为空", trigger: "blur" }
|
||||
],
|
||||
v41: [
|
||||
{ required: true, message: "v41不能为空", trigger: "blur" }
|
||||
],
|
||||
v42: [
|
||||
{ required: true, message: "v42不能为空", trigger: "blur" }
|
||||
],
|
||||
v43: [
|
||||
{ required: true, message: "v43不能为空", trigger: "blur" }
|
||||
],
|
||||
v44: [
|
||||
{ required: true, message: "v44不能为空", trigger: "blur" }
|
||||
],
|
||||
v45: [
|
||||
{ required: true, message: "v45不能为空", trigger: "blur" }
|
||||
],
|
||||
v46: [
|
||||
{ required: true, message: "v46不能为空", trigger: "blur" }
|
||||
],
|
||||
v47: [
|
||||
{ required: true, message: "v47不能为空", trigger: "blur" }
|
||||
],
|
||||
v48: [
|
||||
{ required: true, message: "v48不能为空", trigger: "blur" }
|
||||
],
|
||||
v49: [
|
||||
{ required: true, message: "v49不能为空", trigger: "blur" }
|
||||
],
|
||||
v50: [
|
||||
{ required: true, message: "v50不能为空", trigger: "blur" }
|
||||
],
|
||||
v51: [
|
||||
{ required: true, message: "v51不能为空", trigger: "blur" }
|
||||
],
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询150R设备规格参数列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listSpec150r(this.queryParams).then(response => {
|
||||
this.spec150rList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
id: undefined,
|
||||
travelLength: undefined,
|
||||
itemType: undefined,
|
||||
axialType: undefined,
|
||||
boxType: undefined,
|
||||
v1: undefined,
|
||||
v2: undefined,
|
||||
v3: undefined,
|
||||
v4: undefined,
|
||||
v21: undefined,
|
||||
v22: undefined,
|
||||
v23: undefined,
|
||||
v24: undefined,
|
||||
v5: undefined,
|
||||
v6: undefined,
|
||||
v7: undefined,
|
||||
v8: undefined,
|
||||
g1: undefined,
|
||||
v9: undefined,
|
||||
g2: undefined,
|
||||
g3: undefined,
|
||||
g4: undefined,
|
||||
v10: undefined,
|
||||
g5: undefined,
|
||||
v11: undefined,
|
||||
v12: undefined,
|
||||
g6: undefined,
|
||||
v13: undefined,
|
||||
v14: undefined,
|
||||
g7: undefined,
|
||||
v15: undefined,
|
||||
v16: undefined,
|
||||
v17: undefined,
|
||||
v18: undefined,
|
||||
v19: undefined,
|
||||
v20: undefined,
|
||||
v41: undefined,
|
||||
v42: undefined,
|
||||
v43: undefined,
|
||||
v44: undefined,
|
||||
v45: undefined,
|
||||
v46: undefined,
|
||||
v47: undefined,
|
||||
v48: undefined,
|
||||
v49: undefined,
|
||||
v50: undefined,
|
||||
v51: undefined,
|
||||
createTime: undefined,
|
||||
updateTime: undefined,
|
||||
createBy: undefined,
|
||||
updateBy: undefined
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.id)
|
||||
this.single = selection.length!==1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset();
|
||||
this.open = true;
|
||||
this.title = "添加150R设备规格参数";
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.loading = true;
|
||||
this.reset();
|
||||
const id = row.id || this.ids
|
||||
getSpec150r(id).then(response => {
|
||||
this.loading = false;
|
||||
this.form = response.data;
|
||||
this.open = true;
|
||||
this.title = "修改150R设备规格参数";
|
||||
});
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
this.buttonLoading = true;
|
||||
if (this.form.id != null) {
|
||||
updateSpec150r(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
}).finally(() => {
|
||||
this.buttonLoading = false;
|
||||
});
|
||||
} else {
|
||||
addSpec150r(this.form).then(response => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
}).finally(() => {
|
||||
this.buttonLoading = false;
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const ids = row.id || this.ids;
|
||||
this.$modal.confirm('是否确认删除150R设备规格参数编号为"' + ids + '"的数据项?').then(() => {
|
||||
this.loading = true;
|
||||
return delSpec150r(ids);
|
||||
}).then(() => {
|
||||
this.loading = false;
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch(() => {
|
||||
}).finally(() => {
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download('system/spec150r/export', {
|
||||
...this.queryParams
|
||||
}, `spec150r_${new Date().getTime()}.xlsx`)
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
486
src/views/system/spec30d/index.vue
Normal file
486
src/views/system/spec30d/index.vue
Normal file
@ -0,0 +1,486 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="行程变量" prop="travelLength">
|
||||
<el-input
|
||||
v-model="queryParams.travelLength"
|
||||
placeholder="请输入行程变量"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="箱体" prop="boxType">
|
||||
<el-select
|
||||
v-model="queryParams.boxType"
|
||||
placeholder="请选择箱体层数"
|
||||
clearable
|
||||
@change="handleQuery"
|
||||
>
|
||||
<el-option label="S(单层)" value="S" />
|
||||
<el-option label="D(双层)" value="D" />
|
||||
<el-option label="T(三层)" value="T" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['system:spec30d:add']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['system:spec30d:edit']"
|
||||
>修改</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['system:spec30d:remove']"
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['system:spec30d:export']"
|
||||
>导出</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="spec30dList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="行程变量" align="center" prop="travelLength" />
|
||||
<el-table-column label="类型" align="center" prop="itemType" />
|
||||
<el-table-column label="箱体" align="center" prop="boxType" />
|
||||
<el-table-column label="v1" align="center" prop="v1" />
|
||||
<el-table-column label="v2" align="center" prop="v2" />
|
||||
<el-table-column label="v3" align="center" prop="v3" />
|
||||
<el-table-column label="v5" align="center" prop="v5" />
|
||||
<el-table-column label="v6" align="center" prop="v6" />
|
||||
<el-table-column label="v8" align="center" prop="v8" />
|
||||
<el-table-column label="g1" align="center" prop="g1" />
|
||||
<el-table-column label="v10" align="center" prop="v10" />
|
||||
<el-table-column label="g5" align="center" prop="g5" />
|
||||
<el-table-column label="g8" align="center" prop="g8" />
|
||||
<el-table-column label="v12" align="center" prop="v12" />
|
||||
<el-table-column label="g6" align="center" prop="g6" />
|
||||
<el-table-column label="g9" align="center" prop="g9" />
|
||||
<el-table-column label="v41" align="center" prop="v41" />
|
||||
<el-table-column label="v42" align="center" prop="v42" />
|
||||
<el-table-column label="v43" align="center" prop="v43" />
|
||||
<el-table-column label="v44" align="center" prop="v44" />
|
||||
<el-table-column label="v45" align="center" prop="v45" />
|
||||
<el-table-column label="v46" align="center" prop="v46" />
|
||||
<el-table-column label="v47" align="center" prop="v47" />
|
||||
<el-table-column label="v48" align="center" prop="v48" />
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['system:spec30d:edit']"
|
||||
>修改</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['system:spec30d:remove']"
|
||||
>删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 添加或修改device_spec_30D 对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="行程变量" prop="travelLength">
|
||||
<el-input v-model="form.travelLength" placeholder="请输入行程变量" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v1" prop="v1">
|
||||
<el-input v-model="form.v1" placeholder="请输入v1" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v2" prop="v2">
|
||||
<el-input v-model="form.v2" placeholder="请输入v2" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v3" prop="v3">
|
||||
<el-input v-model="form.v3" placeholder="请输入v3" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v5" prop="v5">
|
||||
<el-input v-model="form.v5" placeholder="请输入v5" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v6" prop="v6">
|
||||
<el-input v-model="form.v6" placeholder="请输入v6" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v8" prop="v8">
|
||||
<el-input v-model="form.v8" placeholder="请输入v8" />
|
||||
</el-form-item>
|
||||
<el-form-item label="g1" prop="g1">
|
||||
<el-input v-model="form.g1" placeholder="请输入g1" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v10" prop="v10">
|
||||
<el-input v-model="form.v10" placeholder="请输入v10" />
|
||||
</el-form-item>
|
||||
<el-form-item label="g5" prop="g5">
|
||||
<el-input v-model="form.g5" placeholder="请输入g5" />
|
||||
</el-form-item>
|
||||
<el-form-item label="g8" prop="g8">
|
||||
<el-input v-model="form.g8" placeholder="请输入g8" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v12" prop="v12">
|
||||
<el-input v-model="form.v12" placeholder="请输入v12" />
|
||||
</el-form-item>
|
||||
<el-form-item label="g6" prop="g6">
|
||||
<el-input v-model="form.g6" placeholder="请输入g6" />
|
||||
</el-form-item>
|
||||
<el-form-item label="g9" prop="g9">
|
||||
<el-input v-model="form.g9" placeholder="请输入g9" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v41" prop="v41">
|
||||
<el-input v-model="form.v41" placeholder="请输入v41" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v42" prop="v42">
|
||||
<el-input v-model="form.v42" placeholder="请输入v42" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v43" prop="v43">
|
||||
<el-input v-model="form.v43" placeholder="请输入v43" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v44" prop="v44">
|
||||
<el-input v-model="form.v44" placeholder="请输入v44" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v45" prop="v45">
|
||||
<el-input v-model="form.v45" placeholder="请输入v45" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v46" prop="v46">
|
||||
<el-input v-model="form.v46" placeholder="请输入v46" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v47" prop="v47">
|
||||
<el-input v-model="form.v47" placeholder="请输入v47" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v48" prop="v48">
|
||||
<el-input v-model="form.v48" placeholder="请输入v48" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listSpec30d, getSpec30d, delSpec30d, addSpec30d, updateSpec30d } from "@/api/system/spec30d";
|
||||
|
||||
export default {
|
||||
name: "Spec30d",
|
||||
data() {
|
||||
return {
|
||||
// 按钮loading
|
||||
buttonLoading: false,
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// device_spec_30D 表格数据
|
||||
spec30dList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
travelLength: undefined,
|
||||
itemType: undefined,
|
||||
axialType: undefined,
|
||||
boxType: undefined,
|
||||
v1: undefined,
|
||||
v2: undefined,
|
||||
v3: undefined,
|
||||
v5: undefined,
|
||||
v6: undefined,
|
||||
v8: undefined,
|
||||
g1: undefined,
|
||||
v10: undefined,
|
||||
g5: undefined,
|
||||
g8: undefined,
|
||||
v12: undefined,
|
||||
g6: undefined,
|
||||
g9: undefined,
|
||||
v41: undefined,
|
||||
v42: undefined,
|
||||
v43: undefined,
|
||||
v44: undefined,
|
||||
v45: undefined,
|
||||
v46: undefined,
|
||||
v47: undefined,
|
||||
v48: undefined,
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
id: [
|
||||
{ required: true, message: "id不能为空", trigger: "blur" }
|
||||
],
|
||||
travelLength: [
|
||||
{ required: true, message: "行程变量不能为空", trigger: "blur" }
|
||||
],
|
||||
itemType: [
|
||||
{ required: true, message: "类型不能为空", trigger: "change" }
|
||||
],
|
||||
axialType: [
|
||||
{ required: true, message: "轴向不能为空", trigger: "change" }
|
||||
],
|
||||
boxType: [
|
||||
{ required: true, message: "箱体不能为空", trigger: "change" }
|
||||
],
|
||||
v1: [
|
||||
{ required: true, message: "v1不能为空", trigger: "blur" }
|
||||
],
|
||||
v2: [
|
||||
{ required: true, message: "v2不能为空", trigger: "blur" }
|
||||
],
|
||||
v3: [
|
||||
{ required: true, message: "v3不能为空", trigger: "blur" }
|
||||
],
|
||||
v5: [
|
||||
{ required: true, message: "v5不能为空", trigger: "blur" }
|
||||
],
|
||||
v6: [
|
||||
{ required: true, message: "v6不能为空", trigger: "blur" }
|
||||
],
|
||||
v8: [
|
||||
{ required: true, message: "v8不能为空", trigger: "blur" }
|
||||
],
|
||||
g1: [
|
||||
{ required: true, message: "g1不能为空", trigger: "blur" }
|
||||
],
|
||||
v10: [
|
||||
{ required: true, message: "v10不能为空", trigger: "blur" }
|
||||
],
|
||||
g5: [
|
||||
{ required: true, message: "g5不能为空", trigger: "blur" }
|
||||
],
|
||||
g8: [
|
||||
{ required: true, message: "g8不能为空", trigger: "blur" }
|
||||
],
|
||||
v12: [
|
||||
{ required: true, message: "v12不能为空", trigger: "blur" }
|
||||
],
|
||||
g6: [
|
||||
{ required: true, message: "g6不能为空", trigger: "blur" }
|
||||
],
|
||||
g9: [
|
||||
{ required: true, message: "g9不能为空", trigger: "blur" }
|
||||
],
|
||||
v41: [
|
||||
{ required: true, message: "v41不能为空", trigger: "blur" }
|
||||
],
|
||||
v42: [
|
||||
{ required: true, message: "v42不能为空", trigger: "blur" }
|
||||
],
|
||||
v43: [
|
||||
{ required: true, message: "v43不能为空", trigger: "blur" }
|
||||
],
|
||||
v44: [
|
||||
{ required: true, message: "v44不能为空", trigger: "blur" }
|
||||
],
|
||||
v45: [
|
||||
{ required: true, message: "v45不能为空", trigger: "blur" }
|
||||
],
|
||||
v46: [
|
||||
{ required: true, message: "v46不能为空", trigger: "blur" }
|
||||
],
|
||||
v47: [
|
||||
{ required: true, message: "v47不能为空", trigger: "blur" }
|
||||
],
|
||||
v48: [
|
||||
{ required: true, message: "v48不能为空", trigger: "blur" }
|
||||
],
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询device_spec_30D 列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listSpec30d(this.queryParams).then(response => {
|
||||
this.spec30dList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
id: undefined,
|
||||
travelLength: undefined,
|
||||
itemType: undefined,
|
||||
axialType: undefined,
|
||||
boxType: undefined,
|
||||
v1: undefined,
|
||||
v2: undefined,
|
||||
v3: undefined,
|
||||
v5: undefined,
|
||||
v6: undefined,
|
||||
v8: undefined,
|
||||
g1: undefined,
|
||||
v10: undefined,
|
||||
g5: undefined,
|
||||
g8: undefined,
|
||||
v12: undefined,
|
||||
g6: undefined,
|
||||
g9: undefined,
|
||||
v41: undefined,
|
||||
v42: undefined,
|
||||
v43: undefined,
|
||||
v44: undefined,
|
||||
v45: undefined,
|
||||
v46: undefined,
|
||||
v47: undefined,
|
||||
v48: undefined,
|
||||
createTime: undefined,
|
||||
updateTime: undefined,
|
||||
createBy: undefined,
|
||||
updateBy: undefined
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.id)
|
||||
this.single = selection.length!==1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset();
|
||||
this.open = true;
|
||||
this.title = "添加device_spec_30D ";
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.loading = true;
|
||||
this.reset();
|
||||
const id = row.id || this.ids
|
||||
getSpec30d(id).then(response => {
|
||||
this.loading = false;
|
||||
this.form = response.data;
|
||||
this.open = true;
|
||||
this.title = "修改device_spec_30D ";
|
||||
});
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
this.buttonLoading = true;
|
||||
if (this.form.id != null) {
|
||||
updateSpec30d(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
}).finally(() => {
|
||||
this.buttonLoading = false;
|
||||
});
|
||||
} else {
|
||||
addSpec30d(this.form).then(response => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
}).finally(() => {
|
||||
this.buttonLoading = false;
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const ids = row.id || this.ids;
|
||||
this.$modal.confirm('是否确认删除device_spec_30D 编号为"' + ids + '"的数据项?').then(() => {
|
||||
this.loading = true;
|
||||
return delSpec30d(ids);
|
||||
}).then(() => {
|
||||
this.loading = false;
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch(() => {
|
||||
}).finally(() => {
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download('system/spec30d/export', {
|
||||
...this.queryParams
|
||||
}, `spec30d_${new Date().getTime()}.xlsx`)
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
441
src/views/system/spec30s/index.vue
Normal file
441
src/views/system/spec30s/index.vue
Normal file
@ -0,0 +1,441 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="行程变量" prop="travelLength">
|
||||
<el-input
|
||||
v-model="queryParams.travelLength"
|
||||
placeholder="请输入行程变量"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="箱体" prop="boxType">
|
||||
<el-select
|
||||
v-model="queryParams.boxType"
|
||||
placeholder="请选择箱体层数"
|
||||
clearable
|
||||
@change="handleQuery"
|
||||
>
|
||||
<el-option label="S(单层)" value="S" />
|
||||
<el-option label="D(双层)" value="D" />
|
||||
<el-option label="T(三层)" value="T" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['system:spec30s:add']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['system:spec30s:edit']"
|
||||
>修改</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['system:spec30s:remove']"
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['system:spec30s:export']"
|
||||
>导出</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="spec30sList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="行程变量" align="center" prop="travelLength" />
|
||||
<el-table-column label="类型" align="center" prop="itemType" />
|
||||
<el-table-column label="箱体" align="center" prop="boxType" />
|
||||
<el-table-column label="v1" align="center" prop="v1" />
|
||||
<el-table-column label="v2" align="center" prop="v2" />
|
||||
<el-table-column label="v3" align="center" prop="v3" />
|
||||
<el-table-column label="v5" align="center" prop="v5" />
|
||||
<el-table-column label="v8" align="center" prop="v8" />
|
||||
<el-table-column label="g1" align="center" prop="g1" />
|
||||
<el-table-column label="v10" align="center" prop="v10" />
|
||||
<el-table-column label="g5" align="center" prop="g5" />
|
||||
<el-table-column label="v12" align="center" prop="v12" />
|
||||
<el-table-column label="g6" align="center" prop="g6" />
|
||||
<el-table-column label="v41" align="center" prop="v41" />
|
||||
<el-table-column label="v42" align="center" prop="v42" />
|
||||
<el-table-column label="v43" align="center" prop="v43" />
|
||||
<el-table-column label="v44" align="center" prop="v44" />
|
||||
<el-table-column label="v45" align="center" prop="v45" />
|
||||
<el-table-column label="v46" align="center" prop="v46" />
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['system:spec30s:edit']"
|
||||
>修改</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['system:spec30s:remove']"
|
||||
>删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 添加或修改30S设备规格参数对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="行程变量" prop="travelLength">
|
||||
<el-input v-model="form.travelLength" placeholder="请输入行程变量" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v1" prop="v1">
|
||||
<el-input v-model="form.v1" placeholder="请输入v1" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v2" prop="v2">
|
||||
<el-input v-model="form.v2" placeholder="请输入v2" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v3" prop="v3">
|
||||
<el-input v-model="form.v3" placeholder="请输入v3" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v5" prop="v5">
|
||||
<el-input v-model="form.v5" placeholder="请输入v5" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v8" prop="v8">
|
||||
<el-input v-model="form.v8" placeholder="请输入v8" />
|
||||
</el-form-item>
|
||||
<el-form-item label="g1" prop="g1">
|
||||
<el-input v-model="form.g1" placeholder="请输入g1" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v10" prop="v10">
|
||||
<el-input v-model="form.v10" placeholder="请输入v10" />
|
||||
</el-form-item>
|
||||
<el-form-item label="g5" prop="g5">
|
||||
<el-input v-model="form.g5" placeholder="请输入g5" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v12" prop="v12">
|
||||
<el-input v-model="form.v12" placeholder="请输入v12" />
|
||||
</el-form-item>
|
||||
<el-form-item label="g6" prop="g6">
|
||||
<el-input v-model="form.g6" placeholder="请输入g6" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v41" prop="v41">
|
||||
<el-input v-model="form.v41" placeholder="请输入v41" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v42" prop="v42">
|
||||
<el-input v-model="form.v42" placeholder="请输入v42" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v43" prop="v43">
|
||||
<el-input v-model="form.v43" placeholder="请输入v43" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v44" prop="v44">
|
||||
<el-input v-model="form.v44" placeholder="请输入v44" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v45" prop="v45">
|
||||
<el-input v-model="form.v45" placeholder="请输入v45" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v46" prop="v46">
|
||||
<el-input v-model="form.v46" placeholder="请输入v46" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listSpec30s, getSpec30s, delSpec30s, addSpec30s, updateSpec30s } from "@/api/system/spec30s";
|
||||
|
||||
export default {
|
||||
name: "Spec30s",
|
||||
data() {
|
||||
return {
|
||||
// 按钮loading
|
||||
buttonLoading: false,
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 30S设备规格参数表格数据
|
||||
spec30sList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
travelLength: undefined,
|
||||
itemType: undefined,
|
||||
axialType: undefined,
|
||||
boxType: undefined,
|
||||
v1: undefined,
|
||||
v2: undefined,
|
||||
v3: undefined,
|
||||
v5: undefined,
|
||||
v8: undefined,
|
||||
g1: undefined,
|
||||
v10: undefined,
|
||||
g5: undefined,
|
||||
v12: undefined,
|
||||
g6: undefined,
|
||||
v41: undefined,
|
||||
v42: undefined,
|
||||
v43: undefined,
|
||||
v44: undefined,
|
||||
v45: undefined,
|
||||
v46: undefined,
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
id: [
|
||||
{ required: true, message: "id不能为空", trigger: "blur" }
|
||||
],
|
||||
travelLength: [
|
||||
{ required: true, message: "行程变量不能为空", trigger: "blur" }
|
||||
],
|
||||
itemType: [
|
||||
{ required: true, message: "类型不能为空", trigger: "change" }
|
||||
],
|
||||
axialType: [
|
||||
{ required: true, message: "轴向不能为空", trigger: "change" }
|
||||
],
|
||||
boxType: [
|
||||
{ required: true, message: "箱体不能为空", trigger: "change" }
|
||||
],
|
||||
v1: [
|
||||
{ required: true, message: "v1不能为空", trigger: "blur" }
|
||||
],
|
||||
v2: [
|
||||
{ required: true, message: "v2不能为空", trigger: "blur" }
|
||||
],
|
||||
v3: [
|
||||
{ required: true, message: "v3不能为空", trigger: "blur" }
|
||||
],
|
||||
v5: [
|
||||
{ required: true, message: "v5不能为空", trigger: "blur" }
|
||||
],
|
||||
v8: [
|
||||
{ required: true, message: "v8不能为空", trigger: "blur" }
|
||||
],
|
||||
g1: [
|
||||
{ required: true, message: "g1不能为空", trigger: "blur" }
|
||||
],
|
||||
v10: [
|
||||
{ required: true, message: "v10不能为空", trigger: "blur" }
|
||||
],
|
||||
g5: [
|
||||
{ required: true, message: "g5不能为空", trigger: "blur" }
|
||||
],
|
||||
v12: [
|
||||
{ required: true, message: "v12不能为空", trigger: "blur" }
|
||||
],
|
||||
g6: [
|
||||
{ required: true, message: "g6不能为空", trigger: "blur" }
|
||||
],
|
||||
v41: [
|
||||
{ required: true, message: "v41不能为空", trigger: "blur" }
|
||||
],
|
||||
v42: [
|
||||
{ required: true, message: "v42不能为空", trigger: "blur" }
|
||||
],
|
||||
v43: [
|
||||
{ required: true, message: "v43不能为空", trigger: "blur" }
|
||||
],
|
||||
v44: [
|
||||
{ required: true, message: "v44不能为空", trigger: "blur" }
|
||||
],
|
||||
v45: [
|
||||
{ required: true, message: "v45不能为空", trigger: "blur" }
|
||||
],
|
||||
v46: [
|
||||
{ required: true, message: "v46不能为空", trigger: "blur" }
|
||||
],
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询30S设备规格参数列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listSpec30s(this.queryParams).then(response => {
|
||||
this.spec30sList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
id: undefined,
|
||||
travelLength: undefined,
|
||||
itemType: undefined,
|
||||
axialType: undefined,
|
||||
boxType: undefined,
|
||||
v1: undefined,
|
||||
v2: undefined,
|
||||
v3: undefined,
|
||||
v5: undefined,
|
||||
v8: undefined,
|
||||
g1: undefined,
|
||||
v10: undefined,
|
||||
g5: undefined,
|
||||
v12: undefined,
|
||||
g6: undefined,
|
||||
v41: undefined,
|
||||
v42: undefined,
|
||||
v43: undefined,
|
||||
v44: undefined,
|
||||
v45: undefined,
|
||||
v46: undefined,
|
||||
createTime: undefined,
|
||||
updateTime: undefined,
|
||||
createBy: undefined,
|
||||
updateBy: undefined
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.id)
|
||||
this.single = selection.length!==1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset();
|
||||
this.open = true;
|
||||
this.title = "添加30S设备规格参数";
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.loading = true;
|
||||
this.reset();
|
||||
const id = row.id || this.ids
|
||||
getSpec30s(id).then(response => {
|
||||
this.loading = false;
|
||||
this.form = response.data;
|
||||
this.open = true;
|
||||
this.title = "修改30S设备规格参数";
|
||||
});
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
this.buttonLoading = true;
|
||||
if (this.form.id != null) {
|
||||
updateSpec30s(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
}).finally(() => {
|
||||
this.buttonLoading = false;
|
||||
});
|
||||
} else {
|
||||
addSpec30s(this.form).then(response => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
}).finally(() => {
|
||||
this.buttonLoading = false;
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const ids = row.id || this.ids;
|
||||
this.$modal.confirm('是否确认删除30S设备规格参数编号为"' + ids + '"的数据项?').then(() => {
|
||||
this.loading = true;
|
||||
return delSpec30s(ids);
|
||||
}).then(() => {
|
||||
this.loading = false;
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch(() => {
|
||||
}).finally(() => {
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download('system/spec30s/export', {
|
||||
...this.queryParams
|
||||
}, `spec30s_${new Date().getTime()}.xlsx`)
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
549
src/views/system/spec60r/index.vue
Normal file
549
src/views/system/spec60r/index.vue
Normal file
@ -0,0 +1,549 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="行程变量" prop="travelLength">
|
||||
<el-input
|
||||
v-model="queryParams.travelLength"
|
||||
placeholder="请输入行程变量"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="箱体" prop="boxType">
|
||||
<el-select
|
||||
v-model="queryParams.boxType"
|
||||
placeholder="请选择箱体层数"
|
||||
clearable
|
||||
@change="handleQuery"
|
||||
>
|
||||
<el-option label="S(单层)" value="S" />
|
||||
<el-option label="D(双层)" value="D" />
|
||||
<el-option label="T(三层)" value="T" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['system:spec60r:add']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['system:spec60r:edit']"
|
||||
>修改</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['system:spec60r:remove']"
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['system:spec60r:export']"
|
||||
>导出</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" border :data="spec60rList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="行程" align="center" prop="travelLength" />
|
||||
<el-table-column label="类型" align="center" prop="itemType" />
|
||||
<el-table-column label="箱体" align="center" prop="boxType" />
|
||||
<el-table-column label="v1" align="center" prop="v1" />
|
||||
<el-table-column label="v2" align="center" prop="v2" />
|
||||
<el-table-column label="v3" align="center" prop="v3" />
|
||||
<el-table-column label="v5" align="center" prop="v5" />
|
||||
<el-table-column label="v6" align="center" prop="v6" />
|
||||
<el-table-column label="v8" align="center" prop="v8" />
|
||||
<el-table-column label="g1" align="center" prop="g1" />
|
||||
<el-table-column label="v9" align="center" prop="v9" />
|
||||
<el-table-column label="g2" align="center" prop="g2" />
|
||||
<el-table-column label="v10" align="center" prop="v10" />
|
||||
<el-table-column label="g5" align="center" prop="g5" />
|
||||
<el-table-column label="v11" align="center" prop="v11" />
|
||||
<el-table-column label="v12" align="center" prop="v12" />
|
||||
<el-table-column label="g6" align="center" prop="g6" />
|
||||
<el-table-column label="v13" align="center" prop="v13" />
|
||||
<el-table-column label="v14" align="center" prop="v14" />
|
||||
<el-table-column label="g7" align="center" prop="g7" />
|
||||
<el-table-column label="v15" align="center" prop="v15" />
|
||||
<el-table-column label="v41" align="center" prop="v41" />
|
||||
<el-table-column label="v42" align="center" prop="v42" />
|
||||
<el-table-column label="v43" align="center" prop="v43" />
|
||||
<el-table-column label="v44" align="center" prop="v44" />
|
||||
<el-table-column label="v45" align="center" prop="v45" />
|
||||
<el-table-column label="v46" align="center" prop="v46" />
|
||||
<el-table-column label="v47" align="center" prop="v47" />
|
||||
<el-table-column label="v48" align="center" prop="v48" />
|
||||
<el-table-column label="v49" align="center" prop="v49" />
|
||||
<el-table-column label="v50" align="center" prop="v50" />
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['system:spec60r:edit']"
|
||||
>修改</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['system:spec60r:remove']"
|
||||
>删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 添加或修改60R设备规格参数对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="行程变量" prop="travelLength">
|
||||
<el-input v-model="form.travelLength" placeholder="请输入行程变量" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v1" prop="v1">
|
||||
<el-input v-model="form.v1" placeholder="请输入v1" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v2" prop="v2">
|
||||
<el-input v-model="form.v2" placeholder="请输入v2" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v3" prop="v3">
|
||||
<el-input v-model="form.v3" placeholder="请输入v3" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v5" prop="v5">
|
||||
<el-input v-model="form.v5" placeholder="请输入v5" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v6" prop="v6">
|
||||
<el-input v-model="form.v6" placeholder="请输入v6" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v8" prop="v8">
|
||||
<el-input v-model="form.v8" placeholder="请输入v8" />
|
||||
</el-form-item>
|
||||
<el-form-item label="g1" prop="g1">
|
||||
<el-input v-model="form.g1" placeholder="请输入g1" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v9" prop="v9">
|
||||
<el-input v-model="form.v9" placeholder="请输入v9" />
|
||||
</el-form-item>
|
||||
<el-form-item label="g2" prop="g2">
|
||||
<el-input v-model="form.g2" placeholder="请输入g2" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v10" prop="v10">
|
||||
<el-input v-model="form.v10" placeholder="请输入v10" />
|
||||
</el-form-item>
|
||||
<el-form-item label="g5" prop="g5">
|
||||
<el-input v-model="form.g5" placeholder="请输入g5" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v11" prop="v11">
|
||||
<el-input v-model="form.v11" placeholder="请输入v11" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v12" prop="v12">
|
||||
<el-input v-model="form.v12" placeholder="请输入v12" />
|
||||
</el-form-item>
|
||||
<el-form-item label="g6" prop="g6">
|
||||
<el-input v-model="form.g6" placeholder="请输入g6" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v13" prop="v13">
|
||||
<el-input v-model="form.v13" placeholder="请输入v13" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v14" prop="v14">
|
||||
<el-input v-model="form.v14" placeholder="请输入v14" />
|
||||
</el-form-item>
|
||||
<el-form-item label="g7" prop="g7">
|
||||
<el-input v-model="form.g7" placeholder="请输入g7" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v15" prop="v15">
|
||||
<el-input v-model="form.v15" placeholder="请输入v15" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v41" prop="v41">
|
||||
<el-input v-model="form.v41" placeholder="请输入v41" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v42" prop="v42">
|
||||
<el-input v-model="form.v42" placeholder="请输入v42" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v43" prop="v43">
|
||||
<el-input v-model="form.v43" placeholder="请输入v43" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v44" prop="v44">
|
||||
<el-input v-model="form.v44" placeholder="请输入v44" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v45" prop="v45">
|
||||
<el-input v-model="form.v45" placeholder="请输入v45" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v46" prop="v46">
|
||||
<el-input v-model="form.v46" placeholder="请输入v46" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v47" prop="v47">
|
||||
<el-input v-model="form.v47" placeholder="请输入v47" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v48" prop="v48">
|
||||
<el-input v-model="form.v48" placeholder="请输入v48" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v49" prop="v49">
|
||||
<el-input v-model="form.v49" placeholder="请输入v49" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v50" prop="v50">
|
||||
<el-input v-model="form.v50" placeholder="请输入v50" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listSpec60r, getSpec60r, delSpec60r, addSpec60r, updateSpec60r } from "@/api/system/spec60r";
|
||||
|
||||
export default {
|
||||
name: "Spec60r",
|
||||
data() {
|
||||
return {
|
||||
// 按钮loading
|
||||
buttonLoading: false,
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 60R设备规格参数表格数据
|
||||
spec60rList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
travelLength: undefined,
|
||||
itemType: undefined,
|
||||
axialType: undefined,
|
||||
boxType: undefined,
|
||||
v1: undefined,
|
||||
v2: undefined,
|
||||
v3: undefined,
|
||||
v5: undefined,
|
||||
v6: undefined,
|
||||
v8: undefined,
|
||||
g1: undefined,
|
||||
v9: undefined,
|
||||
g2: undefined,
|
||||
v10: undefined,
|
||||
g5: undefined,
|
||||
v11: undefined,
|
||||
v12: undefined,
|
||||
g6: undefined,
|
||||
v13: undefined,
|
||||
v14: undefined,
|
||||
g7: undefined,
|
||||
v15: undefined,
|
||||
v41: undefined,
|
||||
v42: undefined,
|
||||
v43: undefined,
|
||||
v44: undefined,
|
||||
v45: undefined,
|
||||
v46: undefined,
|
||||
v47: undefined,
|
||||
v48: undefined,
|
||||
v49: undefined,
|
||||
v50: undefined,
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
id: [
|
||||
{ required: true, message: "id不能为空", trigger: "blur" }
|
||||
],
|
||||
travelLength: [
|
||||
{ required: true, message: "行程变量不能为空", trigger: "blur" }
|
||||
],
|
||||
itemType: [
|
||||
{ required: true, message: "类型不能为空", trigger: "change" }
|
||||
],
|
||||
axialType: [
|
||||
{ required: true, message: "轴向不能为空", trigger: "change" }
|
||||
],
|
||||
boxType: [
|
||||
{ required: true, message: "箱体不能为空", trigger: "change" }
|
||||
],
|
||||
v1: [
|
||||
{ required: true, message: "v1不能为空", trigger: "blur" }
|
||||
],
|
||||
v2: [
|
||||
{ required: true, message: "v2不能为空", trigger: "blur" }
|
||||
],
|
||||
v3: [
|
||||
{ required: true, message: "v3不能为空", trigger: "blur" }
|
||||
],
|
||||
v5: [
|
||||
{ required: true, message: "v5不能为空", trigger: "blur" }
|
||||
],
|
||||
v6: [
|
||||
{ required: true, message: "v6不能为空", trigger: "blur" }
|
||||
],
|
||||
v8: [
|
||||
{ required: true, message: "v8不能为空", trigger: "blur" }
|
||||
],
|
||||
g1: [
|
||||
{ required: true, message: "g1不能为空", trigger: "blur" }
|
||||
],
|
||||
v9: [
|
||||
{ required: true, message: "v9不能为空", trigger: "blur" }
|
||||
],
|
||||
g2: [
|
||||
{ required: true, message: "g2不能为空", trigger: "blur" }
|
||||
],
|
||||
v10: [
|
||||
{ required: true, message: "v10不能为空", trigger: "blur" }
|
||||
],
|
||||
g5: [
|
||||
{ required: true, message: "g5不能为空", trigger: "blur" }
|
||||
],
|
||||
v11: [
|
||||
{ required: true, message: "v11不能为空", trigger: "blur" }
|
||||
],
|
||||
v12: [
|
||||
{ required: true, message: "v12不能为空", trigger: "blur" }
|
||||
],
|
||||
g6: [
|
||||
{ required: true, message: "g6不能为空", trigger: "blur" }
|
||||
],
|
||||
v13: [
|
||||
{ required: true, message: "v13不能为空", trigger: "blur" }
|
||||
],
|
||||
v14: [
|
||||
{ required: true, message: "v14不能为空", trigger: "blur" }
|
||||
],
|
||||
g7: [
|
||||
{ required: true, message: "g7不能为空", trigger: "blur" }
|
||||
],
|
||||
v15: [
|
||||
{ required: true, message: "v15不能为空", trigger: "blur" }
|
||||
],
|
||||
v41: [
|
||||
{ required: true, message: "v41不能为空", trigger: "blur" }
|
||||
],
|
||||
v42: [
|
||||
{ required: true, message: "v42不能为空", trigger: "blur" }
|
||||
],
|
||||
v43: [
|
||||
{ required: true, message: "v43不能为空", trigger: "blur" }
|
||||
],
|
||||
v44: [
|
||||
{ required: true, message: "v44不能为空", trigger: "blur" }
|
||||
],
|
||||
v45: [
|
||||
{ required: true, message: "v45不能为空", trigger: "blur" }
|
||||
],
|
||||
v46: [
|
||||
{ required: true, message: "v46不能为空", trigger: "blur" }
|
||||
],
|
||||
v47: [
|
||||
{ required: true, message: "v47不能为空", trigger: "blur" }
|
||||
],
|
||||
v48: [
|
||||
{ required: true, message: "v48不能为空", trigger: "blur" }
|
||||
],
|
||||
v49: [
|
||||
{ required: true, message: "v49不能为空", trigger: "blur" }
|
||||
],
|
||||
v50: [
|
||||
{ required: true, message: "v50不能为空", trigger: "blur" }
|
||||
],
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询60R设备规格参数列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listSpec60r(this.queryParams).then(response => {
|
||||
this.spec60rList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
id: undefined,
|
||||
travelLength: undefined,
|
||||
itemType: undefined,
|
||||
axialType: undefined,
|
||||
boxType: undefined,
|
||||
v1: undefined,
|
||||
v2: undefined,
|
||||
v3: undefined,
|
||||
v5: undefined,
|
||||
v6: undefined,
|
||||
v8: undefined,
|
||||
g1: undefined,
|
||||
v9: undefined,
|
||||
g2: undefined,
|
||||
v10: undefined,
|
||||
g5: undefined,
|
||||
v11: undefined,
|
||||
v12: undefined,
|
||||
g6: undefined,
|
||||
v13: undefined,
|
||||
v14: undefined,
|
||||
g7: undefined,
|
||||
v15: undefined,
|
||||
v41: undefined,
|
||||
v42: undefined,
|
||||
v43: undefined,
|
||||
v44: undefined,
|
||||
v45: undefined,
|
||||
v46: undefined,
|
||||
v47: undefined,
|
||||
v48: undefined,
|
||||
v49: undefined,
|
||||
v50: undefined,
|
||||
createTime: undefined,
|
||||
updateTime: undefined,
|
||||
createBy: undefined,
|
||||
updateBy: undefined
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.id)
|
||||
this.single = selection.length!==1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset();
|
||||
this.open = true;
|
||||
this.title = "添加60R设备规格参数";
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.loading = true;
|
||||
this.reset();
|
||||
const id = row.id || this.ids
|
||||
getSpec60r(id).then(response => {
|
||||
this.loading = false;
|
||||
this.form = response.data;
|
||||
this.open = true;
|
||||
this.title = "修改60R设备规格参数";
|
||||
});
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
this.buttonLoading = true;
|
||||
if (this.form.id != null) {
|
||||
updateSpec60r(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
}).finally(() => {
|
||||
this.buttonLoading = false;
|
||||
});
|
||||
} else {
|
||||
addSpec60r(this.form).then(response => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
}).finally(() => {
|
||||
this.buttonLoading = false;
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const ids = row.id || this.ids;
|
||||
this.$modal.confirm('是否确认删除60R设备规格参数编号为"' + ids + '"的数据项?').then(() => {
|
||||
this.loading = true;
|
||||
return delSpec60r(ids);
|
||||
}).then(() => {
|
||||
this.loading = false;
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch(() => {
|
||||
}).finally(() => {
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download('system/spec60r/export', {
|
||||
...this.queryParams
|
||||
}, `spec60r_${new Date().getTime()}.xlsx`)
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
558
src/views/system/spec80r/index.vue
Normal file
558
src/views/system/spec80r/index.vue
Normal file
@ -0,0 +1,558 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="行程变量" prop="travelLength">
|
||||
<el-input
|
||||
v-model="queryParams.travelLength"
|
||||
placeholder="请输入行程变量"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="箱体" prop="boxType">
|
||||
<el-select
|
||||
v-model="queryParams.boxType"
|
||||
placeholder="请选择箱体层数"
|
||||
clearable
|
||||
@change="handleQuery"
|
||||
>
|
||||
<el-option label="S(单层)" value="S" />
|
||||
<el-option label="D(双层)" value="D" />
|
||||
<el-option label="T(三层)" value="T" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['system:spec80r:add']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['system:spec80r:edit']"
|
||||
>修改</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['system:spec80r:remove']"
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['system:spec80r:export']"
|
||||
>导出</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" border :data="spec80rList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="行程" align="center" prop="travelLength" />
|
||||
<el-table-column label="类型" align="center" prop="itemType" />
|
||||
<el-table-column label="箱体" align="center" prop="boxType" />
|
||||
<el-table-column label="v1" align="center" prop="v1" />
|
||||
<el-table-column label="v2" align="center" prop="v2" />
|
||||
<el-table-column label="v3" align="center" prop="v3" />
|
||||
<el-table-column label="v5" align="center" prop="v5" />
|
||||
<el-table-column label="v6" align="center" prop="v6" />
|
||||
<el-table-column label="v8" align="center" prop="v8" />
|
||||
<el-table-column label="g1" align="center" prop="g1" />
|
||||
<el-table-column label="v9" align="center" prop="v9" />
|
||||
<el-table-column label="g2" align="center" prop="g2" />
|
||||
<el-table-column label="v10" align="center" prop="v10" />
|
||||
<el-table-column label="g5" align="center" prop="g5" />
|
||||
<el-table-column label="v11" align="center" prop="v11" />
|
||||
<el-table-column label="v12" align="center" prop="v12" />
|
||||
<el-table-column label="g6" align="center" prop="g6" />
|
||||
<el-table-column label="v13" align="center" prop="v13" />
|
||||
<el-table-column label="v14" align="center" prop="v14" />
|
||||
<el-table-column label="g7" align="center" prop="g7" />
|
||||
<el-table-column label="v15" align="center" prop="v15" />
|
||||
<el-table-column label="v41" align="center" prop="v41" />
|
||||
<el-table-column label="v42" align="center" prop="v42" />
|
||||
<el-table-column label="v43" align="center" prop="v43" />
|
||||
<el-table-column label="v44" align="center" prop="v44" />
|
||||
<el-table-column label="v45" align="center" prop="v45" />
|
||||
<el-table-column label="v46" align="center" prop="v46" />
|
||||
<el-table-column label="v47" align="center" prop="v47" />
|
||||
<el-table-column label="v48" align="center" prop="v48" />
|
||||
<el-table-column label="v49" align="center" prop="v49" />
|
||||
<el-table-column label="v50" align="center" prop="v50" />
|
||||
<el-table-column label="v51" align="center" prop="v51" />
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['system:spec80r:edit']"
|
||||
>修改</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['system:spec80r:remove']"
|
||||
>删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 添加或修改80R设备规格参数对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="行程变量" prop="travelLength">
|
||||
<el-input v-model="form.travelLength" placeholder="请输入行程变量" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v1" prop="v1">
|
||||
<el-input v-model="form.v1" placeholder="请输入v1" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v2" prop="v2">
|
||||
<el-input v-model="form.v2" placeholder="请输入v2" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v3" prop="v3">
|
||||
<el-input v-model="form.v3" placeholder="请输入v3" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v5" prop="v5">
|
||||
<el-input v-model="form.v5" placeholder="请输入v5" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v6" prop="v6">
|
||||
<el-input v-model="form.v6" placeholder="请输入v6" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v8" prop="v8">
|
||||
<el-input v-model="form.v8" placeholder="请输入v8" />
|
||||
</el-form-item>
|
||||
<el-form-item label="g1" prop="g1">
|
||||
<el-input v-model="form.g1" placeholder="请输入g1" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v9" prop="v9">
|
||||
<el-input v-model="form.v9" placeholder="请输入v9" />
|
||||
</el-form-item>
|
||||
<el-form-item label="g2" prop="g2">
|
||||
<el-input v-model="form.g2" placeholder="请输入g2" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v10" prop="v10">
|
||||
<el-input v-model="form.v10" placeholder="请输入v10" />
|
||||
</el-form-item>
|
||||
<el-form-item label="g5" prop="g5">
|
||||
<el-input v-model="form.g5" placeholder="请输入g5" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v11" prop="v11">
|
||||
<el-input v-model="form.v11" placeholder="请输入v11" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v12" prop="v12">
|
||||
<el-input v-model="form.v12" placeholder="请输入v12" />
|
||||
</el-form-item>
|
||||
<el-form-item label="g6" prop="g6">
|
||||
<el-input v-model="form.g6" placeholder="请输入g6" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v13" prop="v13">
|
||||
<el-input v-model="form.v13" placeholder="请输入v13" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v14" prop="v14">
|
||||
<el-input v-model="form.v14" placeholder="请输入v14" />
|
||||
</el-form-item>
|
||||
<el-form-item label="g7" prop="g7">
|
||||
<el-input v-model="form.g7" placeholder="请输入g7" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v15" prop="v15">
|
||||
<el-input v-model="form.v15" placeholder="请输入v15" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v41" prop="v41">
|
||||
<el-input v-model="form.v41" placeholder="请输入v41" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v42" prop="v42">
|
||||
<el-input v-model="form.v42" placeholder="请输入v42" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v43" prop="v43">
|
||||
<el-input v-model="form.v43" placeholder="请输入v43" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v44" prop="v44">
|
||||
<el-input v-model="form.v44" placeholder="请输入v44" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v45" prop="v45">
|
||||
<el-input v-model="form.v45" placeholder="请输入v45" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v46" prop="v46">
|
||||
<el-input v-model="form.v46" placeholder="请输入v46" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v47" prop="v47">
|
||||
<el-input v-model="form.v47" placeholder="请输入v47" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v48" prop="v48">
|
||||
<el-input v-model="form.v48" placeholder="请输入v48" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v49" prop="v49">
|
||||
<el-input v-model="form.v49" placeholder="请输入v49" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v50" prop="v50">
|
||||
<el-input v-model="form.v50" placeholder="请输入v50" />
|
||||
</el-form-item>
|
||||
<el-form-item label="v51" prop="v51">
|
||||
<el-input v-model="form.v51" placeholder="请输入v51" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listSpec80r, getSpec80r, delSpec80r, addSpec80r, updateSpec80r } from "@/api/system/spec80r";
|
||||
|
||||
export default {
|
||||
name: "Spec80r",
|
||||
data() {
|
||||
return {
|
||||
// 按钮loading
|
||||
buttonLoading: false,
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 80R设备规格参数表格数据
|
||||
spec80rList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
travelLength: undefined,
|
||||
itemType: undefined,
|
||||
axialType: undefined,
|
||||
boxType: undefined,
|
||||
v1: undefined,
|
||||
v2: undefined,
|
||||
v3: undefined,
|
||||
v5: undefined,
|
||||
v6: undefined,
|
||||
v8: undefined,
|
||||
g1: undefined,
|
||||
v9: undefined,
|
||||
g2: undefined,
|
||||
v10: undefined,
|
||||
g5: undefined,
|
||||
v11: undefined,
|
||||
v12: undefined,
|
||||
g6: undefined,
|
||||
v13: undefined,
|
||||
v14: undefined,
|
||||
g7: undefined,
|
||||
v15: undefined,
|
||||
v41: undefined,
|
||||
v42: undefined,
|
||||
v43: undefined,
|
||||
v44: undefined,
|
||||
v45: undefined,
|
||||
v46: undefined,
|
||||
v47: undefined,
|
||||
v48: undefined,
|
||||
v49: undefined,
|
||||
v50: undefined,
|
||||
v51: undefined,
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
id: [
|
||||
{ required: true, message: "id不能为空", trigger: "blur" }
|
||||
],
|
||||
travelLength: [
|
||||
{ required: true, message: "行程变量不能为空", trigger: "blur" }
|
||||
],
|
||||
itemType: [
|
||||
{ required: true, message: "类型不能为空", trigger: "change" }
|
||||
],
|
||||
axialType: [
|
||||
{ required: true, message: "轴向不能为空", trigger: "change" }
|
||||
],
|
||||
boxType: [
|
||||
{ required: true, message: "箱体不能为空", trigger: "change" }
|
||||
],
|
||||
v1: [
|
||||
{ required: true, message: "v1不能为空", trigger: "blur" }
|
||||
],
|
||||
v2: [
|
||||
{ required: true, message: "v2不能为空", trigger: "blur" }
|
||||
],
|
||||
v3: [
|
||||
{ required: true, message: "v3不能为空", trigger: "blur" }
|
||||
],
|
||||
v5: [
|
||||
{ required: true, message: "v5不能为空", trigger: "blur" }
|
||||
],
|
||||
v6: [
|
||||
{ required: true, message: "v6不能为空", trigger: "blur" }
|
||||
],
|
||||
v8: [
|
||||
{ required: true, message: "v8不能为空", trigger: "blur" }
|
||||
],
|
||||
g1: [
|
||||
{ required: true, message: "g1不能为空", trigger: "blur" }
|
||||
],
|
||||
v9: [
|
||||
{ required: true, message: "v9不能为空", trigger: "blur" }
|
||||
],
|
||||
g2: [
|
||||
{ required: true, message: "g2不能为空", trigger: "blur" }
|
||||
],
|
||||
v10: [
|
||||
{ required: true, message: "v10不能为空", trigger: "blur" }
|
||||
],
|
||||
g5: [
|
||||
{ required: true, message: "g5不能为空", trigger: "blur" }
|
||||
],
|
||||
v11: [
|
||||
{ required: true, message: "v11不能为空", trigger: "blur" }
|
||||
],
|
||||
v12: [
|
||||
{ required: true, message: "v12不能为空", trigger: "blur" }
|
||||
],
|
||||
g6: [
|
||||
{ required: true, message: "g6不能为空", trigger: "blur" }
|
||||
],
|
||||
v13: [
|
||||
{ required: true, message: "v13不能为空", trigger: "blur" }
|
||||
],
|
||||
v14: [
|
||||
{ required: true, message: "v14不能为空", trigger: "blur" }
|
||||
],
|
||||
g7: [
|
||||
{ required: true, message: "g7不能为空", trigger: "blur" }
|
||||
],
|
||||
v15: [
|
||||
{ required: true, message: "v15不能为空", trigger: "blur" }
|
||||
],
|
||||
v41: [
|
||||
{ required: true, message: "v41不能为空", trigger: "blur" }
|
||||
],
|
||||
v42: [
|
||||
{ required: true, message: "v42不能为空", trigger: "blur" }
|
||||
],
|
||||
v43: [
|
||||
{ required: true, message: "v43不能为空", trigger: "blur" }
|
||||
],
|
||||
v44: [
|
||||
{ required: true, message: "v44不能为空", trigger: "blur" }
|
||||
],
|
||||
v45: [
|
||||
{ required: true, message: "v45不能为空", trigger: "blur" }
|
||||
],
|
||||
v46: [
|
||||
{ required: true, message: "v46不能为空", trigger: "blur" }
|
||||
],
|
||||
v47: [
|
||||
{ required: true, message: "v47不能为空", trigger: "blur" }
|
||||
],
|
||||
v48: [
|
||||
{ required: true, message: "v48不能为空", trigger: "blur" }
|
||||
],
|
||||
v49: [
|
||||
{ required: true, message: "v49不能为空", trigger: "blur" }
|
||||
],
|
||||
v50: [
|
||||
{ required: true, message: "v50不能为空", trigger: "blur" }
|
||||
],
|
||||
v51: [
|
||||
{ required: true, message: "v51不能为空", trigger: "blur" }
|
||||
],
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询80R设备规格参数列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listSpec80r(this.queryParams).then(response => {
|
||||
this.spec80rList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
id: undefined,
|
||||
travelLength: undefined,
|
||||
itemType: undefined,
|
||||
axialType: undefined,
|
||||
boxType: undefined,
|
||||
v1: undefined,
|
||||
v2: undefined,
|
||||
v3: undefined,
|
||||
v5: undefined,
|
||||
v6: undefined,
|
||||
v8: undefined,
|
||||
g1: undefined,
|
||||
v9: undefined,
|
||||
g2: undefined,
|
||||
v10: undefined,
|
||||
g5: undefined,
|
||||
v11: undefined,
|
||||
v12: undefined,
|
||||
g6: undefined,
|
||||
v13: undefined,
|
||||
v14: undefined,
|
||||
g7: undefined,
|
||||
v15: undefined,
|
||||
v41: undefined,
|
||||
v42: undefined,
|
||||
v43: undefined,
|
||||
v44: undefined,
|
||||
v45: undefined,
|
||||
v46: undefined,
|
||||
v47: undefined,
|
||||
v48: undefined,
|
||||
v49: undefined,
|
||||
v50: undefined,
|
||||
v51: undefined,
|
||||
createTime: undefined,
|
||||
updateTime: undefined,
|
||||
createBy: undefined,
|
||||
updateBy: undefined
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.id)
|
||||
this.single = selection.length!==1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset();
|
||||
this.open = true;
|
||||
this.title = "添加80R设备规格参数";
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.loading = true;
|
||||
this.reset();
|
||||
const id = row.id || this.ids
|
||||
getSpec80r(id).then(response => {
|
||||
this.loading = false;
|
||||
this.form = response.data;
|
||||
this.open = true;
|
||||
this.title = "修改80R设备规格参数";
|
||||
});
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
this.buttonLoading = true;
|
||||
if (this.form.id != null) {
|
||||
updateSpec80r(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
}).finally(() => {
|
||||
this.buttonLoading = false;
|
||||
});
|
||||
} else {
|
||||
addSpec80r(this.form).then(response => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
}).finally(() => {
|
||||
this.buttonLoading = false;
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const ids = row.id || this.ids;
|
||||
this.$modal.confirm('是否确认删除80R设备规格参数编号为"' + ids + '"的数据项?').then(() => {
|
||||
this.loading = true;
|
||||
return delSpec80r(ids);
|
||||
}).then(() => {
|
||||
this.loading = false;
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch(() => {
|
||||
}).finally(() => {
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download('system/spec80r/export', {
|
||||
...this.queryParams
|
||||
}, `spec80r_${new Date().getTime()}.xlsx`)
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
Loading…
Reference in New Issue
Block a user