260 lines
9.2 KiB
JavaScript
260 lines
9.2 KiB
JavaScript
import TableOperaionComponent from "@/components/noTemplateComponents/operationComponent";
|
||
import StateSelect from '@/components/StateSelect.vue';
|
||
import request from "@/utils/request";
|
||
import { timeFilter } from '@/utils/filters'
|
||
import { getDictDataList } from '@/utils'
|
||
|
||
export default function () {
|
||
const tableProps = [
|
||
{ type: 'index', label: '序号' },
|
||
// { prop: "createTime", label: "添加时间", filter: timeFilter },
|
||
{ prop: "code", label: "窑车号" },
|
||
{ prop: "stateDictValue", label: "状态", subcomponent: StateSelect },
|
||
// { prop: "stateDictValue", label: "状态", filter: v => (v !== null && v !== undefined) ? ['没有数据', '正常', '判废', '过渡'][v] : '-' }, // subcomponent
|
||
{ prop: "orderCode", label: "订单号" },
|
||
{ prop: "posCode", label: "位置" },
|
||
{ prop: "startTime", label: "开始时间", filter: timeFilter },
|
||
{ prop: "endTime", label: "结束时间", filter: timeFilter },
|
||
{
|
||
prop: "operations",
|
||
name: "操作",
|
||
fixed: "right",
|
||
width: 90,
|
||
subcomponent: TableOperaionComponent,
|
||
options: [
|
||
{ name: "to-car-payload", label: "装载详情", icon: 'document' },
|
||
{ name: "delete", label: "删除", icon: 'delete', emitFull: true, promptField: 'code' }
|
||
// { name: "edit-payload", label: "输入载砖详情", icon: 'edit' },
|
||
],
|
||
},
|
||
];
|
||
|
||
const headFormFields = [
|
||
// {
|
||
// prop: 'code',
|
||
// label: "窑车号",
|
||
// input: true,
|
||
// default: { value: "" },
|
||
// bind: {
|
||
// placeholder: '请输入窑车号'
|
||
// }
|
||
// },
|
||
{
|
||
timerange: true,
|
||
prop: "timerange",
|
||
label: "时间段",
|
||
bind: {
|
||
placeholder: "选择日期时间",
|
||
type: "datetimerange",
|
||
"start-placeholder": "开始时间",
|
||
"end-placeholder": "结束时间",
|
||
},
|
||
},
|
||
{
|
||
button: {
|
||
type: "primary",
|
||
name: "查询",
|
||
},
|
||
},
|
||
{
|
||
button: {
|
||
type: "primary",
|
||
name: "手动添加",
|
||
permission: ""
|
||
},
|
||
bind: {
|
||
plain: true,
|
||
}
|
||
},
|
||
];
|
||
|
||
const dialogJustFormConfigs = {
|
||
clickModalToClose: true,
|
||
form: {
|
||
rows: [
|
||
[
|
||
{
|
||
select: true,
|
||
prop: "carId",
|
||
label: "窑车号",
|
||
options: [],
|
||
fetchData: () => this.$http.get('/pms/car/page', { params: { limit: 999, page: 1, code: '' } }),
|
||
optionLabel: 'code',
|
||
rules: { required: true, message: "必填项不能为空", trigger: "blur" },
|
||
elparams: { filterable: true, placeholder: "请选择窑车" },
|
||
},
|
||
{
|
||
select: true,
|
||
label: "位置",
|
||
prop: "pos",
|
||
options: [],
|
||
fetchData: () => this.$http.post('/pms/carHandle/listPos', { limit: 999, page: 1, pos: [5, 6] }),
|
||
rules: { required: true, message: "必填项不能为空", trigger: "blur" },
|
||
elparams: { placeholder: "请选择窑车位置" },
|
||
},
|
||
],
|
||
[
|
||
{
|
||
datetime: true,
|
||
label: "开始时间",
|
||
prop: "startTime",
|
||
rules: { required: true, message: "必填项不能为空", trigger: "blur" },
|
||
elparams: { placeholder: "请选择开始时间", type: 'datetime' },
|
||
},
|
||
{
|
||
datetime: true,
|
||
label: "结束时间",
|
||
prop: "endTime",
|
||
default: null,
|
||
// rules: { required: true, message: "必填项不能为空", trigger: "blur" },
|
||
elparams: { placeholder: "请选择结束时间", type: 'datetime' },
|
||
},
|
||
],
|
||
[
|
||
{
|
||
select: true,
|
||
label: "窑车状态",
|
||
prop: "stateDictValue",
|
||
options: getDictDataList('car_state').map(_ => ({ label: _.dictLabel, value: _.dictValue })),
|
||
rules: { required: true, message: "必填项不能为空", trigger: "blur" },
|
||
elparams: { placeholder: "请选择窑车状态" },
|
||
},
|
||
{}
|
||
],
|
||
],
|
||
operations: [
|
||
{ name: "add-pos-manually", label: "保存", type: "primary", permission: "", showOnEdit: false },
|
||
// { name: "update", label: "更新", type: "primary", permission: "", showOnEdit: true },
|
||
// { name: "reset", label: "重置", type: "warning", showAlways: true },
|
||
// { name: 'cancel', label: '取消', showAlways: true },
|
||
],
|
||
},
|
||
};
|
||
|
||
const carPayloadAddConfigs = {
|
||
clickModalToClose: true,
|
||
form: {
|
||
rows: [
|
||
[
|
||
{
|
||
select: true,
|
||
prop: "orderId",
|
||
label: "订单号",
|
||
options: [],
|
||
fetchData: () => this.$http.post('/pms/order/pageCom', { limit: 999, page: 1, code: '', type: 1 }),
|
||
rules: { required: true, message: "必填项不能为空", trigger: "blur" },
|
||
elparams: { filterable: true, placeholder: "请选择订单" },
|
||
},
|
||
// {
|
||
// input: true,
|
||
// label: "窑车载量",
|
||
// prop: "qty",
|
||
// rules: [
|
||
// { required: true, message: "必填项不能为空", trigger: "blur" },
|
||
// { type: 'number', message: "请输入大于0的整数", trigger: "blur", transform: val => Number(val) > 0 && Number.isInteger(Number(val)) && Number(val) },
|
||
// ],
|
||
// elparams: { placeholder: "请输入窑车载量" },
|
||
// },
|
||
],
|
||
[
|
||
{
|
||
input: true,
|
||
label: "合格砖数",
|
||
prop: "goodqty",
|
||
rules: [
|
||
{ required: true, message: "必填项不能为空", trigger: "blur" },
|
||
{ type: 'number', message: "请输入大于0的整数", trigger: "blur", transform: val => Number(val) > 0 && Number.isInteger(Number(val)) && Number(val) },
|
||
],
|
||
// rules: [
|
||
// { required: true, message: "必填项不能为空", trigger: "blur" },
|
||
// { type: 'number', message: "请输入正确的数字类型", trigger: "blur", transform: val => Number(val) },
|
||
// ],
|
||
elparams: { placeholder: "请输入合格砖数" },
|
||
},
|
||
],
|
||
[
|
||
{
|
||
input: true,
|
||
label: "废砖数",
|
||
prop: "badqty",
|
||
rules: [
|
||
{ required: true, message: "必填项不能为空", trigger: "blur" },
|
||
{ type: 'number', message: "请输入大于0的整数", trigger: "blur", transform: val => Number(val) > 0 && Number.isInteger(Number(val)) && Number(val) },
|
||
],
|
||
// rules: [
|
||
// { required: true, message: "必填项不能为空", trigger: "blur" },
|
||
// { type: 'number', message: "请输入正确的数字类型", trigger: "blur", transform: val => Number(val) },
|
||
// ],
|
||
elparams: { placeholder: "请输入废砖数" },
|
||
},
|
||
],
|
||
// [
|
||
// {
|
||
// input: true,
|
||
// label: "备注",
|
||
// prop: "remark",
|
||
// elparams: { placeholder: "请输入备注" },
|
||
// }
|
||
// ],
|
||
],
|
||
operations: [
|
||
{ name: "add-car-payload", label: "保存", type: "primary", permission: "", showOnEdit: false },
|
||
// { name: "update", label: "更新", type: "primary", permission: "", showOnEdit: true },
|
||
// { name: "reset", label: "重置", type: "warning", showAlways: true },
|
||
// { name: 'cancel', label: '取消', showAlways: true },
|
||
],
|
||
},
|
||
};
|
||
|
||
const carPayloadDialogConfigs = {
|
||
showAdd: true, // 是否显示新增 装载详情,默认为 否
|
||
dialogWidth: '70%',
|
||
carPayloadDialog: true,
|
||
clickModalToClose: true,
|
||
tableConfig: {
|
||
table: null,
|
||
column: [
|
||
// 窑车的 装载详情
|
||
// tableProps
|
||
{ width: 56, type: "index", label: "序号" },
|
||
{ prop: "orderCode", label: "订单号" },
|
||
{ width: 80, prop: "orderCate", label: "订单子号" },
|
||
{ prop: "bomCode", label: "配方" },
|
||
{ prop: "shapeCode", label: "砖型" },
|
||
{ width: 80, prop: "qty", label: "订单数量" },
|
||
{ width: 72, prop: "goodqty", label: "合格数" },
|
||
{ width: 72, prop: "badqty", label: "废砖数" },
|
||
// { prop: "startTime", label: "开始时间" },
|
||
// { prop: "endTime", label: "结束时间" },
|
||
// { prop: "remark", label: "备注" },
|
||
],
|
||
},
|
||
};
|
||
|
||
|
||
|
||
return {
|
||
carPayloadAddConfigs,
|
||
carPayloadDialogConfigs,
|
||
dialogConfigs: dialogJustFormConfigs,
|
||
tableConfig: {
|
||
table: null, // 此处可省略,el-table 上的配置项
|
||
column: tableProps, // el-column-item 上的配置项
|
||
},
|
||
headFormConfigs: {
|
||
rules: null, // 名称是由 BaseSearchForm.vue 组件固定的
|
||
fields: headFormFields, // 名称是由 BaseSearchForm.vue 组件固定的
|
||
},
|
||
urls: {
|
||
base: "/pms/carHandle",
|
||
page: "/pms/carHandle/pageHis",
|
||
pageIsPostApi: true,
|
||
posFormUrl: "/pms/trans/inputCurrent",
|
||
payloadFormUrl: '/pms/trans/inputDetail', // 载砖详情 url
|
||
// subase: '/pms/blenderStepParam',
|
||
// subpage: '/pms/blenderStepParam/page',
|
||
// more...
|
||
},
|
||
};
|
||
}
|