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... }, }; }