修改
This commit is contained in:
parent
77aae7a280
commit
32036b1160
@ -9,10 +9,10 @@ VITE_APP_ENV = 'development'
|
||||
#VITE_APP_BASE_API = 'http://192.168.12.4:8888/api'
|
||||
#VITE_APP_BASE_API = 'http://192.168.5.14:9100/gateway'
|
||||
|
||||
VITE_APP_BASE_API = 'http://localhost/api'
|
||||
#VITE_APP_BASE_API = 'http://localhost/api'
|
||||
#VITE_APP_BASE_API = 'http://localhost:9100/gateway'
|
||||
|
||||
#VITE_APP_BASE_API = '/dev-api'
|
||||
VITE_APP_BASE_API = '/api'
|
||||
|
||||
|
||||
|
||||
|
||||
@ -23,7 +23,7 @@ export function editDrawing(data:any) {
|
||||
//列表
|
||||
export function drawinglist(params:any) {
|
||||
return request({
|
||||
url: `/biz/ncCode/page`,
|
||||
url: `/biz/drawingFile/page`,
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
@ -45,3 +45,37 @@ export function deleteDrawing(ids:any) {
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
//生成图纸编号
|
||||
export function generateDFCode() {
|
||||
return request({
|
||||
url: `/biz/drawingFile/generateDFCode`,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
//导出
|
||||
export function exportdraFile(params:any) {
|
||||
return request({
|
||||
url: `biz/drawingFile/export`,
|
||||
method: 'get',
|
||||
responseType: 'blob',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
//任务树
|
||||
export function opertree() {
|
||||
return request({
|
||||
url: `biz/ncCode/operationTree`,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
//查询已上传文件
|
||||
export function filelist(id:any) {
|
||||
return request({
|
||||
url: `sys/file/${id}`,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
@ -88,6 +88,7 @@ export function exportNccode(params:any) {
|
||||
return request({
|
||||
url: `biz/ncCode/export`,
|
||||
method: 'get',
|
||||
responseType: 'blob',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import axios, { type AxiosInstance, type AxiosRequestConfig, type AxiosResponse } from 'axios'
|
||||
import { useUserStore } from '@/stores/user'
|
||||
|
||||
// const BASE_API = import.meta.env.VITE_APP_BASE_API
|
||||
const BASE_API = import.meta.env.VITE_APP_BASE_API
|
||||
|
||||
// API响应结构
|
||||
interface ApiResponse<T = any> {
|
||||
@ -116,7 +116,8 @@ async function decryptResponseData(data: string): Promise<any> {
|
||||
// 创建axios实例
|
||||
// 后端 API 统一使用 /api 前缀
|
||||
const service: AxiosInstance = axios.create({
|
||||
baseURL:'/api',
|
||||
//baseURL:'/api',
|
||||
baseURL:BASE_API,
|
||||
timeout: 30000
|
||||
})
|
||||
|
||||
@ -158,7 +159,6 @@ service.interceptors.response.use(
|
||||
return response.data
|
||||
}
|
||||
|
||||
|
||||
const res = response.data
|
||||
|
||||
if (res.code !== 200) {
|
||||
|
||||
@ -210,32 +210,40 @@
|
||||
</n-modal>
|
||||
|
||||
<!--下发-->
|
||||
<n-modal
|
||||
v-model:show="issueModel"
|
||||
title="下发"
|
||||
preset="card"
|
||||
style="width: 600px"
|
||||
:mask-closable="false"
|
||||
>
|
||||
<n-transfer
|
||||
v-model:value="value"
|
||||
style="height:500px;"
|
||||
:options="options"
|
||||
:render-source-list="renderSourceList"
|
||||
source-filterable
|
||||
@update:value="tranupdate"
|
||||
/>
|
||||
<template #footer>
|
||||
<n-space justify="end">
|
||||
<n-button @click="issueModel = false">取消</n-button>
|
||||
<n-button
|
||||
type="primary"
|
||||
@click="isssavehand"
|
||||
>确认</n-button>
|
||||
</n-space>
|
||||
<n-modal
|
||||
v-model:show="issueModel"
|
||||
title="下发"
|
||||
preset="card"
|
||||
style="width: 600px"
|
||||
:mask-closable="false"
|
||||
>
|
||||
<div style="display: flex;padding-bottom: 15px;font-size: 16px;">
|
||||
<div style="padding: 2px 5px;background: #50a5b7;color: #fff;border-radius: 6px 0 0 6px;">NC代码编号</div>
|
||||
<div style="padding: 2px 5px;border: 1px solid #50a5b7;border-radius: 0 6px 6px 0;">{{ ncCode }}</div>
|
||||
</div>
|
||||
<n-transfer
|
||||
v-model:value="xfsbvalue"
|
||||
style="height:500px;"
|
||||
:options="options"
|
||||
:render-source-list="renderSourceList"
|
||||
source-filterable
|
||||
@update:value="tranupdate"
|
||||
/>
|
||||
|
||||
|
||||
|
||||
<template #footer>
|
||||
<n-space justify="end">
|
||||
<n-button @click="issueModel = false">取消</n-button>
|
||||
<n-button
|
||||
type="primary"
|
||||
@click="isssavehand"
|
||||
>确认</n-button>
|
||||
</n-space>
|
||||
|
||||
</template>
|
||||
</n-modal>
|
||||
|
||||
</template>
|
||||
</n-modal>
|
||||
</div>
|
||||
|
||||
|
||||
@ -280,7 +288,8 @@ import {
|
||||
issuecopy,
|
||||
generateNccode,
|
||||
opertree,
|
||||
exportNccode
|
||||
exportNccode,
|
||||
deleteIssue
|
||||
} from '@/api/nccode'
|
||||
|
||||
const dialog = useDialog()
|
||||
@ -302,8 +311,8 @@ const searchForm = reactive({
|
||||
page: 1,
|
||||
pageSize: 20,
|
||||
ncCode:'',
|
||||
ncName:'',
|
||||
status:1
|
||||
ncName:''
|
||||
//status:1
|
||||
})
|
||||
|
||||
|
||||
@ -385,7 +394,7 @@ const columns = [
|
||||
key:"isIssued",
|
||||
minWidth:150,
|
||||
render(row:any) {
|
||||
if(row.isIssued == 1){
|
||||
if(row.isSued== 1){
|
||||
return '已下发'
|
||||
}
|
||||
return '未下发'
|
||||
@ -401,7 +410,7 @@ const columns = [
|
||||
{
|
||||
align:"center",
|
||||
title:"下发人",
|
||||
key:"issueBy",
|
||||
key:"issueName",
|
||||
minWidth:150
|
||||
},
|
||||
{
|
||||
@ -426,7 +435,7 @@ const columns = [
|
||||
type:'info',
|
||||
ghost:true,
|
||||
onClick: () => {
|
||||
issuehand()
|
||||
issuehand(row)
|
||||
} },
|
||||
{ default: () => '下发'}
|
||||
))
|
||||
@ -505,7 +514,8 @@ function search() {
|
||||
|
||||
//重置
|
||||
function reset() {
|
||||
|
||||
searchForm.ncCode = ''
|
||||
searchForm.ncName = ''
|
||||
}
|
||||
|
||||
//获取列表数据
|
||||
@ -558,9 +568,9 @@ let formData = reactive<any>({
|
||||
deviceId:'', //设备ID
|
||||
deviceName:'', //设备名称
|
||||
status:1, //状态:1-启用 0-禁用
|
||||
// isIssued:1, //是否已下发:1-已下发 0-未下发
|
||||
// issueTime:null, //下发时间
|
||||
// issueBy:'', //下发人
|
||||
// isIssued:1, //是否已下发:1-已下发 0-未下发
|
||||
// issueTime:null, //下发时间
|
||||
// issueBy:'', //下发人
|
||||
remark:'' //备注
|
||||
})
|
||||
const addrules = {
|
||||
@ -596,11 +606,6 @@ function addhand(type:any,row?:any) {
|
||||
addModel.value = true
|
||||
formData.value?.restoreValidation()
|
||||
isstype.value = type
|
||||
if(type == 1 || type == 3){
|
||||
generateNccode().then(rps => {
|
||||
formData.ncCode = rps
|
||||
})
|
||||
}
|
||||
|
||||
if(row){
|
||||
formData.id = row.id
|
||||
@ -633,6 +638,11 @@ function addhand(type:any,row?:any) {
|
||||
// formData.issueBy = ''
|
||||
formData.remark = ''
|
||||
}
|
||||
if(type == 1 || type == 3){
|
||||
generateNccode().then(rps => {
|
||||
formData.ncCode = rps
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function addEdi(){
|
||||
@ -694,7 +704,7 @@ function delhand() {
|
||||
//let issequiplist = ref<any>([])
|
||||
|
||||
let treeData:any = []
|
||||
let value = ref<Array<string | number>>([])
|
||||
let xfsbvalue = ref<Array<string | number>>([])
|
||||
let renderSourceList:any = ''
|
||||
|
||||
let options = ref<any>([]) //flattenTree(createData())
|
||||
@ -716,10 +726,6 @@ function flattenTree(list: undefined | any[]) {
|
||||
}
|
||||
|
||||
|
||||
function tranupdate(v:any) {
|
||||
console.log(v)
|
||||
}
|
||||
|
||||
//下发
|
||||
let issueModel = ref(false)
|
||||
// let issformData = reactive<any>({
|
||||
@ -739,30 +745,44 @@ let issueModel = ref(false)
|
||||
|
||||
|
||||
|
||||
function renderlabe() {}
|
||||
|
||||
function issuehand() {
|
||||
|
||||
issueModel.value = true
|
||||
|
||||
|
||||
let issarr:any[] = []
|
||||
let ncCode = ref<any>('')
|
||||
function tranupdate(v:any) {
|
||||
issarr = []
|
||||
if(v.length > 0){
|
||||
v.forEach((n:any) => {
|
||||
if(n.split('-').length == 3){
|
||||
issarr.push(n)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
let ncid = ''
|
||||
function issuehand(row:any) {
|
||||
issueModel.value = true
|
||||
issarr = []
|
||||
ncid = row.id
|
||||
ncCode.value = row.code
|
||||
}
|
||||
|
||||
const issformRef = ref()
|
||||
|
||||
function isssavehand() {
|
||||
issformRef.value?.validate((e:any) => {
|
||||
if (!e) {
|
||||
batchIssue('').then(() => {
|
||||
message.success('操作成功')
|
||||
setTimeout(() => {
|
||||
getlist()
|
||||
issueModel.value = false
|
||||
},1500)
|
||||
})
|
||||
|
||||
}
|
||||
if(issarr.length > 0){
|
||||
batchIssue({
|
||||
ncCode:ncid,
|
||||
ncCodeList:issarr
|
||||
}).then(() => {
|
||||
message.success('操作成功')
|
||||
setTimeout(() => {
|
||||
getlist()
|
||||
issueModel.value = false
|
||||
},1500)
|
||||
})
|
||||
}else{
|
||||
message.warning('请选择设备')
|
||||
}
|
||||
|
||||
}
|
||||
//导出
|
||||
//let selectedIds = ref<any>([])
|
||||
@ -783,10 +803,10 @@ function handleExport() {
|
||||
getlist()
|
||||
|
||||
//查看下发记录
|
||||
async function handleDispatchRecord(row:ncCode){
|
||||
const ncId = row.id
|
||||
// ncDispatchRecords.value = await
|
||||
}
|
||||
// async function handleDispatchRecord(row:ncCode){
|
||||
// const ncId = row.id
|
||||
// // ncDispatchRecords.value = await
|
||||
// }
|
||||
|
||||
|
||||
onMounted(() => {
|
||||
@ -795,7 +815,6 @@ onMounted(() => {
|
||||
opertree().then(rps => {
|
||||
treeData = rps
|
||||
options.value = flattenTree(treeData)
|
||||
console.log(rps,'112')
|
||||
renderSourceList = function (obj:any) {
|
||||
return h(NTree, {
|
||||
style: 'margin: 0 4px;',
|
||||
@ -809,10 +828,9 @@ onMounted(() => {
|
||||
cascade:true,
|
||||
defaultExpandAll:true,
|
||||
pattern:obj.pattern,
|
||||
checkedKeys: value.value,
|
||||
onUpdateCheckedKeys: (checkedKeys: Array<string | number>) => {
|
||||
checkedKeys: xfsbvalue.value,
|
||||
onUpdateCheckedKeys: (checkedKeys:any) => {
|
||||
obj.onCheck(checkedKeys)
|
||||
console.log(value.value,'tree')
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@ -10,15 +10,15 @@
|
||||
label-placement="left"
|
||||
>
|
||||
|
||||
<n-form-item label="图纸编号">
|
||||
<n-input v-model:value="searchForm.ncCode" placeholder="请输入图纸编号" />
|
||||
<n-form-item label="图文编号">
|
||||
<n-input v-model:value="searchForm.drawingCode" placeholder="请输入图文编号" />
|
||||
</n-form-item>
|
||||
<n-form-item label="图纸名称">
|
||||
<n-input v-model:value="searchForm.ncName" placeholder="请输入图纸名称" />
|
||||
</n-form-item>
|
||||
<n-form-item label="工序编码">
|
||||
<n-input v-model:value="searchForm.ncName" placeholder="请输入工序编码" />
|
||||
<!-- <n-form-item label="图文名称">
|
||||
<n-input v-model:value="searchForm.drawingName" placeholder="请输入图文名称" />
|
||||
</n-form-item>
|
||||
<n-form-item label="图文版本">
|
||||
<n-input v-model:value="searchForm.drawingVersion" placeholder="请输入图文版本" />
|
||||
</n-form-item> -->
|
||||
|
||||
|
||||
<n-space>
|
||||
@ -35,7 +35,7 @@
|
||||
</div>
|
||||
|
||||
<n-space style="margin-bottom: 15px;">
|
||||
<n-button type="primary" @click="addhand(1)" size="small">
|
||||
<n-button v-if="hasPermission('biz:drawingFile:add')" type="primary" @click="addhand(1)" size="small">
|
||||
<template #icon>
|
||||
<n-icon>
|
||||
<AddOutline />
|
||||
@ -51,7 +51,7 @@
|
||||
</template>
|
||||
删除
|
||||
</n-button> -->
|
||||
<n-button type="success" @click="issuehand" size="small">
|
||||
<n-button type="success" v-if="hasPermission('biz:drawingFile:export')" @click="handleExport" size="small">
|
||||
<template #icon>
|
||||
<n-icon>
|
||||
<ArrowDownCircleOutline />
|
||||
@ -75,7 +75,7 @@
|
||||
@update:checked-row-keys="handleCheck"
|
||||
/>
|
||||
|
||||
<div class="pagination-container" style="display: flex; justify-content: flex-end; margin-top: 12px">
|
||||
<div v-if="pagination.itemCount > pagination.pageSize" class="pagination-container" style="display: flex; justify-content: flex-end; margin-top: 12px">
|
||||
<n-pagination
|
||||
v-model:page="pagination.page"
|
||||
v-model:page-size="pagination.pageSize"
|
||||
@ -110,29 +110,8 @@
|
||||
>
|
||||
<n-grid :cols="1" :x-gap="24">
|
||||
<n-gi>
|
||||
|
||||
<n-form-item path="drawingCode" label="图纸编号">
|
||||
<n-input v-model:value="formData.drawingCode" placeholder="请输入图纸编号" />
|
||||
</n-form-item>
|
||||
</n-gi>
|
||||
<n-gi>
|
||||
<n-form-item path="drawingName" label="图纸名称">
|
||||
<n-input v-model:value="formData.drawingName" placeholder="请输入图纸名称" />
|
||||
</n-form-item>
|
||||
</n-gi>
|
||||
<n-gi>
|
||||
<n-form-item label="图纸版本">
|
||||
<n-input v-model:value="formData.drawingVersion" placeholder="请输入图纸版本" />
|
||||
</n-form-item>
|
||||
</n-gi>
|
||||
<n-gi>
|
||||
<n-form-item label="工序名称">
|
||||
<n-input v-model:value="formData.processName" placeholder="请选择工序" />
|
||||
</n-form-item>
|
||||
</n-gi>
|
||||
<n-gi>
|
||||
<n-form-item label="PLM文档">
|
||||
<n-input v-model:value="formData.plmDocId" placeholder="请选择PLM文档" />
|
||||
<n-form-item path="drawingCode" label="图文编号">
|
||||
<n-input v-model:value="formData.drawingCode" disabled placeholder="自动生成" />
|
||||
</n-form-item>
|
||||
</n-gi>
|
||||
<n-gi>
|
||||
@ -149,23 +128,99 @@
|
||||
</n-radio-group>
|
||||
</n-form-item>
|
||||
</n-gi>
|
||||
<!-- <n-gi>
|
||||
<n-form-item path="drawingName" label="图文名称">
|
||||
<n-input v-model:value="formData.drawingName" placeholder="请输入图文名称" />
|
||||
</n-form-item>
|
||||
</n-gi>
|
||||
<n-gi>
|
||||
<n-form-item path="gxname" label="上传图纸">
|
||||
<n-form-item label="图文版本">
|
||||
<n-input v-model:value="formData.drawingVersion" placeholder="请输入图文版本" />
|
||||
</n-form-item>
|
||||
</n-gi> -->
|
||||
<!-- <n-gi>
|
||||
<n-form-item path="processId" label="工序名称">
|
||||
<n-select
|
||||
v-model:value="selval"
|
||||
filterable
|
||||
placeholder="请输入工序名称搜索"
|
||||
:options="yglist"
|
||||
:loading="loadingRef"
|
||||
clearable
|
||||
remote
|
||||
:clear-filter-after-select="false"
|
||||
@search="slehand"
|
||||
@update:value="updatesle"
|
||||
/>
|
||||
</n-form-item>
|
||||
</n-gi> -->
|
||||
<!-- <n-gi>
|
||||
<n-form-item label="PLM文档">
|
||||
<n-input v-model:value="formData.plmDocId" placeholder="请选择PLM文档" />
|
||||
</n-form-item>
|
||||
</n-gi> -->
|
||||
|
||||
<n-gi>
|
||||
<n-form-item label="类型">
|
||||
<n-radio-group v-model:value="formData.drawingType" :default-value="1" name="radiogroup">
|
||||
<n-space>
|
||||
<n-radio :value="0">
|
||||
图纸
|
||||
</n-radio>
|
||||
<n-radio :value="1">
|
||||
文件
|
||||
</n-radio>
|
||||
</n-space>
|
||||
</n-radio-group>
|
||||
</n-form-item>
|
||||
</n-gi>
|
||||
|
||||
<n-gi>
|
||||
<n-form-item path="fileId" label="上传文件">
|
||||
<!--:default-file-list="fileList"-->
|
||||
<n-upload
|
||||
action="https://www.mocky.io/v2/5e4bafc63100007100d8b70f"
|
||||
<!-- <n-upload
|
||||
:action="URL"
|
||||
:headers="{
|
||||
Authorization:TOKEN
|
||||
}"
|
||||
list-type="image-card"
|
||||
>
|
||||
点击上传
|
||||
</n-upload> -->
|
||||
<!-- @before-upload ="flchang"
|
||||
@change="flchang"
|
||||
@remove="flchang"-->
|
||||
<n-upload
|
||||
directory-dnd
|
||||
:action="URL"
|
||||
:headers="{
|
||||
Authorization:TOKEN
|
||||
}"
|
||||
:max="20"
|
||||
v-model:file-list="flist"
|
||||
|
||||
@finish="flchang"
|
||||
>
|
||||
|
||||
<n-upload-dragger>
|
||||
<div>
|
||||
<n-icon size="40" :depth="3">
|
||||
<CloudUploadOutline />
|
||||
</n-icon>
|
||||
</div>
|
||||
<n-text style="font-size: 14px">
|
||||
点击或者拖动文件到该区域来上传
|
||||
</n-text>
|
||||
</n-upload-dragger>
|
||||
</n-upload>
|
||||
</n-form-item>
|
||||
</n-gi>
|
||||
|
||||
<n-gi>
|
||||
<!-- <n-gi>
|
||||
<n-form-item path="gxname" label="备注">
|
||||
<n-input type="textarea" v-model:value="formData.remark" placeholder="请输入备注" />
|
||||
</n-form-item>
|
||||
</n-gi>
|
||||
</n-gi> -->
|
||||
</n-grid>
|
||||
</n-form>
|
||||
<template #footer>
|
||||
@ -182,61 +237,41 @@
|
||||
</n-modal>
|
||||
|
||||
<!--下发-->
|
||||
|
||||
<n-modal
|
||||
v-model:show="issueModel"
|
||||
title="下发"
|
||||
preset="card"
|
||||
style="width: 500px"
|
||||
:mask-closable="false"
|
||||
>
|
||||
|
||||
<n-form
|
||||
ref="issformRef"
|
||||
:model="issformData"
|
||||
:rules="issaddrules"
|
||||
label-placement="top"
|
||||
label-width="100"
|
||||
>
|
||||
<n-grid :cols="1" :x-gap="24">
|
||||
<n-gi>
|
||||
<n-form-item path="taskid" label="下发任务">
|
||||
<n-select
|
||||
:disabled="false"
|
||||
:render-label="renderlabe"
|
||||
v-model:value="issformData.taskid"
|
||||
placeholder="请选择下发任务"
|
||||
:options="isstasklist"
|
||||
v-model:show="issueModel"
|
||||
title="下发"
|
||||
preset="card"
|
||||
style="width: 600px"
|
||||
:mask-closable="false"
|
||||
>
|
||||
<div style="display: flex;padding-bottom: 15px;font-size: 16px;">
|
||||
<div style="padding: 2px 5px;background: #50a5b7;color: #fff;border-radius: 6px 0 0 6px;">图文编号</div>
|
||||
<div style="padding: 2px 5px;border: 1px solid #50a5b7;border-radius: 0 6px 6px 0;">{{ imgCode }}</div>
|
||||
</div>
|
||||
<n-transfer
|
||||
v-model:value="xfsbvalue"
|
||||
style="height:500px;"
|
||||
:options="options"
|
||||
:render-source-list="renderSourceList"
|
||||
source-filterable
|
||||
@update:value="tranupdate"
|
||||
/>
|
||||
</n-form-item>
|
||||
<n-form-item path="equis" label="下发设备">
|
||||
<n-select
|
||||
:disabled="false"
|
||||
:render-label="renderlabe"
|
||||
v-model:value="issformData.equis"
|
||||
placeholder="请选择下发设备"
|
||||
:options="issequiplist"
|
||||
/>
|
||||
</n-form-item>
|
||||
</n-gi>
|
||||
<!-- <n-gi>
|
||||
<n-form-item path="ncName" label="下发代码">
|
||||
<n-input v-model:value="formData.ncName" placeholder="请输入NC代码名称" />
|
||||
</n-form-item>
|
||||
</n-gi> -->
|
||||
</n-grid>
|
||||
</n-form>
|
||||
<template #footer>
|
||||
<n-space justify="end">
|
||||
<n-button @click="issueModel = false">取消</n-button>
|
||||
<n-button
|
||||
type="primary"
|
||||
|
||||
@click="isssavehand"
|
||||
>确认</n-button>
|
||||
</n-space>
|
||||
|
||||
</template>
|
||||
</n-modal>
|
||||
|
||||
<template #footer>
|
||||
<n-space justify="end">
|
||||
<n-button @click="issueModel = false">取消</n-button>
|
||||
<n-button
|
||||
type="primary"
|
||||
@click="isssavehand"
|
||||
>确认</n-button>
|
||||
</n-space>
|
||||
|
||||
</template>
|
||||
</n-modal>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@ -259,6 +294,7 @@ import {
|
||||
NImage,
|
||||
NPagination,
|
||||
NGrid,
|
||||
NTree,
|
||||
// NGi,
|
||||
NTag,
|
||||
useMessage,
|
||||
@ -270,7 +306,8 @@ import {
|
||||
SearchOutline,
|
||||
RefreshOutline,
|
||||
AddOutline,
|
||||
ArrowDownCircleOutline
|
||||
ArrowDownCircleOutline,
|
||||
CloudUploadOutline
|
||||
} from '@vicons/ionicons5'
|
||||
|
||||
import { useUserStore } from '@/stores/user'
|
||||
@ -280,11 +317,18 @@ import {
|
||||
editDrawing,
|
||||
drawinglist,
|
||||
drawingIssue,
|
||||
deleteDrawing
|
||||
deleteDrawing,
|
||||
generateDFCode,
|
||||
exportdraFile,
|
||||
opertree,
|
||||
filelist
|
||||
} from '@/api/illustrated'
|
||||
|
||||
import {
|
||||
basicProcessPlanApi
|
||||
} from '@/api/basicProcessPlan'
|
||||
|
||||
|
||||
const URL = `${import.meta.env.VITE_APP_BASE_API}/sys/file/upload`
|
||||
|
||||
const dialog = useDialog()
|
||||
|
||||
@ -292,6 +336,8 @@ const message = useMessage()
|
||||
|
||||
const userStore = useUserStore()
|
||||
|
||||
const TOKEN = userStore.token
|
||||
|
||||
// 权限检查
|
||||
const hasPermission = (permission: string) => userStore.hasPermission(permission)
|
||||
|
||||
@ -303,9 +349,9 @@ const hasPermission = (permission: string) => userStore.hasPermission(permission
|
||||
const searchForm = reactive({
|
||||
page: 1,
|
||||
pageSize: 20,
|
||||
ncCode:'',
|
||||
ncName:'',
|
||||
status:1
|
||||
drawingCode:'',
|
||||
drawingName:'',
|
||||
drawingVersion:''
|
||||
})
|
||||
|
||||
|
||||
@ -322,52 +368,60 @@ const pagination = reactive({
|
||||
})
|
||||
|
||||
|
||||
|
||||
const columns = [
|
||||
{
|
||||
align:"center",
|
||||
title:"图纸编号",
|
||||
key:"materialName",
|
||||
minWidth:150
|
||||
},
|
||||
{
|
||||
align:"center",
|
||||
title:"图纸名称",
|
||||
key:"materialCode",
|
||||
minWidth:150
|
||||
},
|
||||
{
|
||||
align:"center",
|
||||
title:"图纸版本",
|
||||
key:"assingCode",
|
||||
minWidth:150
|
||||
},
|
||||
{
|
||||
align:"center",
|
||||
title:"工序名称",
|
||||
key:"materialCode",
|
||||
minWidth:150
|
||||
},
|
||||
{
|
||||
align:"center",
|
||||
title:"工序编码",
|
||||
key:"assingCode",
|
||||
minWidth:150
|
||||
},
|
||||
{
|
||||
align:"center",
|
||||
title:"图纸缩略图",
|
||||
key:"materialCode",
|
||||
minWidth:150,
|
||||
render(row:any) {
|
||||
return h(NImage, {width:'50',height:'50',src:'https://07akioni.oss-cn-beijing.aliyuncs.com/07akioni.jpeg'})
|
||||
}
|
||||
},
|
||||
{
|
||||
align:"center",
|
||||
title:"PLM文档",
|
||||
key:"assingCode",
|
||||
title:"图文编号",
|
||||
key:"drawingCode",
|
||||
minWidth:150
|
||||
},
|
||||
// {
|
||||
// align:"center",
|
||||
// title:"图文名称",
|
||||
// key:"drawingName",
|
||||
// minWidth:150
|
||||
// },
|
||||
// {
|
||||
// align:"center",
|
||||
// title:"图文版本",
|
||||
// key:"drawingVersion",
|
||||
// minWidth:150
|
||||
// },
|
||||
// {
|
||||
// align:"center",
|
||||
// title:"关联工序名称",
|
||||
// key:"processName",
|
||||
// minWidth:150
|
||||
// },
|
||||
// {
|
||||
// align:"center",
|
||||
// title:"关联工序编码",
|
||||
// key:"processCode",
|
||||
// minWidth:150
|
||||
// },
|
||||
// {
|
||||
// align:"center",
|
||||
// title:"图文缩略图",
|
||||
// key:"materialCode",
|
||||
// minWidth:150,
|
||||
// render(row:any) {
|
||||
// //filePath
|
||||
// return h(NImage, {width:'50',height:'50',src:'https://07akioni.oss-cn-beijing.aliyuncs.com/07akioni.jpeg'})
|
||||
// }
|
||||
// },
|
||||
// {
|
||||
// align:"center",
|
||||
// title:"PLM文档",
|
||||
// key:"plmDocId",
|
||||
// minWidth:150
|
||||
// },
|
||||
// {
|
||||
// align:"center",
|
||||
// title:"PLM版本号",
|
||||
// key:"plmVersion",
|
||||
// minWidth:150
|
||||
// },
|
||||
{
|
||||
align:"center",
|
||||
title:"状态",
|
||||
@ -386,7 +440,7 @@ const columns = [
|
||||
key:"isIssued",
|
||||
minWidth:150,
|
||||
render(row:any) {
|
||||
if(row.status == 1){
|
||||
if(row.isIssued == 1){
|
||||
return '已下发'
|
||||
}
|
||||
return '未下发'
|
||||
@ -421,13 +475,13 @@ const columns = [
|
||||
render(row:any) {
|
||||
const buttons:any = []
|
||||
|
||||
if(hasPermission('biz:ncCode:issue')){
|
||||
if(hasPermission('biz:drawingFile:issue')){
|
||||
buttons.push(h(NButton, {
|
||||
size: 'small',
|
||||
type:'info',
|
||||
ghost:true,
|
||||
onClick: () => {
|
||||
issuehand()
|
||||
issuehand(row)
|
||||
} },
|
||||
{ default: () => '下发'}
|
||||
))
|
||||
@ -444,7 +498,7 @@ const columns = [
|
||||
// ))
|
||||
// }
|
||||
|
||||
if(hasPermission('biz:ncCode:edit')){
|
||||
if(hasPermission('biz:drawingFile:edit')){
|
||||
buttons.push(h(NButton, {
|
||||
size: 'small',
|
||||
type:'primary',
|
||||
@ -455,7 +509,7 @@ const columns = [
|
||||
{ default: () => '编辑'}
|
||||
))
|
||||
}
|
||||
if(hasPermission('biz:ncCode:remove')){
|
||||
if(hasPermission('biz:drawingFile:remove')){
|
||||
buttons.push(h(NButton, {
|
||||
size: 'small',
|
||||
type:'error',
|
||||
@ -463,13 +517,16 @@ const columns = [
|
||||
onClick: () => {
|
||||
dialog.warning({
|
||||
title: '警告',
|
||||
content: `你确定删除NC代码编号为:${row.ncCode}的数据`,
|
||||
content: `你确定删除图文编号为:${row.drawingCode}的数据`,
|
||||
positiveText: '确定',
|
||||
negativeText: '取消',
|
||||
//draggable: true,
|
||||
onPositiveClick: () => {
|
||||
deleteDrawing(row.id).then(() => {
|
||||
message.success('操作成功')
|
||||
setTimeout(() => {
|
||||
search()
|
||||
},1000)
|
||||
})
|
||||
|
||||
},
|
||||
@ -503,7 +560,9 @@ function search() {
|
||||
|
||||
//重置
|
||||
function reset() {
|
||||
|
||||
searchForm.drawingCode = ''
|
||||
searchForm.drawingName = ''
|
||||
searchForm.drawingVersion = ''
|
||||
}
|
||||
|
||||
//获取列表数据
|
||||
@ -531,7 +590,6 @@ function handlePageSizeChange(pageSize: number) {
|
||||
}
|
||||
|
||||
|
||||
|
||||
// // 加载字典选项
|
||||
// async function loadDictOptions() {
|
||||
// //qcCancelLoading = true
|
||||
@ -541,6 +599,49 @@ function handlePageSizeChange(pageSize: number) {
|
||||
// }catch {}
|
||||
// }
|
||||
|
||||
//获取工序
|
||||
//工位交接
|
||||
//查询用户
|
||||
let loadingRef = ref(false)
|
||||
let yglist = ref<any>([])
|
||||
function slehand(v?:any) {
|
||||
loadingRef.value = true
|
||||
|
||||
basicProcessPlanApi.page({
|
||||
page: 1,
|
||||
pageSize: 200,
|
||||
name: v,
|
||||
}).then((rps:any) =>{
|
||||
if(rps.list && rps.list.length > 0){
|
||||
yglist.value = rps.list.map((n:any) => {
|
||||
return {
|
||||
label:n.name,
|
||||
value:n.id //`${n.id}-${n.code}-${n.name}`
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
loadingRef.value = false
|
||||
}).catch(() => {
|
||||
loadingRef.value = false
|
||||
})
|
||||
}
|
||||
|
||||
function updatesle(v:any) {
|
||||
if(v){
|
||||
//let varr = v.split('-')
|
||||
formData.processId = v+''
|
||||
// formData.processRouteStepId = varr[0]
|
||||
// formData.processCode = varr[1]
|
||||
// formData.processName = varr[2]
|
||||
}else{
|
||||
formData.processId = ''
|
||||
// formData.processRouteStepId = ''
|
||||
// formData.processCode = ''
|
||||
// formData.processName = ''
|
||||
}
|
||||
//formData.processRouteStepId = v
|
||||
}
|
||||
|
||||
//新增
|
||||
let addModel = ref(false)
|
||||
@ -549,25 +650,31 @@ const addformRef = ref()
|
||||
|
||||
let formData = reactive<any>({
|
||||
id:'',
|
||||
drawingCode:'', //图纸编号
|
||||
drawingName:'', //图纸名称
|
||||
drawingVersion:'', //图纸版本
|
||||
processRouteStepId:'', //关联工序ID
|
||||
processCode:'', //工序编码
|
||||
processName:'', //工序名称
|
||||
filePath:'', //文件路径
|
||||
fileName:'', //文件名
|
||||
fileSize:'', //文件大小
|
||||
fileType:'', //文件类型
|
||||
plmDocId:'', //PLM文档ID
|
||||
plmVersion:'', //PLM版本号
|
||||
plmStatus:'', //PLM状态
|
||||
status:1, //状态:1-启用 0-禁用
|
||||
remark:'' //备注
|
||||
drawingCode:'', //图文编号
|
||||
processId:'', //关联工序ID
|
||||
drawingType:0, //0 图纸 1 文件
|
||||
fileId:'', //文件id
|
||||
status:1, //状态:1-启用 0-禁用
|
||||
// drawingName:'', //图文名称
|
||||
// drawingVersion:'', //图文版本
|
||||
// processCode:'', //工序编码
|
||||
// processName:'', //工序名称
|
||||
// filePath:'', //文件路径
|
||||
// fileName:'', //文件名
|
||||
// fileSize:'', //文件大小
|
||||
// fileType:'', //文件类型
|
||||
// plmDocId:'', //PLM文档ID
|
||||
// plmVersion:'', //PLM版本号
|
||||
// plmStatus:'', //PLM状态
|
||||
|
||||
// isIssued:1, //是否已下发:1-已下发 0-未下发
|
||||
// issueTime:'', //下发时间
|
||||
// issueBy:'', //下发人
|
||||
// remark:'' //备注
|
||||
})
|
||||
const addrules = {
|
||||
drawingCode: [
|
||||
{ required: true, message: '请输入图纸编号', trigger: 'blur' },
|
||||
{ required: true, message: '请输入图文编号', trigger: 'blur' },
|
||||
// {
|
||||
// validator(rule:any,value: any) {
|
||||
// if(value > pauseform.qcNum){
|
||||
@ -578,60 +685,97 @@ const addrules = {
|
||||
// trigger: ['blur']
|
||||
// }
|
||||
],
|
||||
drawingName:[
|
||||
{ required: true, message: '请输入图纸名称', trigger: 'blur' }
|
||||
processId:[
|
||||
{ required: true, message: '请选择工序', trigger: 'blur' }
|
||||
],
|
||||
ncContent:[
|
||||
{ required: true, message: '请输入NC代码内容', trigger: 'blur' }
|
||||
fileId:[
|
||||
{ required: true, message: '请上传文件', trigger: 'blur' }
|
||||
]
|
||||
|
||||
}
|
||||
|
||||
//文件上传回调
|
||||
let flist = ref<any>([])
|
||||
function flchang(n:any) {
|
||||
let v = JSON.parse(n.event.target.responseText)
|
||||
if(v.data && v.data.id){
|
||||
formData.fileId = v.data.id+''
|
||||
}
|
||||
|
||||
console.log(flist.value,'flist')
|
||||
}
|
||||
|
||||
|
||||
let isstype = ref<any>(1)
|
||||
|
||||
const cztype = reactive<any>({
|
||||
1:'新增',
|
||||
2:'编辑'
|
||||
})
|
||||
|
||||
let selval = ref<any>('')
|
||||
function addhand(type:any,row?:any) {
|
||||
addModel.value = true
|
||||
formData.value?.restoreValidation()
|
||||
isstype.value = type
|
||||
if(row){
|
||||
//slehand('')
|
||||
formData.id = row.id
|
||||
formData.drawingCode = row.drawingCode
|
||||
formData.drawingName = row.drawingName
|
||||
formData.drawingVersion = row.drawingVersion
|
||||
formData.processRouteStepId = row.processRouteStepId
|
||||
formData.processCode = row.processCode
|
||||
formData.processName = row.processName
|
||||
formData.filePath = row.filePath
|
||||
formData.fileName = row.fileName
|
||||
formData.fileSize = row.fileSize
|
||||
formData.fileType = row.fileType
|
||||
formData.plmDocId = row.plmDocId
|
||||
formData.plmVersion = row.plmVersion
|
||||
formData.plmStatus = row.plmStatus
|
||||
formData.status = row.status
|
||||
formData.remark = row.remark
|
||||
formData.processId = row.processId
|
||||
formData.drawingType = row.drawingType
|
||||
formData.fileId = row.fileId
|
||||
|
||||
|
||||
selval.value = row.processId
|
||||
flist.value.splice(0)
|
||||
filelist(row.fileId).then(rps => {
|
||||
if(rps){
|
||||
flist.value.push({
|
||||
id: rps.id,
|
||||
name: rps.originalName,
|
||||
status: 'finished', // 关键:状态设为 'finished' 表示上传完成
|
||||
url: rps.url, // 用于预览
|
||||
})
|
||||
}
|
||||
|
||||
})
|
||||
// formData.drawingName = row.drawingName
|
||||
// formData.drawingVersion = row.drawingVersion
|
||||
// formData.processRouteStepId = row.processRouteStepId
|
||||
// formData.processCode = row.processCode
|
||||
// formData.processName = row.processName
|
||||
// formData.filePath = row.filePath
|
||||
// formData.fileName = row.fileName
|
||||
// formData.fileSize = row.fileSize
|
||||
// formData.fileType = row.fileType
|
||||
// formData.plmDocId = row.plmDocId
|
||||
// formData.plmVersion = row.plmVersion
|
||||
// formData.plmStatus = row.plmStatus
|
||||
// formData.status = row.status
|
||||
// formData.remark = row.remark
|
||||
}else{
|
||||
formData.id = ''
|
||||
formData.drawingCode = ''
|
||||
formData.drawingName = ''
|
||||
formData.drawingVersion = ''
|
||||
formData.processRouteStepId = ''
|
||||
formData.processCode = ''
|
||||
formData.processName = ''
|
||||
formData.filePath = ''
|
||||
formData.fileName = ''
|
||||
formData.fileSize = ''
|
||||
formData.fileType = ''
|
||||
formData.plmDocId = ''
|
||||
formData.plmVersion = ''
|
||||
formData.plmStatus = ''
|
||||
formData.status = ''
|
||||
formData.remark = ''
|
||||
formData.processId = ''
|
||||
formData.drawingType = 0
|
||||
formData.status = 1
|
||||
formData.fileId = ''
|
||||
flist.value.splice(0)
|
||||
// formData.drawingCode = ''
|
||||
// formData.drawingName = ''
|
||||
// formData.drawingVersion = ''
|
||||
// formData.processRouteStepId = ''
|
||||
// formData.processCode = ''
|
||||
// formData.processName = ''
|
||||
// formData.filePath = ''
|
||||
// formData.fileName = ''
|
||||
// formData.fileSize = ''
|
||||
// formData.fileType = ''
|
||||
// formData.plmDocId = ''
|
||||
// formData.plmVersion = ''
|
||||
// formData.plmStatus = ''
|
||||
// formData.status = 1
|
||||
// formData.remark = ''
|
||||
generateDFCode().then(rps => {
|
||||
formData.drawingCode = rps
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function addEdi(){
|
||||
@ -645,7 +789,7 @@ function savehand() {
|
||||
addformRef.value?.validate((e:any) => {
|
||||
if (!e) {
|
||||
addEdi().then(() => {
|
||||
message.success(isstype.value == 1?'新增':'修改')
|
||||
message.success(isstype.value == 1?'新增成功':'修改成功')
|
||||
setTimeout(() => {
|
||||
getlist()
|
||||
addModel.value = false
|
||||
@ -702,37 +846,136 @@ const issaddrules = {
|
||||
}
|
||||
|
||||
|
||||
function renderlabe() {}
|
||||
function issuehand() {
|
||||
// function renderlabe() {}
|
||||
// function issuehand() {
|
||||
// issueModel.value = true
|
||||
// // if(chearr.value.length > 0){
|
||||
// // batchIssue(chearr.value).then(() => {
|
||||
// // message.success('操作成功')
|
||||
// // })
|
||||
// // }else{
|
||||
// // message.error('请勾选设备')
|
||||
// // }
|
||||
|
||||
// }
|
||||
|
||||
let treeData:any = []
|
||||
let xfsbvalue = ref<Array<string | number>>([])
|
||||
let renderSourceList:any = ''
|
||||
|
||||
let options = ref<any>([]) //flattenTree(createData())
|
||||
|
||||
function flattenTree(list: undefined | any[]) {
|
||||
const result: any[] = []
|
||||
function flatten(_list: any[] = []) {
|
||||
_list.forEach((item) => {
|
||||
//result.push(item)
|
||||
if(item.childList){
|
||||
flatten(item.childList)
|
||||
}else{
|
||||
result.push(item)
|
||||
}
|
||||
})
|
||||
}
|
||||
flatten(list)
|
||||
return result
|
||||
}
|
||||
|
||||
let issarr:any[] = []
|
||||
let imgCode = ref<any>('')
|
||||
function tranupdate(v:any) {
|
||||
issarr = []
|
||||
if(v.length > 0){
|
||||
v.forEach((n:any) => {
|
||||
if(n.split('-').length == 3){
|
||||
issarr.push(n)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
let imgid = ''
|
||||
function issuehand(row:any) {
|
||||
issueModel.value = true
|
||||
// if(chearr.value.length > 0){
|
||||
// batchIssue(chearr.value).then(() => {
|
||||
// message.success('操作成功')
|
||||
// })
|
||||
// }else{
|
||||
// message.error('请勾选设备')
|
||||
// }
|
||||
issarr = []
|
||||
imgid = row.id
|
||||
imgCode.value = row.drawingCode
|
||||
}
|
||||
|
||||
|
||||
function isssavehand() {
|
||||
if(issarr.length > 0){
|
||||
drawingIssue({
|
||||
id:imgid,
|
||||
twCode:issarr
|
||||
}).then(() => {
|
||||
message.success('操作成功')
|
||||
setTimeout(() => {
|
||||
getlist()
|
||||
issueModel.value = false
|
||||
},1500)
|
||||
})
|
||||
}else{
|
||||
message.warning('请选择设备')
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
const issformRef = ref()
|
||||
|
||||
function isssavehand() {
|
||||
issformRef.value?.validate((e:any) => {
|
||||
if (!e) {
|
||||
message.success('操作成功')
|
||||
setTimeout(() => {
|
||||
getlist()
|
||||
issueModel.value = false
|
||||
},1500)
|
||||
}
|
||||
// function isssavehand() {
|
||||
// issformRef.value?.validate((e:any) => {
|
||||
// if (!e) {
|
||||
// message.success('操作成功')
|
||||
// setTimeout(() => {
|
||||
// getlist()
|
||||
// issueModel.value = false
|
||||
// },1500)
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
|
||||
function handleExport() {
|
||||
|
||||
|
||||
exportdraFile({}).then(rps => {
|
||||
const url = window.URL.createObjectURL(rps)
|
||||
const link = document.createElement('a')
|
||||
link.href = url
|
||||
link.download = '图文数据.xlsx'
|
||||
link.click()
|
||||
window.URL.revokeObjectURL(url)
|
||||
})
|
||||
}
|
||||
|
||||
getlist()
|
||||
|
||||
onMounted(() => {
|
||||
|
||||
//加载任务树
|
||||
opertree().then(rps => {
|
||||
treeData = rps
|
||||
options.value = flattenTree(treeData)
|
||||
renderSourceList = function (obj:any) {
|
||||
return h(NTree, {
|
||||
style: 'margin: 0 4px;',
|
||||
keyField: 'value',
|
||||
checkable: true,
|
||||
selectable: false,
|
||||
blockLine: true,
|
||||
checkOnClick: true,
|
||||
childrenField:'childList',
|
||||
data: treeData,
|
||||
cascade:true,
|
||||
defaultExpandAll:true,
|
||||
pattern:obj.pattern,
|
||||
checkedKeys: xfsbvalue.value,
|
||||
onUpdateCheckedKeys: (checkedKeys:any) => {
|
||||
obj.onCheck(checkedKeys)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
//loadDictOptions()
|
||||
|
||||
})
|
||||
|
||||
@ -16,7 +16,7 @@ export default defineConfig({
|
||||
emptyOutDir: true
|
||||
},
|
||||
server: {
|
||||
host: true,
|
||||
host:'192.168.12.11', //true,
|
||||
port: 3000,
|
||||
proxy: {
|
||||
'/api': {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user