185 lines
5.5 KiB
JavaScript
185 lines
5.5 KiB
JavaScript
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
|
||
},
|
||
};
|
||
}
|