¶Ô±ÈÐÂÎļþ |
| | |
| | | /* |
| | | * @Date: 2025-06-12 22:38:05 |
| | | * @LastEditors: gaoshp |
| | | * @LastEditTime: 2025-07-08 21:08:24 |
| | | * @FilePath: /mdmweb/src/api/flowmgr/backImport.js |
| | | */ |
| | | import request from '@/axios'; |
| | | export const getList = (current, size, params) => { |
| | | return request({ |
| | | url: '', |
| | | method: 'get', |
| | | params: { |
| | | ...params, |
| | | current, |
| | | size, |
| | | }, |
| | | }) |
| | | }; |
| | |
| | | <!-- |
| | | * @Date: 2025-06-17 11:44:52 |
| | | * @LastEditors: gaoshp |
| | | * @LastEditTime: 2025-06-17 21:59:33 |
| | | * @LastEditTime: 2025-07-08 20:06:11 |
| | | * @FilePath: /mdmweb/src/views/basesetting/produceplan.vue |
| | | --> |
| | | <template> |
| | |
| | | }, |
| | | rules: [{ required: true, message: '请è¾å
¥å®¡æ ¸(é«å¸)', trigger: 'blur' }], |
| | | }, |
| | | { |
| | | label: 'å¾å·', |
| | | prop: 'drawingNo', |
| | | type: 'input', |
| | | display: true, |
| | | span: 24, |
| | | rules: [{ required: true, message: '请è¾å
¥å®¡æ ¸å¾å·', trigger: 'blur' }], |
| | | }, |
| | | |
| | | // Add more columns as needed |
| | | ], |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <basic-container> |
| | | <avue-crud |
| | | :addBtn="false" |
| | | :option="option" |
| | | :table-loading="loading" |
| | | :data="data" |
| | | ref="crud" |
| | | @selection-change="selectionChange" |
| | | > |
| | | <template #menu-left> |
| | | <div style="display: flex;"> |
| | | <el-button type="primary" size="default" icon="el-icon-circle-plus" @click="importData">导å
¥</el-button> |
| | | <el-button type="primary" size="default" icon="el-icon-circle-plus" plain @click="handleWarehouse" style="margin-left: 12px;">å
¥åº</el-button> |
| | | </div> |
| | | </template> |
| | | </avue-crud> |
| | | <el-dialog title="DNCæä»¶å¯¼å
¥" append-to-body v-model="excelBox" width="555px"> |
| | | <avue-form :option="excelOption" v-model="excelForm" :upload-after="uploadAfter"> |
| | | <!-- <template #excelTemplate> |
| | | <el-button type="primary" @click="handleTemplate"> |
| | | ç¹å»ä¸è½½<i class="el-icon-download el-icon--right"></i> |
| | | </el-button> |
| | | </template> --> |
| | | </avue-form> |
| | | </el-dialog> |
| | | </basic-container> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | getList, |
| | | } from '@/api/system/user'; |
| | | export default { |
| | | data() { |
| | | return { |
| | | selection: [], |
| | | excelBox: false, |
| | | loading: false, |
| | | option: { |
| | | addBtn: false, |
| | | editBtn: false, |
| | | delBtn: false, |
| | | labelWidth: 120, |
| | | emptyBtn: false, |
| | | searchSpan: 8, |
| | | menu: false, |
| | | selection: true, |
| | | column: [ |
| | | // { |
| | | // label: 'æä»¶è·¯å¾', |
| | | // type: 'input', |
| | | // prop: 'keyword', |
| | | // hide: true |
| | | // }, |
| | | { |
| | | label: 'å¾å·', |
| | | prop: 'drawingNo' |
| | | }, |
| | | { |
| | | label: 'ç¨åºç¼å·', |
| | | prop: 'code', |
| | | }, |
| | | { |
| | | label: 'ç¨åºåç§°', |
| | | prop: 'name', |
| | | }, |
| | | { |
| | | label: 'æºåºç¼å·', |
| | | prop: 'machineCode', |
| | | }, |
| | | // { |
| | | // label: 'å¤çç¶æ', |
| | | // prop: '', |
| | | // }, |
| | | // { |
| | | // label: 'å¤çæ¹å¼', |
| | | // prop: '' |
| | | // }, |
| | | // { |
| | | // label: 'å¤çæ¶é´', |
| | | // prop: '' |
| | | // }, |
| | | // { |
| | | // label: 'å¤ç人', |
| | | // prop: '' |
| | | // }, |
| | | { |
| | | label: 'MD5å¼', |
| | | prop: 'md5', |
| | | } |
| | | ], |
| | | }, |
| | | data: [], |
| | | excelForm: {}, |
| | | excelOption: { |
| | | submitBtn: false, |
| | | emptyBtn: false, |
| | | column: [ |
| | | { |
| | | label: 'æä»¶å¯¼å
¥', |
| | | prop: 'excelFile', |
| | | type: 'upload', |
| | | drag: true, |
| | | loadText: 'DNCæä»¶å¯¼å
¥ï¼è¯·ç¨ç', |
| | | span: 24, |
| | | propsHttp: { |
| | | res: 'data', |
| | | }, |
| | | tip: '', |
| | | action: '/blade-mdm/program/mdmimport/upload', |
| | | }, |
| | | ], |
| | | }, |
| | | }; |
| | | }, |
| | | methods: { |
| | | selectionChange(selection) { |
| | | this.selection = selection; |
| | | }, |
| | | importData () { |
| | | this.excelBox = true; |
| | | }, |
| | | uploadAfter(res, done, loading, column) { |
| | | window.console.log(column); |
| | | this.excelBox = false; |
| | | console.log('data', res); |
| | | this.data = res || [] |
| | | done(); |
| | | }, |
| | | handleWarehouse(row,index) { |
| | | if(this.selection.length == 0) { |
| | | this.$message.error("è¯·éæ©æ°æ®") |
| | | }else { |
| | | var selection = []; |
| | | this.selection.forEach(item=> { |
| | | selection.push(item.id); |
| | | }) |
| | | this.loading = true; |
| | | var obj = { |
| | | ids: selection.join(","), |
| | | } |
| | | axios({ |
| | | url: '/blade-mdm/program/mdmimport/accept', |
| | | method: 'post', |
| | | params: obj, |
| | | }).then( |
| | | res => { |
| | | console.log(res); |
| | | if (res.data.code === 200) { |
| | | this.$message.success("æä½æå"); |
| | | this.loading = false; |
| | | this.data = [] |
| | | } else { |
| | | this.$message.success(res.data.msg || "æä½å¤±è´¥"); |
| | | } |
| | | |
| | | } |
| | | ); |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | |
| | | </style> |
| | |
| | | <!-- |
| | | * @Date: 2025-07-01 20:45:15 |
| | | * @LastEditors: gaoshp |
| | | * @LastEditTime: 2025-07-07 20:00:11 |
| | | * @LastEditTime: 2025-07-08 20:03:15 |
| | | * @FilePath: /mdmweb/src/views/flow/components/TodolistLeft.vue |
| | | --> |
| | | <template> |
| | |
| | | this.$message.error('è·åå·²éç¨åºå¤±è´¥'); |
| | | return; |
| | | } else { |
| | | this.appData = res.data |
| | | this.tableData = res.data.data || []; |
| | | } |
| | | this.$emit('selection-change',this.tableData) |
| | | }) |
| | |
| | | <el-input v-model="formInline.processName" placeholder=""></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="é¶ç»ä»¶å·"> |
| | | <el-input v-model="formInline.partNo" placeholder=""></el-input> |
| | | <el-input v-model="formInline.drawingNo" placeholder=""></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="å å·¥æºåº"> |
| | | <el-input v-model="formInline.machineCode" placeholder=""></el-input> |
| | |
| | | processNo: this.row.variables.processNo || '', |
| | | planStartTime: this.row.variables.planStartTime || '', |
| | | productModel: this.row.variables.productModel || '', |
| | | partNo: this.row.variables.partNo || '', |
| | | drawingNo: this.row.variables.drawingNo || '', |
| | | } |
| | | } |
| | | } |
| | |
| | | { |
| | | label: 'æµç¨ç±»å', |
| | | width: 100, |
| | | prop: 'processDefinitionName', |
| | | prop: 'categoryName', |
| | | }, |
| | | |
| | | { |
| | |
| | | ...this.formApprove, |
| | | taskId: this.row.taskId, |
| | | processInstanceId: this.row.processInstanceId, |
| | | programIds: this.applist.map(v => v.id).join(','), |
| | | programIds: this.row.taskDefinitionKey === 'programmingTask' ? this.applist.map(v => v.id).join(',') : '', |
| | | }).then(res => { |
| | | this.$message.success('å®¡æ¹æå'); |
| | | this.approveBox = false; |
| | |
| | | :table-loading="loading" |
| | | :data="data" |
| | | ref="crud" |
| | | v-model:search="search" |
| | | v-model:page="mypage" |
| | | @search-change="searchChange" |
| | | @search-reset="searchReset" |
| | | @current-change="currentChange" |
| | | @size-change="sizeChange" |
| | | @refresh-change="refreshChange" |
| | | @on-load="onLoad" |
| | | @selection-change="selectionChange" |
| | | > |
| | | <template #menu-left> |
| | | <div style="display: flex;"> |
| | | <el-upload action="/blade-mdm/program/dncsendback/upload"> |
| | | <el-button type="primary" size="default" icon="el-icon-circle-plus">导å
¥</el-button> |
| | | </el-upload> |
| | | <el-button type="primary" size="default" icon="el-icon-circle-plus" @click="importData">导å
¥</el-button> |
| | | <el-button type="primary" size="default" icon="el-icon-circle-plus" plain @click="handleWarehouse" style="margin-left: 12px;">å
¥åº</el-button> |
| | | </div> |
| | | </template> |
| | | </avue-crud> |
| | | <el-dialog title="DNCæä»¶å¯¼å
¥" append-to-body v-model="excelBox" width="555px"> |
| | | <avue-form :option="excelOption" v-model="excelForm" :upload-after="uploadAfter"> |
| | | <!-- <template #excelTemplate> |
| | | <el-button type="primary" @click="handleTemplate"> |
| | | ç¹å»ä¸è½½<i class="el-icon-download el-icon--right"></i> |
| | | </el-button> |
| | | </template> --> |
| | | </avue-form> |
| | | </el-dialog> |
| | | </basic-container> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | getList, |
| | | } from '@/api/system/user'; |
| | | export default { |
| | | data() { |
| | | return { |
| | | selection: [], |
| | | search: {}, |
| | | loading: true, |
| | | mypage: { |
| | | size: 10, |
| | | current: 1, |
| | | total: 0, |
| | | }, |
| | | excelBox: false, |
| | | loading: false, |
| | | option: { |
| | | addBtn: false, |
| | | editBtn: false, |
| | |
| | | menu: false, |
| | | selection: true, |
| | | column: [ |
| | | { |
| | | label: 'æä»¶è·¯å¾', |
| | | type: 'input', |
| | | prop: 'keyword', |
| | | search: true, |
| | | hide: true |
| | | }, |
| | | // { |
| | | // label: 'æä»¶è·¯å¾', |
| | | // type: 'input', |
| | | // prop: 'keyword', |
| | | // hide: true |
| | | // }, |
| | | { |
| | | label: 'ä»»å¡ç¼å·', |
| | | prop: 'programNo' |
| | |
| | | }, |
| | | { |
| | | label: 'æä»¶æ°æ®åºç¼å·', |
| | | prop: '', |
| | | prop: 'id', |
| | | }, |
| | | { |
| | | label: 'å¤çç¶æ', |
| | | prop: '', |
| | | }, |
| | | { |
| | | label: 'å¤çæ¹å¼', |
| | | prop: '' |
| | | }, |
| | | { |
| | | label: 'å¤çæ¶é´', |
| | | prop: '' |
| | | }, |
| | | { |
| | | label: 'å¤ç人', |
| | | prop: '' |
| | | }, |
| | | // { |
| | | // label: 'å¤çç¶æ', |
| | | // prop: '', |
| | | // }, |
| | | // { |
| | | // label: 'å¤çæ¹å¼', |
| | | // prop: '' |
| | | // }, |
| | | // { |
| | | // label: 'å¤çæ¶é´', |
| | | // prop: '' |
| | | // }, |
| | | // { |
| | | // label: 'å¤ç人', |
| | | // prop: '' |
| | | // }, |
| | | { |
| | | label: 'MD5å¼', |
| | | prop: 'md5 ' |
| | | prop: 'md5', |
| | | } |
| | | ], |
| | | }, |
| | | data: [], |
| | | excelForm: {}, |
| | | excelOption: { |
| | | submitBtn: false, |
| | | emptyBtn: false, |
| | | column: [ |
| | | { |
| | | label: 'æä»¶å¯¼å
¥', |
| | | prop: 'excelFile', |
| | | type: 'upload', |
| | | drag: true, |
| | | loadText: 'DNCæä»¶å¯¼å
¥ï¼è¯·ç¨ç', |
| | | span: 24, |
| | | propsHttp: { |
| | | res: 'data', |
| | | }, |
| | | tip: '', |
| | | action: '/blade-mdm/program/dncsendback/upload', |
| | | }, |
| | | ], |
| | | }, |
| | | }; |
| | | }, |
| | | methods: { |
| | | selectionChange(selection) { |
| | | this.selection = selection; |
| | | }, |
| | | importData () { |
| | | this.excelBox = true; |
| | | }, |
| | | uploadAfter(res, done, loading, column) { |
| | | window.console.log(column); |
| | | this.excelBox = false; |
| | | console.log('data', res); |
| | | this.data = res || [] |
| | | done(); |
| | | }, |
| | | handleWarehouse(row,index) { |
| | | if(this.selection.length == 0) { |
| | |
| | | } |
| | | axios({ |
| | | url: '/blade-mdm/program/dncsendback/accept', |
| | | method: 'get', |
| | | method: 'post', |
| | | params: obj, |
| | | }).then( |
| | | res => { |
| | | this.$message.success("æä½æå"); |
| | | this.loading = false; |
| | | console.log(res); |
| | | if (res.data.code === 200) { |
| | | this.$message.success("æä½æå"); |
| | | this.loading = false; |
| | | this.data = [] |
| | | } else { |
| | | this.$message.success(res.data.msg || "æä½å¤±è´¥"); |
| | | } |
| | | |
| | | } |
| | | ); |
| | | } |
| | | }, |
| | | searchReset() { |
| | | //this.onLoad(this.mypage); |
| | | }, |
| | | searchChange(params, done) { |
| | | this.mypage.current = 1; |
| | | this.onLoad(); |
| | | done(); |
| | | }, |
| | | currentChange(current) { |
| | | this.mypage.current = current; |
| | | }, |
| | | sizeChange(size) { |
| | | this.mypage.size = size; |
| | | }, |
| | | refreshChange() { |
| | | |
| | | }, |
| | | onLoad() { |
| | | this.loading = true; |
| | | var obj = { |
| | | keyword: this.search.keyword, |
| | | machineSpec: "", |
| | | current: this.mypage.current, |
| | | size: this.mypage.size, |
| | | } |
| | | axios({ |
| | | url: '/blade-mdm/program/dncsendback/page', |
| | | method: 'get', |
| | | params: obj, |
| | | }).then( |
| | | res => { |
| | | const data = res.data.data; |
| | | this.mypage.total = data.total; |
| | | this.data = data.records; |
| | | this.loading = false; |
| | | }, |
| | | error => { |
| | | |
| | | } |
| | | ); |
| | | } |
| | | }, |
| | | }; |
| | | </script> |
| | |
| | | <!-- |
| | | * @Date: 2025-06-20 20:48:17 |
| | | * @LastEditors: gaoshp |
| | | * @LastEditTime: 2025-07-07 23:00:25 |
| | | * @LastEditTime: 2025-07-08 20:46:33 |
| | | * @FilePath: /mdmweb/src/views/flowmgr/programexport.vue |
| | | --> |
| | | <template> |
| | |
| | | column: [ |
| | | { |
| | | label: 'å¾å·', |
| | | prop: 'partNo', |
| | | prop: 'drawingNo', |
| | | }, |
| | | { |
| | | label: 'å¾å·ç次', |
| | | prop: 'partNoEdition', |
| | | prop: 'drawingNoEdition', |
| | | }, |
| | | { |
| | | label: 'å·¥åºåç§°', |
| | |
| | | {}, |
| | | {ids: this.selection.map(item => item.id)}, |
| | | ).then(res => { |
| | | console.log(res); |
| | | downloadFile(res.data, `导åºDNC${this.$dayjs().format('YYYY-MM-DD HH:mm:ss')}.zip`); |
| | | let name = res.headers['content-disposition'].split('filename=')[1] |
| | | console.log(res.headers['content-disposition'].split('filename=')[1]); |
| | | downloadFile(res.data, `导åºDNC-${name}`); |
| | | NProgress.done(); |
| | | }); |
| | | }); |
| | |
| | | <el-button :size="size" text icon="el-icon-delete" type="primary" @click="showDel(row)" placeholder="å é¤" title="å é¤"></el-button> |
| | | <el-button :size="size" text v-if="row.nodeType < 60" icon="el-icon-document-add" type="primary" @click="showAdd(row)" placeholder="æ°å¢å级" title="æ°å¢å级"></el-button> |
| | | <el-button :size="size" text v-if="row.nodeType == 60" icon="el-icon-upload" type="primary" @click="showUpload(row)" placeholder="æä»¶ä¸ä¼ " title="æä»¶ä¸ä¼ "></el-button> |
| | | <el-button :size="size" text v-if="row.nodeType == 60" icon="el-icon-pie-chart" type="primary" @click="upgrade(row)" placeholder="å级" title="å级"></el-button> |
| | | <el-button :size="size" text v-if="row.nodeType == 70" icon="el-icon-pie-chart" type="primary" @click="upgrade(row)" placeholder="å级" title="å级"></el-button> |
| | | <el-button :size="size" text v-if="row.nodeType == 60 && !isSM" icon="el-icon-position" type="primary" @click="downsend(row)" placeholder="ä¸å" title="ä¸å"></el-button> |
| | | </template> |
| | | </avue-crud> |
| | |
| | | <avue-form v-if="tabsType == 'tab1'" :option="tabsFormOption" v-model="tabsForm"></avue-form> |
| | | <span v-else-if="tabsType == 'tab2'">çæ¬ä¿¡æ¯</span> |
| | | <template v-else-if="tabsType == 'tab3'"> |
| | | æä»¶å
容 |
| | | {{fileContent}} |
| | | <!-- <div v-for="item in fileList" v-if="fileList.length > 0" class="fileListStyle"> |
| | | <span>{{item.name}}</span> |
| | | <span class="delFile" @click="delFile(item)">X</span> |
| | |
| | | export default { |
| | | data() { |
| | | return { |
| | | fileContent: "", |
| | | isSM: false, //æ¯å¦æ¯æ¶å¯ç½ ï¼å·¥æ§ç½5ä¸ªï¼æ¶å¯ç½4个 |
| | | isShowTabs: true, |
| | | nodeTypeList: [], |
| | |
| | | }, |
| | | { |
| | | label: 'å建人', |
| | | prop: 'createUser', |
| | | prop: 'createUserName', |
| | | disabled: true, |
| | | placeholder: " " |
| | | }, |
| | |
| | | }, |
| | | { |
| | | label: '设å¤ï¼æºåºï¼', |
| | | prop: 'abc' |
| | | prop: 'machineCode', |
| | | type: 'select', |
| | | dicUrl: '/blade-mdm/machine/page', |
| | | props: { |
| | | label: 'name', |
| | | value: 'code', |
| | | }, |
| | | dicFormatter(res) { |
| | | return res.data.records; |
| | | } |
| | | }, |
| | | { |
| | | label: 'èç¹åç§°', |
| | |
| | | }, |
| | | { |
| | | label: 'èç¹æè¿°', |
| | | prop: 'abc', |
| | | prop: 'description', |
| | | hide: true |
| | | }, |
| | | { |
| | |
| | | }, |
| | | { |
| | | label: '设å¤', |
| | | prop: 'abc' |
| | | prop: 'machineCode' |
| | | }, |
| | | { |
| | | label: 'åºåç¶æ', |
| | |
| | | }, |
| | | { |
| | | label: 'å建人', |
| | | prop: 'createUser', |
| | | prop: 'createUserName', |
| | | width: '180' |
| | | } |
| | | ], |
| | |
| | | value: 'dictKey', |
| | | }, |
| | | disabled: true |
| | | }, |
| | | { |
| | | label: '设å¤ç¼å·', |
| | | prop: 'machineCode', |
| | | type: 'select', |
| | | dicUrl: '/blade-mdm/machine/page', |
| | | props: { |
| | | label: 'name', |
| | | value: 'code', |
| | | }, |
| | | dicFormatter(res) { |
| | | return res.data.records; |
| | | } |
| | | }, |
| | | { |
| | | label: 'é¶ç»ä»¶å·/å¾å·', |
| | | prop: 'drawingNo' |
| | | }, |
| | | { |
| | | label: 'å·¥åº', |
| | | prop: 'processName' |
| | | }, |
| | | { |
| | | label: 'å·¥åºçæ¬', |
| | | prop: 'processEdition' |
| | | }, |
| | | { |
| | | label: 'èç¹åç±»', |
| | | prop: 'category', |
| | | type: 'select', |
| | | dicUrl: '/blade-system/dict-biz/dictionary?code=node_file_type', |
| | | props: { |
| | | label: 'dictValue', |
| | | value: 'dictKey', |
| | | } |
| | | }, |
| | | { |
| | | label: 'éæ©æä»¶', |
| | |
| | | getFile(id) { //æ¥çæä»¶å
容 |
| | | this.loading = true; |
| | | axios({ |
| | | url: '/blade-mdm/program/ncfile/content', |
| | | url: '/blade-mdm/program/ncfile/content-by-nodeid', |
| | | method: 'get', |
| | | params: {id}, |
| | | params: {nodeId:id}, |
| | | }).then( |
| | | res => { |
| | | this.loading = true; |
| | | console.log(res.data,123) |
| | | this.loading = false; |
| | | this.fileContent = res.data.data; |
| | | } |
| | | ); |
| | | }, |
| | |
| | | this.nodeTypeList = res.data.data; |
| | | } |
| | | ); |
| | | //å¤æçæ¬ 0:æ¶å¯ç½ï¼1:å·¥æ§ç½ï¼//å·¥æ§ç½5ä¸ªï¼æ¶å¯ç½4个 |
| | | axios({url: '/blade-system/param/detail?paramKey=networkType',method: 'get'}).then(res => { |
| | | if(res.data.data.paramValue === "0") { |
| | | //å¤æçæ¬ 0:æ¶å¯ç½ï¼1:å·¥æ§ç½ï¼//å·¥æ§ç½5ä¸ªï¼æ¶å¯ç½4个 |
| | | axios({url: '/blade-mdm/system/param/getValue?paramKey=networkType',method: 'get'}).then(res => { |
| | | if(res.data.data === "0") { |
| | | this.isSM = true; |
| | | } |
| | | } |