master
吴普建 10 months ago
parent e896a44089
commit f551d5ef00

@ -23,6 +23,7 @@ declare namespace planWorkOrder {
specification: string | null; // 产品规格
measureId: number | null;
measureName: string | null;
attr3: string | null;
onlyReadWeight: string | number | null; // 只读数量
residueWeight: string | number | null; // 剩余数量
productId: string | null;
@ -44,6 +45,7 @@ declare namespace planWorkOrder {
endDate?: string | null; // 交付时间
status: string | null; // 状态
taskStatus?: string | null; // 状态
workgroupId?: string | null; // 状态
productSpecification: string | null; // 规格
wiredrawingSchedulingWeight: number | null; // 拉丝排产数量
enamellingSchedulingWeight: number | null; // 漆包排产数量

@ -111,16 +111,39 @@
</n-form>
</template>
</my-dialog>
<my-dialog
v-model:show="detail"
sub-text="关闭"
width="800px"
title="工单明细"
:show-cancel="false"
@cancel="closeDetail"
@submit="closeDetail"
>
<template #content>
<div>
<n-data-table
class="w-760px"
:loading="detailLoading"
:columns="columns2"
:data="rowsData2"
></n-data-table>
</div>
</template>
</my-dialog>
</div>
</template>
<script setup lang="tsx">
import {getWorkgroupAll} from "@/service/api/md/workgroup";
defineOptions({
name: 'DrawingWorkOrder'
});
import type { Ref } from 'vue';
import {h, Ref} from 'vue';
import { ref, onMounted } from 'vue';
import type { DataTableColumns, FormInst } from 'naive-ui';
import {DataTableColumns, FormInst, NDatePicker, NSelect} from 'naive-ui';
import { useDialog, useMessage } from 'naive-ui';
import { createRequiredFormRule } from '@/utils';
import { getWorkbenchWiredrawingList } from '@/service/api/md/workbench/wiredrawing';
@ -326,6 +349,10 @@ const columns: Ref<DataTableColumns<drawingWorkOrder.tabelList>> = ref([
<n-button size="small" type="error" v-show={row.status === '1'} onClick={() => completeWorkOrder(row.id)}>
工单完工
</n-button>
<n-button size={'tiny'} type="info" onClick={() => handleView(row)}>
<icon-tdesign-send class="mr-2px text-15px " />
查看明细
</n-button>
</n-space>
);
}
@ -384,7 +411,12 @@ function submitUpdate() {
}
});
}
const options = [
{ label: '未开始', value: '0' },
{ label: '排产中', value: '1' },
];
const groupOptions = ref<any[]>([]);
function submitUpdateInit(msg: string) {
message.success(msg);
showDialog.value = false;
@ -393,58 +425,74 @@ function submitUpdateInit(msg: string) {
formModelData.value.equipmentList = [];
}
// function updateEquipmentCode(row: drawingWorkOrder.tabelList, type: number) {
// actionType.value = type;
// machineList.value = [];
// showDialog.value = true;
// rowDetail.value = JSON.parse(JSON.stringify(row));
// const equipmentList = rowDetail.value.equipmentId.split(',');
// formModelData.value.equipmentList = [];
// equipmentList.forEach(item => {
// formModelData.value.equipmentList.push(Number(item));
// });
// if (type === 0) {
// machineListAll.value.forEach(item => {
// machineList.value.push({
// label: item.label,
// value: item.value
// });
// });
// } else {
// const equipmentCodeList = rowDetail.value.equipmentCode.split(',');
// equipmentCodeList.forEach((item, index) => {
// machineList.value.push({
// label: item,
// value: Number(equipmentList[index])
// });
// });
// }
// }
const rowsData2 = ref<any>([]);
const detailLoading = ref<boolean>(false);
const detail = ref<boolean>(false);
const showPasModal = ref<boolean>(false);
function closeDetail() {
detail.value = false;
}
function handleView(row: any) {
detail.value = true;
if (row.attr3) {
rowsData2.value = JSON.parse(row.attr3)
}else{
rowsData2.value = []
}
// const sleep = row =>
// new Promise(resolve => {
// const formValue = {
// model: row.model,
// spec: row.specification,
// quantity: row.discNumber,
// lsDeviceId: null,
// qbDeviceId: row.enamellingEquipmentId,
// moldAfterSpec: row.specification,
// startTime: row.startTime,
// endTime: row.endTime,
// remark: row.remark,
// orderDate: formatDate(new Date(), 'yyyy-MM-dd hh:mm:ss'),
// moldId: null,
// moldBeforSpec: ''
// // moldAfterSpec: row.specification
// };
// console.log('formValue ==> ', formValue);
detailLoading.value = false;
}
const columns2: Ref<DataTableColumns<planWorkOrder.planWorkOrderList>> = ref([
{
title: '序号',
key: 'index',
align: 'center',
width: 60,
},
{
title: '工序名称',
key: 'routeName',
width: 100,
ellipsis: {
tooltip: true
}
},
{
title: '任务状态',
key: 'taskStatus',
width: 130,
render: row => {
return '未开始';
}
},
{
title: '班组信息',
key: 'workgroupId',
width: 180,
render: row => {
let group = groupOptions.value.find(item => item.value == row.workgroupId)
if (group) {
return group.label
}
}
},
{
title: '计划开始日期',
key: 'startDate',
width: 180,
},
{
title: '计划结束日期',
key: 'endDate',
width: 180,
},
{
title: '交付时间',
key: 'payTime',
width: 120
}
]);
// return
// addMoldGaugeList(formValue).then(res => {
// resolve(res);
// });
// });
function sleep2(id: number): any {
return new Promise(resolve => {
@ -552,6 +600,17 @@ function getList() {
function init() {
startLoading();
getWorkgroupAll().then(res => {
if (res.code === 200) {
groupOptions.value = [];
res.data.forEach((item: any) => {
groupOptions.value.push({
label: item.workgroupName,
value: item.id
});
});
}
});
getWiredrawingWorkorder({ ...searchForm.value }).then(res => {
if (res.code === 200) {
searchForm.value.total = res.total;

@ -331,10 +331,33 @@
</div>
</template>
</my-dialog>
<my-dialog
v-model:show="detail"
sub-text="关闭"
width="800px"
title="工单明细"
:show-cancel="false"
@cancel="closeDetail"
@submit="closeDetail"
>
<template #content>
<div>
<n-data-table
class="w-760px"
:loading="detailLoading"
:columns="columns2"
:data="rowsData2"
></n-data-table>
</div>
</template>
</my-dialog>
</div>
</template>
<script setup lang="tsx">
import {getWorkgroupAll} from "@/service/api/md/workgroup";
defineOptions({
name: 'PaintJobOrder'
});
@ -656,6 +679,10 @@ const columns: Ref<DataTableColumns<paintJobOrder.tabelList>> = ref([
>
作废
</n-button>
<n-button size={'tiny'} type="info" onClick={() => handleView(row)}>
<icon-tdesign-send className="mr-2px text-15px "/>
查看明细
</n-button>
</div>
);
}
@ -737,6 +764,77 @@ const detailColumns: Ref<DataTableColumns<paintJobOrder.tabelList>> = ref([
}
]);
const rowsData2 = ref<any>([]);
const detailLoading = ref<boolean>(false);
const detail = ref<boolean>(false);
const showPasModal = ref<boolean>(false);
function closeDetail() {
detail.value = false;
}
const groupOptions = ref<any[]>([]);
function handleView(row: any) {
detail.value = true;
if (row.attr3) {
rowsData2.value = JSON.parse(row.attr3)
}else{
rowsData2.value = []
}
detailLoading.value = false;
}
const columns2: Ref<DataTableColumns<planWorkOrder.planWorkOrderList>> = ref([
{
title: '序号',
key: 'index',
align: 'center',
width: 60,
},
{
title: '工序名称',
key: 'routeName',
width: 100,
ellipsis: {
tooltip: true
}
},
{
title: '任务状态',
key: 'taskStatus',
width: 130,
render: row => {
return '未开始';
}
},
{
title: '班组信息',
key: 'workgroupId',
width: 180,
render: row => {
let group = groupOptions.value.find(item => item.value == row.workgroupId)
if (group) {
return group.label
}
}
},
{
title: '计划开始日期',
key: 'startDate',
width: 180,
},
{
title: '计划结束日期',
key: 'endDate',
width: 180,
},
{
title: '交付时间',
key: 'payTime',
width: 120
}
]);
function completeWorkOrder(id: number) {
const d = dialog.warning({
title: '提示',
@ -975,6 +1073,18 @@ function getList() {
function init() {
startLoading();
getWorkgroupAll().then(res => {
if (res.code === 200) {
groupOptions.value = [];
res.data.forEach((item: any) => {
groupOptions.value.push({
label: item.workgroupName,
value: item.id
});
});
}
});
getEnamellingWorkorderList({ ...searchForm.value }).then(res => {
if (res.code === 200) {
searchForm.value.total = res.total;

@ -536,14 +536,26 @@ const columns2: Ref<DataTableColumns<planWorkOrder.planWorkOrderList>> = ref([
key: 'startDate',
width: 180,
render(row, index) {
return h(NDatePicker, {
value: row.startDate,
type: 'date',
format: 'yyyy-MM-dd',
onUpdateValue(v) {
rowsData2.value[index].startDate = v
// return h(NDatePicker, {
// value: row.startDate,
// type: 'date',
// format: 'yyyy-MM-dd',
// onUpdateValue(v) {
// rowsData2.value[index].startDate = v
// }
// })
return h(
NDatePicker,
{
class:"w_140 in_block",
type:"date",
placeholder:"计划开始日期",
"format":"yyyy-MM-dd",
onUpdateFormattedValue:(e)=>{
rowsData2.value[index].startDate = e
}
})
}
)
}
},
{
@ -551,14 +563,26 @@ const columns2: Ref<DataTableColumns<planWorkOrder.planWorkOrderList>> = ref([
key: 'endDate',
width: 180,
render(row, index) {
return h(NDatePicker, {
value: row.endDate,
type: 'date',
format: 'yyyy-MM-dd',
onUpdateValue(v) {
rowsData2.value[index].endDate = v
// return h(NDatePicker, {
// value: row.endDate,
// type: 'date',
// format: 'yyyy-MM-dd',
// onUpdateValue(v) {
// rowsData2.value[index].endDate = v
// }
// })
return h(
NDatePicker,
{
class:"w_140 in_block",
type:"date",
placeholder:"计划结束日期",
"format":"yyyy-MM-dd",
onUpdateFormattedValue:(e)=>{
rowsData2.value[index].endDate = e
}
})
}
)
}
},
{
@ -652,6 +676,7 @@ const formModel = ref<planWorkOrder.FormModel>({
customerName: null, //
workorderCode: null, //
workorderId: null,
attr3: null,
model: null, //
specification: null, //
measureId: null,
@ -812,6 +837,7 @@ function submitRepetitiom(submitForModel: any, obj: any, func: any) {
// if (!isInteter(obj.value.wireDiscNumber, '线')) return;
// if (!isInteter(obj.value.discNumber, '')) return;
isRequestAccomplish.value = false;
formModel.value.attr3 = JSON.stringify(rowsData2.value);
console.log('obj.value ==> ', obj.value)
console.log('formModel.value ==> ', formModel.value)
const res = await func({ ...obj.value, ...formModel.value });

@ -804,16 +804,20 @@ const columns: Ref<DataTableColumns<Procure.rawProcureList.columns>> = ref([
title: '状态',
key: 'status',
width: 80,
fixed: 'right',
align: 'center',
render: row => {
return <dict-tag options={erp_auxiliary_status.value} value={row.status}></dict-tag>;
}
},
{
title: '审核意见',
title: '审批人',
key: 'checkedByNick',
width: 150
},
{
title: '审批意见',
key: 'attr2',
width: 280
width: 150
},
{
title: '操作',
@ -839,7 +843,7 @@ const columns: Ref<DataTableColumns<Procure.rawProcureList.columns>> = ref([
<icon-tdesign-send class="mr-2px text-15px " />
下发
</NButton>}
<NButton size={'tiny'} type="info" onClick={() => handleView(row, 'DISTRIBUTE')}>
<NButton size={'tiny'} type="info" onClick={() => handleView(row)}>
<icon-tdesign-send class="mr-2px text-15px " />
明细
</NButton>

@ -422,7 +422,14 @@ const columns: Ref<DataTableColumns<DataType>> = ref([
{
title: '交付时间',
align: 'center',
key: 'payTime'
key: 'payTime',
width: 150,
},
{
title: '创建时间',
align: 'center',
width: 180,
key: 'createTime'
},
{
title: '状态',

Loading…
Cancel
Save