diff --git a/src/api/device.ts b/src/api/device.ts index ba220eb..3b06bf1 100644 --- a/src/api/device.ts +++ b/src/api/device.ts @@ -79,6 +79,14 @@ export interface DeviceRealtimeVO { } + +export interface DocumentEntity { + id?:number, + name?:string, + code?:string, + fileId?:number, +} + export const deviceApi = { page(params:{ @@ -169,5 +177,13 @@ export const deviceApi = { url:"/biz/device/list", method:"get" }) + }, + + getDeviceByNcId(params:{ncId:number,page:number,pageSize:number}){ + return request({ + url:"biz/device/getDeviceByNcId", + method:"get", + params + }) } } \ No newline at end of file diff --git a/src/api/deviceDocumentConnection.ts b/src/api/deviceDocumentConnection.ts new file mode 100644 index 0000000..42790ec --- /dev/null +++ b/src/api/deviceDocumentConnection.ts @@ -0,0 +1,92 @@ +import { request } from '@/utils/request' + +// 设备和nc/图纸关联表 类型定义 +export interface DeviceDocumentConnection { + id?: number + + deviceId?: number + + sourceId?: number + + devcieIds?:[], + + sourceIds?:[] + +} + +// 设备和nc/图纸关联表 API +export const deviceDocumentConnectionApi = { + // 分页查询 + page(params: { page: number; pageSize: number; id?: number }) { + return request({ url: '/biz/deviceDocumentConnection/page', method: 'get', params }) + }, + + // 获取详情 + detail(id: number) { + return request({ url: `/biz/deviceDocumentConnection/${id}`, method: 'get' }) + }, + + // 新增 + create(data: DeviceDocumentConnection) { + return request({ url: '/biz/deviceDocumentConnection', method: 'post', data }) + }, + + createDevice(data:DeviceDocumentConnection) { + return request({ + url:"biz/deviceDocumentConnection/createDevice", + method:"post", + data + }) + }, + + createDeviceDraw(data:DeviceDocumentConnection) { + return request({ + url:"biz/deviceDocumentConnection/createDeviceDraw", + method:"post", + data + }) + }, + + // 修改 + update(data: DeviceDocumentConnection) { + return request({ url: '/biz/deviceDocumentConnection', method: 'put', data }) + }, + + // 删除 + delete(ids: number[]) { + return request({ url: `/biz/deviceDocumentConnection/${ids.join(',')}`, method: 'delete' }) + }, + + // 导出 + export(params?: { ids?: number[]; id?: number }) { + const p: Record = {} + if (params?.ids?.length) p.ids = params.ids.join(',') + if (params?.id !== undefined && params?.id !== null) p.id = params.id + return request({ url: `/biz/deviceDocumentConnection/export`, method: 'get', params: p, responseType: 'blob' }) + }, + + // 导入 + importData(file: File) { + const formData = new FormData() + formData.append('file', file) + return request<{ success: number; fail: number; errors: string[] }>({ + url: `/biz/deviceDocumentConnection/import`, + method: 'post', + data: formData, + headers: { 'Content-Type': 'multipart/form-data' } + }) + }, + + // 下载导入模板 + downloadTemplate() { + return request({ url: `/biz/deviceDocumentConnection/template`, method: 'get', responseType: 'blob' }) + }, + + list(params:{page:number,pageSize:number}) { + return request({ + url:"biz/deviceDocumentConnection/list", + method:"get", + params + }) + } +} diff --git a/src/api/illustrated.ts b/src/api/illustrated.ts index 63f9f82..5eeb592 100644 --- a/src/api/illustrated.ts +++ b/src/api/illustrated.ts @@ -87,3 +87,12 @@ export function multifilelist(fileId:any) { method: 'get' }) } + + +export function getDeviceByDrawingId(params:{drawId?:number,page:number,pageSize:number}) { + return request({ + url:"/biz/device/getDeviceByDrawingId", + method:"get", + params + }) +} \ No newline at end of file diff --git a/src/api/stockIn.ts b/src/api/stockIn.ts new file mode 100644 index 0000000..5969e1a --- /dev/null +++ b/src/api/stockIn.ts @@ -0,0 +1,92 @@ +import { request } from '@/utils/request' + +/** 入库申请单 */ +export interface StockIn { + id?: number + inboundCode?: string + subjectName?: string + /** 1生产入库 2委外收货 3采购入库 */ + inboundType?: number + sourceOrderNo?: string + orderItemId?: number + workOrderCode?: string + processPlanId?: number + qcId?: number + materialCode?: string + materialName?: string + quantity?: number | string + progress?: number + warehouseId?: number + warehouseName?: string + /** 0草稿 1待确认 2上架入库 3已撤回 */ + status?: number + /** 金蝶入库单编码 */ + kingdeeInboundNo?: string + remark?: string + createTime?: string + createBy?: string + updateTime?: string + updateBy?: string +} + +export type StockInSave = Omit + +export const STOCK_IN_TYPE_MAP: Record = { + 1: { label: '生产入库', type: 'success' }, + 2: { label: '委外收货', type: 'warning' }, + 3: { label: '采购入库', type: 'info' }, +} + +export const STOCK_IN_STATUS_MAP: Record = { + 0: { label: '草稿', type: 'default' }, + 1: { label: '待确认', type: 'info' }, + 2: { label: '上架入库', type: 'success' }, + 3: { label: '已撤回', type: 'warning' }, +} + +export const stockInApi = { + page(params: { + page: number + pageSize: number + inboundCode?: string + sourceOrderNo?: string + inboundType?: number + status?: number + warehouseName?: string + kingdeeInboundNo?: string + }) { + return request<{ list: StockIn[]; total: number; page: number; pageSize: number }>({ + url: '/biz/stockIn/page', + method: 'get', + params, + }) + }, + + detail(id: number | string) { + return request({ url: `/biz/stockIn/${id}`, method: 'get' }) + }, + + create(data: StockInSave) { + return request({ url: '/biz/stockIn', method: 'post', data }) + }, + + update(data: StockInSave) { + return request({ url: '/biz/stockIn', method: 'put', data }) + }, + + delete(ids: number[]) { + return request({ url: `/biz/stockIn/${ids.join(',')}`, method: 'delete' }) + }, + + confirm(id: number, kingdeeInboundNo?: string | null) { + return request({ + url: `/biz/stockIn/confirm/${id}`, + method: 'post', + data: kingdeeInboundNo ? { kingdeeInboundNo } : {}, + }) + }, + + revoke(id: number) { + return request({ url: `/biz/stockIn/revoke/${id}`, method: 'post' }) + }, +} diff --git a/src/styles/index.scss b/src/styles/index.scss index be3464c..eeb9047 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -563,7 +563,7 @@ body.dark-theme { // 页面容器 .page-container { padding: 20px; - min-height: calc(100vh - 60px); + //min-height: calc(100vh - 60px); } // 搜索表单 diff --git a/src/views/NCcode/index.vue b/src/views/NCcode/index.vue index 179e740..890ac45 100644 --- a/src/views/NCcode/index.vue +++ b/src/views/NCcode/index.vue @@ -284,31 +284,78 @@ - + + + + + + + 全选当前筛选文档 + + 已勾选 {{ selectedDeviceIds.length }} 道文档 + + + + +
+ + + +
+ + +
+
+ + diff --git a/src/views/biz/device/index.vue b/src/views/biz/device/index.vue index ef9804e..cf2b782 100644 --- a/src/views/biz/device/index.vue +++ b/src/views/biz/device/index.vue @@ -113,9 +113,10 @@ @@ -243,11 +244,57 @@ + + + + + + + 全选当前筛选文档 + + 已勾选 {{ selectedDocumentIds.length }} 道文档 + + + + +
+ + + +
+ + +
+
+ + diff --git a/src/views/biz/errorNotification/index.vue b/src/views/biz/errorNotification/index.vue index 4b86e4a..0ffd1e5 100644 --- a/src/views/biz/errorNotification/index.vue +++ b/src/views/biz/errorNotification/index.vue @@ -240,14 +240,14 @@ const modalTitle = ref('') const importModalVisible = ref(false) const formRef = ref() const defaultFormData = { - subscriptionKey: '', + subscriptionKey: undefined, title: '', subscriptionDeviceIds: '', - subscriptionDiscoverField: '', + subscriptionDiscoverField: undefined, notifierMethod:1, sendingMethod: [], discoverValue: '', - detectionMethod: '', + detectionMethod: undefined, notifier: '', notifierContent: '', abnormalReporting: undefined, @@ -306,10 +306,18 @@ userApi.getPathList().then(rps => { }) +// const itemOptions = computed(() => { +// if (!selectedCategory.value) { +// return [] // 未选择分类时,选项列表为空 +// } +// return allItems[selectedCategory.value] || [] +// }) + function keyupdate(v:any,n:any) { - formData.subscriptionDiscoverField = '' + formData.subscriptionDiscoverField = null yiczdopt.value = n.childList + console.log(v) console.log(n) } diff --git a/src/views/biz/orderProcessPlan/board.vue b/src/views/biz/orderProcessPlan/board.vue index 87b565e..528be92 100644 --- a/src/views/biz/orderProcessPlan/board.vue +++ b/src/views/biz/orderProcessPlan/board.vue @@ -393,9 +393,10 @@ + @@ -1244,7 +1245,7 @@ function disphand(process: ProcessPlanItemVO, order?: OrderProcessPlanVO) { dispatchform.sort = entity.sort dispatchform.sectionId = entity.sectionId ?? process.sectionId ?? null dispatchform.workshopId = entity.workshopId ?? process.workshopId ?? order?.workshopId ?? null - dispatchform.list = [{ sectionId: '', deviceId: '', quantity: remainQty || '',ncId:'' }] + dispatchform.list = [{ sectionId: '', deviceId: '', quantity: remainQty+'' || '',ncId:'' }] } function addpgnum() { diff --git a/src/views/biz/permissionConfig/index.vue b/src/views/biz/permissionConfig/index.vue index 44a3874..550e57e 100644 --- a/src/views/biz/permissionConfig/index.vue +++ b/src/views/biz/permissionConfig/index.vue @@ -67,12 +67,23 @@ - - - - + + + + + + + + + + + + + + + diff --git a/src/views/lllustrated/index.vue b/src/views/lllustrated/index.vue index eb7466b..993473c 100644 --- a/src/views/lllustrated/index.vue +++ b/src/views/lllustrated/index.vue @@ -4,30 +4,38 @@
- - + - + + + - - + + - + 搜索 - - + + 重置 @@ -35,56 +43,57 @@
- - - 新增 - - - - - 导出 - - + + + 新增 + + + + + 导出 + +
-
+
diff --git a/src/views/production/componets/AssingWorkTreeTable.vue b/src/views/production/componets/AssingWorkTreeTable.vue index 144c4e4..9a84a36 100644 --- a/src/views/production/componets/AssingWorkTreeTable.vue +++ b/src/views/production/componets/AssingWorkTreeTable.vue @@ -319,8 +319,7 @@ const AssingWorkColumns :DataTableColumns = [ const showQcReport = ref(false) const reportTitle = ref() -//懒加载子级 -const loadingRowIds = ref>(new Set()) + const AssingWorkDetailColums:DataTableColumns = [ {