¶Ô±ÈÐÂÎļþ |
| | |
| | | /* |
| | | * @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, |
| | | }, |
| | | }) |
| | | }; |
| | |
| | | * @Author: æå(å¼åç») lzhe@yxqiche.com |
| | | * @Date: 2025-06-11 10:04:08 |
| | | * @LastEditors: æå(å¼åç») lzhe@yxqiche.com |
| | | * @LastEditTime: 2025-07-07 17:46:08 |
| | | * @LastEditTime: 2025-07-08 10:49:40 |
| | | * @FilePath: /dev-optimize-0710-lzhe/Users/test/MDM/mdmweb/src/config/website.js |
| | | * @Description: è¿æ¯é»è®¤è®¾ç½®,请设置`customMade`, æå¼koroFileHeaderæ¥çé
ç½® è¿è¡è®¾ç½®: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE |
| | | */ |
| | |
| | | //oauth2é
ç½® |
| | | oauth2: { |
| | | // æ¯å¦å¼å¯æ³¨ååè½ |
| | | registerMode: true, |
| | | registerMode: false, |
| | | // 使ç¨åç«¯å·¥ç¨ @org.springblade.test.Sm2KeyGenerator è·å |
| | | publicKey: '04cd1b295876209215161da4620bbdea7ee96654ed8a6306ea6f75acd2715c4cbcac26679f13a027114dc83ef4f743a8d998defbc5cea2a0fd1a39750f684cf093', |
| | | // ç¬¬ä¸æ¹ç³»ç»ææå°å |
| | |
| | | <codeLogin v-else-if="activeName === 'code'"></codeLogin> |
| | | <thirdLogin v-else-if="activeName === 'third'"></thirdLogin> |
| | | <registerLogin v-else-if="activeName === 'register'"></registerLogin> |
| | | <div class="login-menu"> |
| | | <div class="login-menu" v-if="isShowMenu"> |
| | | <el-link href="#" @click.stop="activeName = 'user'">{{ |
| | | $t('login.userLogin') |
| | | }}</el-link> |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | isShowMenu: false, |
| | | website: website, |
| | | time: '', |
| | | activeName: 'user', |
| | |
| | | <!-- |
| | | * @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(); |
| | | }); |
| | | }); |
| | |
| | | @row-update="rowUpdate" |
| | | @row-click="rowClick" |
| | | > |
| | | <template #menu-left> |
| | | <el-button :size="size" type="primary" @click="showAdd()">æ°å¢æ ¹èç¹</el-button> |
| | | </template> |
| | | <template #name="{ row }"> |
| | | <span>{{row.name}}</span> |
| | | <el-button :size="size" text icon="el-icon-setting" type="primary" placeholder="ä¿®æ¹" @click="showEdit(row)" title="ä¿®æ¹"></el-button> |
| | | <el-button :size="size" text v-if="row.nodeType != 70" icon="el-icon-setting" type="primary" placeholder="ä¿®æ¹" @click="showEdit(row)" title="ä¿®æ¹"></el-button> |
| | | <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> |
| | | <!-- æ°å¢èç¹ --> |
| | | <el-dialog :title="modalTitle" append-to-body v-model="modalBox"> |
| | | <avue-form :option="modalOption" v-model="modalForm" @submit="modalSubmit" @reset-change="modalCancel"/> |
| | | </el-dialog> |
| | |
| | | <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'"> |
| | | <div v-for="item in fileList" v-if="fileList.length > 0" class="fileListStyle"> |
| | | {{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> |
| | | </div> |
| | | </div> --> |
| | | </template> |
| | | </basic-container> |
| | | </template> |
| | |
| | | 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: 'éæ©æä»¶', |
| | |
| | | |
| | | }, |
| | | uploadAfter() { |
| | | this.getFile(this.id); |
| | | |
| | | }, |
| | | upgrade(row) { //å级 |
| | | this.loading = true; |
| | |
| | | this.tabsForm.nodeTypeName = item.dictValue; |
| | | } |
| | | }) |
| | | if(this.tabsForm.nodeType < 60) { |
| | | if(this.tabsForm.nodeType < 70) { |
| | | this.tabsOption = this.tabsOption1; |
| | | }else { |
| | | this.tabsOption = this.tabsOption2; |
| | |
| | | this.uploadmodalForm = row; |
| | | this.uploadmodalBox = true; |
| | | }, |
| | | getFile(id) { |
| | | var obj = {nodeId: id} |
| | | getFile(id) { //æ¥çæä»¶å
容 |
| | | this.loading = true; |
| | | axios({ |
| | | url: '/blade-mdm/program/ncfile/list-by-node', |
| | | url: '/blade-mdm/program/ncfile/content-by-nodeid', |
| | | method: 'get', |
| | | params: obj, |
| | | params: {nodeId:id}, |
| | | }).then( |
| | | resp => { |
| | | this.fileList = resp.data.data; |
| | | res => { |
| | | this.loading = false; |
| | | this.fileContent = res.data.data; |
| | | } |
| | | ); |
| | | }, |
| | | uploadmodalSubmit(row,done) { |
| | | this.uploadmodalBox = false; |
| | | this.addLocalTreeNode(row.parentId); //éæ°å è½½ä¸ä¸çº§ |
| | | done(); |
| | | }, |
| | | rowDel(row, index, done) { |
| | |
| | | }) |
| | | }, |
| | | showAdd (row) { //æ°å¢åèç¹ |
| | | if(row.nodeType == 60) { |
| | | return; |
| | | if(!row) { |
| | | this.modalTitle = "æ°å¢æ ¹èç¹"; |
| | | this.modalForm.nodeType = "10"; |
| | | this.modalForm.parentId = 0; |
| | | }else { |
| | | if(row.nodeType == 60) { |
| | | return; |
| | | } |
| | | this.modalTitle = "æ°å¢åèç¹"; |
| | | this.selectedColumn.nodeType = String(Number(row.nodeType) + 10); |
| | | this.selectedColumn.parentId = row.id; |
| | | this.selectedColumn.name = ""; |
| | | this.selectedColumn.id = ""; |
| | | this.modalForm = this.selectedColumn; |
| | | } |
| | | this.modalTitle = "æ°å¢åèç¹"; |
| | | this.selectedColumn.nodeType = String(Number(row.nodeType) + 10); |
| | | this.selectedColumn.parentId = row.id; |
| | | this.selectedColumn.name = ""; |
| | | this.selectedColumn.id = ""; |
| | | this.modalForm = this.selectedColumn; |
| | | this.modalBox = true; |
| | | }, |
| | | modalSubmit(row,done) { //æ°å¢åèç¹ä¿å/ä¿®æ¹ |
| | |
| | | this.updateLocalTreeNode(this.modalForm); |
| | | }else { |
| | | // å¦ææ¯æ°å¢æä½ï¼å¯è½éè¦éæ°å è½½æ°æ® |
| | | this.$refs.crud.refreshTable(); |
| | | //this.$refs.crud.refreshTable(); |
| | | //this.onLoad(); |
| | | //æ°å¢ï¼æ´æ°æ¬å°æ°æ® |
| | | this.addLocalTreeNode(row.parentId); |
| | | } |
| | | this.loading = false; |
| | | done(row); |
| | | } |
| | | ); |
| | | }, |
| | | updateLocalTreeNode(nodeData) { |
| | | addLocalTreeNode(parentId) { |
| | | if(this.modalTitle == "æ°å¢æ ¹èç¹") { |
| | | this.onLoad(); |
| | | return; |
| | | } |
| | | this.loading = true; |
| | | var obj = {parentId: parentId} |
| | | axios({ |
| | | url: '/blade-mdm/program/node/lazy-list', |
| | | method: 'get', |
| | | params: obj, |
| | | }).then( |
| | | res => { |
| | | var children = res.data.data || []; |
| | | this.updateParentNodeChildren(parentId, children); |
| | | this.loading = false; |
| | | } |
| | | ); |
| | | }, |
| | | updateParentNodeChildren(parentId, newChildren) { //æ°å¢çæ¹æ³ |
| | | const updateTree = (nodes) => { |
| | | for (let i = 0; i < nodes.length; i++) { |
| | | if (nodes[i].id === parentId) { |
| | | // æ´æ°èç¹æ°æ® |
| | | nodes[i].children = [...newChildren]; |
| | | this.data = [...this.data]; // æ¿æ¢é¡¶å±å¼ç¨ |
| | | return true; |
| | | } |
| | | if (Array.isArray(nodes[i].children) && nodes[i].children.length > 0) { |
| | | if (updateTree(nodes[i].children)) { |
| | | return true; |
| | | } |
| | | } |
| | | } |
| | | return false; |
| | | }; |
| | | updateTree(this.data); |
| | | // 强å¶å·æ° |
| | | this.$nextTick(() => { |
| | | this.$refs.crud?.refreshTable(); |
| | | //this.$refs.crud.toggleRowExpansion('0', true); |
| | | console.log(this.data,222) |
| | | }); |
| | | }, |
| | | updateLocalTreeNode(nodeData) { //ä¿®æ¹çæ¹æ³ |
| | | const updateNode = (nodes) => { |
| | | for (let i = 0; i < nodes.length; i++) { |
| | | if (nodes[i].id === nodeData.id) { |
| | |
| | | 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; |
| | | } |
| | | } |
| | | ); |
| | | //æ¥çå
容 |
| | | // this.loading = true; |
| | | // var obj = {id: "1940982493963415554"} |
| | | // axios({ |
| | | // url: '/blade-mdm/program/ncfile/content', |
| | | // method: 'get', |
| | | // params: obj, |
| | | // }).then( |
| | | // res => { |
| | | |
| | | // } |
| | | // ); |
| | | } |
| | | }; |
| | | </script> |