252 lines
8.5 KiB
JavaScript
252 lines
8.5 KiB
JavaScript
import TableOperaionComponent from "@/components/noTemplateComponents/operationComponent";
|
||
import TableTextComponent from "@/components/noTemplateComponents/detailComponent";
|
||
// import StatusComponent from "@/components/noTemplateComponents/statusComponent";
|
||
import { timeFilter } from "@/utils/filters";
|
||
import { getDictDataList } from "@/utils";
|
||
|
||
|
||
export default function () {
|
||
const tableProps = [
|
||
{ type: "index", label: "序号" },
|
||
{ width: 160, prop: "createTime", label: "添加时间", filter: timeFilter },
|
||
{ prop: "carCode", label: "窑车号" },
|
||
{ prop: "orderCode", label: "订单号" },
|
||
{ prop: "orderCate", label: "子号" },
|
||
{ prop: "scrap", label: "是否报废" },
|
||
{ prop: "qty", label: "抽检数量" },
|
||
{ prop: "badqty", label: "不合格数量" },
|
||
{ prop: 'description', label: '查看详情', subcomponent: TableTextComponent },
|
||
{ width: 160, prop: "checkTime", label: "检测时间", filter: timeFilter },
|
||
{
|
||
prop: "operations",
|
||
name: "操作",
|
||
fixed: "right",
|
||
width: 90,
|
||
subcomponent: TableOperaionComponent,
|
||
options: [
|
||
{ name: "edit", label: "编辑", icon: "edit-outline", },
|
||
{ name: 'delete', label: '删除', icon: 'delete' },
|
||
|
||
// 只有 injectRow.task 为手动时,才允许编辑
|
||
// { name:"edit", label: "编辑", icon: "edit-outline", enable: injectRow => { return 'task' in injectRow && injectRow.task === 'Manual' } },
|
||
// { name: 'delete', icon: 'delete', enable: injectRow => { return 'task' in injectRow && injectRow.task === 'Manual' } },
|
||
// 只有 injectRow.status 为 waiting 时,才允许编辑
|
||
// { name: "edit", label: "编辑", icon: "edit-outline", enable: injectRow => { return 'status' in injectRow && injectRow.status === 'Waiting' } },
|
||
// { name: 'delete', icon: 'delete', emitFull: true, promptField: 'batchNo', enable: injectRow => { return 'status' in injectRow && injectRow.status === 'Waiting' } },
|
||
]
|
||
},
|
||
];
|
||
|
||
const headFormFields = [
|
||
{
|
||
prop: "orderId",
|
||
label: "订单号",
|
||
fieldOptionLabel: 'code',
|
||
// fieldOptionValue: 'id',
|
||
select: [],
|
||
fn: () => this.$http.post("/pms/order/pageView", { page: 1, limit: 999 }),
|
||
bind: {
|
||
placeholder: "请选择订单号",
|
||
filterable: true
|
||
},
|
||
},
|
||
{
|
||
prop: "carId",
|
||
label: "窑车号",
|
||
select: [],
|
||
fn: () => this.$http.get("/pms/car/page", { params: { page: 1, limit: 999 } }),
|
||
bind: {
|
||
placeholder: "请选择窑车号",
|
||
filterable: true
|
||
},
|
||
},
|
||
{
|
||
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 = {
|
||
// extra blenderOrderId
|
||
// extraIds: {},
|
||
form: {
|
||
rows: [
|
||
[
|
||
{
|
||
select: true,
|
||
label: "窑车号",
|
||
prop: "carId",
|
||
options: [],
|
||
optionLabel: 'code',
|
||
optionValue: 'carId',
|
||
fetchData: () => this.$http.post("/pms/carHandle/pageView", { page: 1, limit: 999 }),
|
||
rules: { required: true, message: "必填项不能为空", trigger: "blur" },
|
||
elparams: { placeholder: "请输入批次编码", filterable: true },
|
||
injectTo: [
|
||
['posCode', 'posCode'], // TODO
|
||
['carState', 'stateDictValue']
|
||
]
|
||
},
|
||
{
|
||
// select: true,
|
||
forceDisabled: true,
|
||
label: "当前位置",
|
||
// options: getDictDataList(),
|
||
prop: "posCode",
|
||
},
|
||
{
|
||
forceDisabledSelect: true,
|
||
// select: true,
|
||
label: "当前状态",
|
||
prop: "carState",
|
||
options: [
|
||
{ label: '没有数据', value: '0' },
|
||
{ label: '正常窑车', value: '1' },
|
||
{ label: '判废窑车', value: '2' },
|
||
{ label: '摆渡车', value: '3' },
|
||
{ label: '空窑车', value: '4' },
|
||
],
|
||
},
|
||
{
|
||
select: true,
|
||
label: "整车报废",
|
||
prop: "scrap",
|
||
options: [
|
||
{ label: '是', value: 'yes' },
|
||
{ label: '否', value: 'no', default: true },
|
||
],
|
||
// rules: { required: true, message: "必选项不能为空", trigger: "blur" },
|
||
elparams: { placeholder: "请选择报废状态" },
|
||
},
|
||
],
|
||
[
|
||
{
|
||
select: true,
|
||
label: "订单号",
|
||
prop: "orderId",
|
||
options: [],
|
||
optionLabel: 'orderCode',
|
||
toggleFetchData: 'carId', // 当 carId 改变的时候,也会 fetchData
|
||
fetchData: (carId) => this.$http.post("/pms/carHandle/getCurrent", { id: carId ?? null, page: 1, limit: 999 }),
|
||
rules: { required: true, message: "必选项不能为空", trigger: "blur" },
|
||
elparams: { placeholder: "请选择订单" },
|
||
injectTo: [
|
||
['orderCate', 'orderCate'], // TODO
|
||
['shapeCode', 'shapeCode'],
|
||
['orderQty', 'qty'],
|
||
]
|
||
},
|
||
{
|
||
forceDisabled: true,
|
||
label: "子号",
|
||
prop: "orderCate",
|
||
elparams: { placeholder: "无" },
|
||
},
|
||
{
|
||
forceDisabled: true,
|
||
label: "砖型",
|
||
prop: "shapeCode",
|
||
elparams: { placeholder: "无" },
|
||
},
|
||
{
|
||
forceDisabled: true,
|
||
label: "订单砖数",
|
||
prop: "orderQty",
|
||
elparams: { placeholder: "无" },
|
||
},
|
||
],
|
||
[
|
||
{
|
||
input: true,
|
||
label: "抽检数量",
|
||
prop: "orderQty",
|
||
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: '请输入正确的数字类型', trigger: 'blur', transform: val => Number(val) }
|
||
// ],
|
||
elparams: { placeholder: "请输入不合格量" },
|
||
},
|
||
{
|
||
input: true,
|
||
label: "检测人",
|
||
prop: "checkPerson",
|
||
// rules: { required: true, message: "必填项不能为空", trigger: "blur" },
|
||
elparams: { placeholder: "请输入检测人" },
|
||
},
|
||
{
|
||
datetime: true,
|
||
label: "检测时间",
|
||
prop: "checkTime",
|
||
rules: { required: true, message: "必填项不能为空", trigger: "blur" },
|
||
elparams: { placeholder: "请选择检测时间", type: 'datetime' },
|
||
},
|
||
],
|
||
[
|
||
{
|
||
textarea: true,
|
||
label: "描述",
|
||
prop: "explainText",
|
||
elparams: { placeholder: "请输入描述" },
|
||
}
|
||
]
|
||
],
|
||
operations: [
|
||
{ name: "add", label: "保存", type: "primary", permission: "", showOnEdit: false },
|
||
{ name: "update", label: "更新", type: "primary", permission: "", showOnEdit: true },
|
||
{ name: "reset", label: "重置", type: "warning", showAlways: true },
|
||
],
|
||
},
|
||
};
|
||
|
||
return {
|
||
dialogConfigs: dialogJustFormConfigs,
|
||
tableConfig: {
|
||
table: null, // 此处可省略,el-table 上的配置项
|
||
column: tableProps, // el-column-item 上的配置项
|
||
},
|
||
headFormConfigs: {
|
||
rules: null, // 名称是由 BaseSearchForm.vue 组件固定的
|
||
fields: headFormFields, // 名称是由 BaseSearchForm.vue 组件固定的
|
||
},
|
||
urls: {
|
||
base: "/pms/qualityInspectionRecord",
|
||
page: "/pms/qualityInspectionRecord/pageView",
|
||
pageIsPostApi: true,
|
||
// subase: "/pms/equipmentTechParam",
|
||
},
|
||
};
|
||
}
|