| | |
| | | <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 == 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> |
| | | <el-dialog title="上传文件" append-to-body v-model="uploadmodalBox"> |
| | | <avue-form :option="uploadmodalOption" v-model="uploadmodalForm" @submit="uploadmodalSubmit" @reset-change="uploadmodalCancel" :upload-before="uploadBefore" :upload-after="uploadAfter"> |
| | | <template #filelist> |
| | | <div v-for="item in fileList" v-if="fileList.length > 0"> |
| | | <avue-form :option="uploadmodalOption" v-model="uploadmodalForm" @submit="uploadmodalSubmit" @reset-change="uploadmodalCancel" :upload-before="uploadBefore" :upload-after="uploadAfter"></avue-form> |
| | | </el-dialog> |
| | | <avue-tabs :option="tabsOption" @change="tabsHandleChange" style="margin-top: 30px;" v-if="isShowTabs"></avue-tabs> |
| | | <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"> |
| | | <span>{{item.name}}</span> |
| | | <span class="delFile" @click="delFile(item)">X</span> |
| | | </div> |
| | | </template> |
| | | </avue-form> |
| | | </el-dialog> |
| | | |
| | | <avue-tabs :option="tabsOption" @change="tabsHandleChange" style="margin-top: 30px;"></avue-tabs> |
| | | <avue-form v-if="tabsType === 'tab1'" :option="tabsFormOption" v-model="tabsForm"></avue-form> |
| | | <span v-else-if="tabsType === 'tab2'">版本信息</span> |
| | | <span v-else-if="tabsType === 'tab3'">文件内容</span> |
| | | </template> |
| | | </basic-container> |
| | | </template> |
| | | |
| | |
| | | export default { |
| | | data() { |
| | | return { |
| | | isSM: false, //是否是涉密网 ,工控网5个,涉密网4个 |
| | | isShowTabs: true, |
| | | nodeTypeList: [], |
| | | fileList: [], |
| | | tabsType: "tab1", |
| | | tabsOption: {}, |
| | |
| | | column: [ |
| | | { |
| | | label: '节点类型', |
| | | prop: 'nodeType', |
| | | prop: 'nodeTypeName', |
| | | disabled: true, |
| | | placeholder: " " |
| | | }, |
| | |
| | | prop: 'updateTime', |
| | | disabled: true, |
| | | placeholder: " " |
| | | }, |
| | | { |
| | | label: '节点全路径', |
| | | prop: '', |
| | | disabled: true, |
| | | placeholder: " ", |
| | | span: 24 |
| | | } |
| | | ] |
| | | }, |
| | |
| | | hide: true |
| | | }, |
| | | { |
| | | label: '全路径', |
| | | prop: 'abc', |
| | | span: 24 |
| | | }, |
| | | { |
| | | label: '备注', |
| | | prop: 'remark', |
| | | type: "textarea", |
| | |
| | | { |
| | | label: '目录', |
| | | prop: 'name', |
| | | width: '300' |
| | | width: '360' |
| | | }, |
| | | { |
| | | label: '版本', |
| | |
| | | label: '选择文件', |
| | | prop: 'uploadFile', |
| | | type: 'upload', |
| | | data: {nodeId: this.tabsForm.id}, |
| | | data: {nodeId: this.id}, |
| | | action: "", |
| | | showFileList: false, |
| | | span: 24, |
| | | action: "/blade-mdm/program/ncfile/upload" |
| | | }, |
| | | { |
| | | label: '文件列表', |
| | | prop: 'filelist' |
| | | }, |
| | | { |
| | | label: '全路径', |
| | | prop: 'abc', |
| | | span: 24 |
| | | }, |
| | | { |
| | | label: '备注', |
| | |
| | | } |
| | | }, |
| | | methods: { |
| | | downsend(row) { |
| | | |
| | | }, |
| | | uploadAfter() { |
| | | this.getFile(this.id); |
| | | }, |
| | | upgrade(row) { //升级 |
| | | this.loading = true; |
| | | var obj = {id: row.id} |
| | |
| | | params: obj, |
| | | }).then( |
| | | resp => { |
| | | this.getFile(this.uploadmodalForm.id); |
| | | this.loading = false; |
| | | this.getFile(this.id); |
| | | } |
| | | ); |
| | | }, |
| | |
| | | done(); |
| | | //nodeId: this.tabsForm.id |
| | | }, |
| | | uploadAfter(res,done,loading,column) { |
| | | this.getFile(column.data.nodeId); |
| | | }, |
| | | rowClick(row) { |
| | | this.tabsForm = row; |
| | | this.id = row.id; |
| | | this.isShowTabs = false; |
| | | this.nodeTypeList.forEach(item=> { |
| | | if(item.dictKey == row.nodeType) { |
| | | this.tabsForm.nodeTypeName = item.dictValue; |
| | | } |
| | | }) |
| | | if(this.tabsForm.nodeType < 60) { |
| | | this.tabsOption = this.tabsOption1; |
| | | }else { |
| | | this.tabsOption = this.tabsOption2; |
| | | //获取文件list |
| | | this.getFile(row.id); |
| | | } |
| | | this.$nextTick(()=> { |
| | | this.tabsType = 'tab1'; |
| | | this.isShowTabs = true; |
| | | }) |
| | | }, |
| | | tabsHandleChange(tabs) { |
| | | this.tabsType = tabs.prop; |
| | | }, |
| | | showUpload(row) { |
| | | this.uploadmodalForm = row; |
| | | //获取文件list |
| | | this.getFile(row.id); |
| | | this.uploadmodalBox = true; |
| | | }, |
| | | getFile(id) { |
| | | this.loading = true; |
| | | var obj = {nodeId: id} |
| | | axios({ |
| | | url: '/blade-mdm/program/ncfile/list-by-node', |
| | |
| | | ); |
| | | }, |
| | | uploadmodalSubmit(row,done) { |
| | | |
| | | this.uploadmodalBox = false; |
| | | done(); |
| | | }, |
| | | rowDel(row, index, done) { |
| | | done(row); |
| | |
| | | res => { |
| | | this.data = res.data.data; |
| | | this.tabsForm = res.data.data[0]; //节点信息 |
| | | this.nodeTypeList.forEach(item=> { |
| | | if(item.dictKey == this.data[0].nodeType) { |
| | | this.tabsForm.nodeTypeName = item.dictValue; |
| | | } |
| | | }) |
| | | this.loading = false; |
| | | } |
| | | ); |
| | |
| | | }, |
| | | mounted() { |
| | | this.tabsOption = this.tabsOption1; |
| | | //获取nodetype |
| | | axios({url: '/blade-system/dict-biz/dictionary?code=nc_node_type',method: 'get'}).then(res => { |
| | | 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") { |
| | | this.isSM = true; |
| | | } |
| | | } |
| | | ); |
| | | //查看内容 |
| | | // this.loading = true; |
| | | // var obj = {id: "1940982493963415554"} |
| | |
| | | margin-left: 12px; |
| | | cursor: pointer; |
| | | } |
| | | .fileListStyle { |
| | | margin-left: 10px; |
| | | margin-top: 12px; |
| | | } |
| | | </style> |