import TableOperaionComponent from "@/components/noTemplateComponents/operationComponent"; import request from "@/utils/request"; import { timeFilter, dictFilter } from "@/utils/filters"; import { getDictDataList } from "@/utils"; // import StateSelect from '@/components/StateSelect.vue'; export default function () { const tableProps = [ { type: "index", label: "序号" }, { type: "selection" }, { prop: "code", label: "流水号" }, { prop: "carCode", label: "窑车号" }, { prop: "orderCode", label: "订单号" }, { prop: "realQty", label: "数量" }, { prop: "typeDictValue", label: "类型", filter: dictFilter("pallet_type") }, { prop: "stifling", label: "熏蒸", filter: (val) => (val != null ? ["非熏蒸", "熏蒸"][val] : "-") }, { prop: "externalCode", label: "提库单" }, { prop: "printTime", label: "打印时间", filter: timeFilter }, { prop: "createTime", label: "添加时间", filter: timeFilter }, { prop: "operations", name: "操作", fixed: "right", width: 90, subcomponent: TableOperaionComponent, options: [ { name: "print", label: "打印", icon: "printer" }, { name: "view-car-record", label: "窑车记录", emitField: "hisId", icon: "shopping-cart-1" }, ], }, ]; const headFormFields = [ { prop: "carId", label: "窑车号", select: [], fn: () => this.$http.get("/pms/car/page", { params: { page: 1, limit: 999 } }), bind: { placeholder: "请选择窑车号", filterable: true, }, }, { prop: "orderId", label: "订单号", fieldOptionLabel: "code", // fieldOptionValue: 'id', select: [], fn: () => this.$http.post("/pms/order/pageView", { page: 1, limit: 999 }), bind: { placeholder: "请选择订单号", filterable: true, }, }, { button: { type: "primary", name: "查询", }, }, { button: { type: "primary", name: "打印", }, bind: { plain: true, }, }, { button: { type: "warning", name: "生成托盘", }, bind: { plain: true, }, }, ]; const dialogJustFormConfigs = { form: { rows: [ [ { select: true, label: "窑车号", prop: "carId", options: [], fetchData: () => this.$http.get("/pms/car/page", { params: { page: 1, limit: 999 } }), rules: { required: true, message: "必填项不能为空", trigger: "blur" }, elparams: { disabled: true, }, }, { select: true, label: "状态", prop: "stateDictValue", options: getDictDataList("car_state").map((i) => ({ label: i.dictLabel, value: i.dictValue })), rules: { required: true, message: "必填项不能为空", trigger: "blur" }, elparams: { fliterable: true, }, }, ], [ { // select: true, input: true, label: "位置", prop: "pos", // options: getDictDataList(), rules: { required: true, message: "必填项不能为空", trigger: "blur" }, elparams: { // fliterable: true }, }, { label: "查看载砖详情", button: true, onClick: function (id) { // 必须用 function 形式 //console.log(`查看载砖详情`, id); this.$emit("emit-data", { type: "to-car-payload", data: id }); }, }, ], ], operations: [ // { name: "add", label: "保存", type: "primary", permission: "", showOnEdit: false }, // { name: "update", label: "更新", type: "primary", permission: "", showOnEdit: true }, // { name: "reset", label: "重置", type: "warning", showAlways: true }, ], }, }; const carPayloadDialogConfigs = { dialogWidth: "70%", carPayloadDialog: true, clickModalToClose: false, 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 { carPayloadDialogConfigs, dialogConfigs: dialogJustFormConfigs, tableConfig: { table: null, // 此处可省略,el-table 上的配置项 column: tableProps, // el-column-item 上的配置项 selectProps: ['id', 'orderCode'] }, headFormConfigs: { rules: null, // 名称是由 BaseSearchForm.vue 组件固定的 fields: headFormFields, // 名称是由 BaseSearchForm.vue 组件固定的 }, urls: { base: "/pms/carHistory", payload: "/pms/carHandle", // hisId 查询 载砖详情 page: "/pms/pallet/pageView", pageIsPostApi: true, printLog: "/pms/pallet/print", // post }, }; }