Jelajahi Sumber

更改菜单、文件管理

Rmengdi 7 bulan lalu
induk
melakukan
c09a5b5fd4

+ 21 - 0
src/api/als/atlasFile.js

@@ -0,0 +1,21 @@
+import { get, put, post, deletes } from '@/http/index'
+
+// 查询文件管理信息列表
+export const getAtlasFile = async (data) => {
+  return await get('/als/atlasFile/list', data)
+}
+
+// 新增文件管理信息
+export const addAtlasFile = async (data) => {
+  return await post('/als/atlasFile', data)
+}
+
+// 修改文件管理信息
+export const updateAtlasFile = async (data) => {
+  return await put('/als/atlasFile', data)
+}
+
+// 删除文件管理信息
+export const removeAtlasFile = async (id) => {
+  return await deletes('/als/atlasFile/' + id)
+}

+ 1 - 1
src/router/modules/als/agloManage.js

@@ -12,7 +12,7 @@ export const agloManage = {
   path: '/basicData',
   redirect: '/basicData/dataSpecies',
   component: Layout,
-  name: 'DataSpecies',
+  name: 'AgloManage',
   meta: {
     title: '基础数据',
     icon: 'el-icon-s-platform'

+ 7 - 7
src/router/modules/als/dataManage.js

@@ -43,7 +43,7 @@ export const MDCData = {
 export const warning = {
   path: '/dataImport',
   redirect: '/dataImport/warning',
-  name: 'warning',
+  name: 'Warning',
   component: Layout,
   meta: {
     title: '数据导入',
@@ -64,7 +64,7 @@ export const smTask = {
   path: '/task',
   redirect: '/task/carrierFlightMission',
   component: Layout,
-  name: 'CarrierFlightMission',
+  name: 'SmTask',
   meta: {
     title: '任务管理',
     icon: 'el-icon-s-platform'
@@ -93,7 +93,7 @@ export const maintenanceask = {
   path: '/task',
   redirect: '/task/carrierFlightMission',
   component: Layout,
-  name: 'CarrierFlightMission',
+  name: 'Maintenanceask',
   meta: {
     title: '任务管理',
     icon: 'el-icon-s-platform'
@@ -123,7 +123,7 @@ export const partReplacement = {
   path: '/task',
   redirect: '/task/carrierFlightMission',
   component: Layout,
-  name: 'CarrierFlightMission',
+  name: 'PartReplacement',
   meta: {
     title: '任务管理',
     icon: 'el-icon-s-platform'
@@ -144,7 +144,7 @@ export const airConfiguration = {
   path: '/basicData',
   redirect: '/basicData/dataSpecies',
   component: Layout,
-  name: 'DataSpecies',
+  name: 'AirConfiguration',
   meta: {
     title: '基础数据',
     icon: 'el-icon-s-platform'
@@ -164,7 +164,7 @@ export const faultCase = {
   path: '/basicData',
   redirect: '/basicData/dataSpecies',
   component: Layout,
-  name: 'DataSpecies',
+  name: 'FaultCase',
   meta: {
     title: '基础数据',
     icon: 'el-icon-s-platform'
@@ -184,7 +184,7 @@ export const airInstall = {
   path: '/basicData',
   redirect: '/basicData/dataSpecies',
   component: Layout,
-  name: 'DataSpecies',
+  name: 'AirInstall',
   meta: {
     title: '基础数据',
     icon: 'el-icon-s-platform'

+ 9 - 9
src/router/modules/als/knowledgeGraph.js

@@ -1,9 +1,9 @@
 import Layout from '@/layout/index.vue'
 
-export const FileManage = {
+export const AtlasFile = {
   path: '/knowledgeGraph',
-  redirect: '/knowledgeGraph/fileManage',
-  name: 'FileManage',
+  redirect: '/knowledgeGraph/atlasFile',
+  name: 'AtlasFile',
   component: Layout,
   meta: {
     title: '知识图谱',
@@ -11,8 +11,8 @@ export const FileManage = {
   },
   children: [
     {
-      path: '/knowledgeGraph/fileManage',
-      component: () => import('@/views/als/fileManage/index.vue'),
+      path: '/knowledgeGraph/atlasFile',
+      component: () => import('@/views/als/atlasFile/index.vue'),
       meta: {
         title: '文件管理'
       }
@@ -38,10 +38,10 @@ export const knowledgeExtraction = {
     }
   ]
 }
-export const knowledgeManagement = {
+export const knowledgeManage = {
   path: '/knowledgeGraph',
   redirect: '/knowledgeGraph/fileManage',
-  name: 'KnowledgeManagement',
+  name: 'KnowledgeManage',
   component: Layout,
   meta: {
     title: '知识图谱',
@@ -49,8 +49,8 @@ export const knowledgeManagement = {
   },
   children: [
     {
-      path: '/knowledgeGraph/knowledgeManagement',
-      component: () => import('@/views/als/knowledgeManagement/index.vue'),
+      path: '/knowledgeGraph/knowledgeManage',
+      component: () => import('@/views/als/knowledgeManage/index.vue'),
       meta: {
         title: '知识管理'
       }

+ 52 - 83
src/views/als/fileManage/index.vue → src/views/als/atlasFile/index.vue

@@ -3,7 +3,7 @@
     <div style="width: 100%">
       <div class="view-dataType-title">
         <div class="view-dataType-title-btn">
-          <el-button type="success">文件上传</el-button>
+          <el-button type="success" @click="openDialog()">上传文件</el-button>
           <el-button type="warning" @click="remove(tableCheckItems)" :disabled="tableCheckItems.length == 0">删除</el-button>
         </div>
         <div class="view-dataType-title-search">
@@ -18,28 +18,19 @@
       <!-- 添加或修改模型信息对话框 -->
       <el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="600px" :before-close="handleClose">
         <el-form ref="form" :model="form" label-width="80px">
-          <el-form-item label="模型名称" prop="name">
-            <el-input v-model="form.name" placeholder="请输入模型名称" />
+          <el-form-item label="文件名称" prop="fileName">
+            <el-input v-model="form.fileName" placeholder="请输入文件名称" />
           </el-form-item>
-          <el-form-item label="模型类型" prop="type">
-            <el-select v-model="form.type" placeholder="请选择模型类型">
-              <el-option v-for="item in $enumData.agloModelList" :key="item.key" :label="item.name" :value="item.key" />
+          <el-form-item label="文件类型" prop="fileType">
+            <el-select v-model="form.fileType" placeholder="请选择文件类型">
+              <el-option v-for="item in fileTypeList" :key="item.key" :label="item.name" :value="item.key" />
             </el-select>
           </el-form-item>
-          <el-form-item label="模型链接" prop="url">
-            <el-input v-model="form.url" placeholder="请输入模型链接" />
+          <el-form-item label="选择文件" prop="ossId">
+            <FileUpload v-model="form.ossId" :limit="1" :fileSize="500" :fileType="['docx', 'doc', 'pdf']" />
           </el-form-item>
-          <el-form-item label="参数" prop="param">
-            <el-input type="textarea" :rows="2" v-model="form.param" placeholder="请输入参数" />
-          </el-form-item>
-          <el-form-item label="数据列" prop="columnData">
-            <el-input type="textarea" :rows="3" v-model="form.columnData" placeholder="请输入数据列" />
-          </el-form-item>
-          <el-form-item v-if="dialogTitle === '编辑'" label="状态" prop="status">
-            <el-switch v-model="form.status" active-color="#13ce66" active-value="1" inactive-value="0"> </el-switch>
-          </el-form-item>
-          <el-form-item label="备注" prop="remark">
-            <el-input type="textarea" :rows="2" v-model="form.remark" placeholder="请输入备注" />
+          <el-form-item label="备注" prop="remarks">
+            <el-input type="textarea" :rows="2" v-model="form.remarks" placeholder="请输入备注" />
           </el-form-item>
         </el-form>
 
@@ -53,23 +44,23 @@
 </template>
 
 <script>
-import { getModel, addModel, updateModel, removeModel } from '@/api/als/model'
+import { getAtlasFile, addAtlasFile, updateAtlasFile, removeAtlasFile } from '@/api/als/atlasFile'
 import { deepClone, debounce } from '@/utils/index'
-import { agloModelList } from '@/views/als/utils/enum-data'
+import FileUpload from '@/views/als/components/FileUpload'
+
 export default {
-  name: 'Model',
-  components: {},
+  name: 'AtlasFile',
+  components: { FileUpload },
   data() {
     // 这里存放数据
     return {
       dialogTitle: '新增',
       dialogVisible: false,
       keyWordData: '',
-      aircaftModelIdList: [],
       searchValue: '',
       columns: [
         {
-          prop: 'name',
+          prop: 'fileName',
           label: '文件名称'
         },
         {
@@ -77,22 +68,11 @@ export default {
           label: '文件类型'
         },
         {
-          prop: 'status',
-          label: '状态',
-          render: (h, params) => {
-            if (params.row.status == 0) {
-              return h('span', { class: 'warning-state' }, '禁用')
-            } else {
-              return h('span', { class: 'success-state' }, '启用')
-            }
-          }
-        },
-        {
-          prop: 'fileType',
-          label: '上传时间'
+          prop: 'ossId',
+          label: '文件编号'
         },
         {
-          prop: 'remark',
+          prop: 'remarks',
           label: '备注'
         },
         {
@@ -140,22 +120,20 @@ export default {
       },
       form: {
         id: '',
-        name: '',
-        type: '',
-        url: '',
-        param: '',
-        columnData: '',
+        fileName: '',
+        fileType: '',
+        ossId: '',
         status: '',
-        remark: '',
-        tenantId: '',
-        version: '',
-        delFlag: '',
-        createBy: '',
-        createTime: '',
-        updateBy: '',
-        updateTime: ''
+        remarks: ''
       },
-      debounceFn: debounce(this.fetch, 500)
+      debounceFn: debounce(this.fetch, 500),
+      fileTypeList: [
+        { key: '术语', name: '术语' },
+        { key: '故障案例', name: '故障案例' },
+        { key: '专业手册', name: '专业手册' },
+        { key: '期刊', name: '期刊' },
+        { key: '其它', name: '其它' }
+      ]
     }
   },
   watch: {
@@ -165,67 +143,67 @@ export default {
     }
   },
   mounted() {
-    // this.getModelAPI()
+    this.getAtlasFileAPI()
   },
   methods: {
-    async removeModelAPI(params) {
+    async removeAtlasFileAPI(params) {
       try {
-        const { code } = await removeModel(params)
+        const { code } = await removeAtlasFile(params)
         if (code === 200) {
           this.$message({
             type: 'success',
             message: '操作成功!'
           })
-          await this.getModelAPI()
+          await this.getAtlasFileAPI()
           this.handleClose()
         }
       } catch (error) {}
     },
 
-    async getModelAPI(params) {
+    async getAtlasFileAPI(params) {
       if (this.$refs.table) this.$refs.table.clearSelection()
       const { keyWord } = this
       const { pageSize, pageIndex } = this.tableRequset
       const {
         data: { list, total }
-      } = await getModel({ pageSize, pageNum: pageIndex, ...params })
+      } = await getAtlasFile({ pageSize, pageNum: pageIndex, ...params })
       this.tableData = list
       this.tableRequset.total = total
     },
 
     fetch() {
-      this.getModelAPI()
+      this.getAtlasFileAPI()
     },
 
     async searchClick() {
-      this.getModelAPI({ name: keyWordData })
+      this.getAtlasFileAPI({ name: keyWordData })
     },
 
-    async addModelAPI() {
+    async addAtlasFileAPI() {
       try {
         delete this.form.aircaftModelName
-        const { code } = await addModel({ ...this.form })
+        const { code } = await addAtlasFile({ ...this.form })
         if (code === 200) {
           this.$message({
             type: 'success',
             message: '操作成功!'
           })
           this.handleClose()
-          this.getModelAPI()
+          this.getAtlasFileAPI()
         }
       } catch (error) {}
     },
 
-    async updateModelAPI() {
+    async updateAtlasFileAPI() {
       try {
-        const { code } = await updateModel({ ...this.form })
+        const { code } = await updateAtlasFile({ ...this.form })
         if (code === 200) {
           this.$message({
             type: 'success',
             message: '操作成功!'
           })
           this.handleClose()
-          this.getModelAPI()
+          this.getAtlasFileAPI()
         }
       } catch (error) {}
     },
@@ -239,20 +217,11 @@ export default {
       this.dialogVisible = false
       this.form = {
         id: '',
-        name: '',
-        type: '',
-        url: '',
-        param: '',
-        columnData: '',
+        fileName: '',
+        fileType: '',
+        ossId: '',
         status: '',
-        remark: '',
-        tenantId: '',
-        version: '',
-        delFlag: '',
-        createBy: '',
-        createTime: '',
-        updateBy: '',
-        updateTime: ''
+        remarks: ''
       }
     },
 
@@ -265,11 +234,11 @@ export default {
     submit() {
       switch (this.dialogTitle) {
         case '编辑':
-          this.updateModelAPI()
+          this.updateAtlasFileAPI()
 
           break
         case '新增':
-          this.addModelAPI()
+          this.addAtlasFileAPI()
 
           break
       }
@@ -286,7 +255,7 @@ export default {
         type: 'warning'
       })
         .then(() => {
-          this.removeModelAPI(row.map((e) => e.id))
+          this.removeAtlasFileAPI(row.map((e) => e.id))
         })
         .catch(() => {})
     }

+ 1 - 1
src/views/als/intelligentQA/index.vue

@@ -109,7 +109,7 @@ export default {
           msg: '',
           data: {
             user_id: 'user',
-            answer: '发生。。。。。。。xxxxxxx',
+            answer: '解决办法为:更换电池或遥控器',
             graph: {
               data: [
                 { name: '202310150010', category: 'HMC' },

+ 268 - 0
src/views/als/knowledgeManage/ERManage/index.vue

@@ -0,0 +1,268 @@
+<template>
+  <div class="view-table-content">
+    <div style="width: 100%">
+      <div class="view-dataType-title">
+        <div class="view-dataType-title-btn">
+          <el-button type="success" @click="openDialog()">上传文件</el-button>
+          <el-button type="warning" @click="remove(tableCheckItems)" :disabled="tableCheckItems.length == 0">删除</el-button>
+        </div>
+        <div class="view-dataType-title-search">
+          <el-input placeholder="请输入名称" v-model="keyWordData" class="input1">
+            <el-button slot="append" icon="el-icon-search" @click="searchClick"></el-button>
+          </el-input>
+        </div>
+      </div>
+      <div class="view-dataType-table">
+        <LTable ref="table" @selection-change="selection" :defaultFetch="false" :fetch="fetch" :columns="columns" :dataSource="tableData" :options="options" :pagination="tableRequset"></LTable>
+      </div>
+      <!-- 添加或修改模型信息对话框 -->
+      <el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="600px" :before-close="handleClose">
+        <el-form ref="form" :model="form" label-width="80px">
+          <el-form-item label="文件名称" prop="fileName">
+            <el-input v-model="form.fileName" placeholder="请输入文件名称" />
+          </el-form-item>
+          <el-form-item label="文件类型" prop="fileType">
+            <el-select v-model="form.fileType" placeholder="请选择文件类型">
+              <el-option v-for="item in fileTypeList" :key="item.key" :label="item.name" :value="item.key" />
+            </el-select>
+          </el-form-item>
+          <el-form-item label="选择文件" prop="ossId">
+            <FileUpload v-model="form.ossId" :limit="1" :fileSize="500" :fileType="['docx', 'doc', 'pdf']" />
+          </el-form-item>
+          <el-form-item label="备注" prop="remarks">
+            <el-input type="textarea" :rows="2" v-model="form.remarks" placeholder="请输入备注" />
+          </el-form-item>
+        </el-form>
+
+        <span slot="footer" class="dialog-footer">
+          <el-button @click="handleClose">取 消</el-button>
+          <el-button type="primary" @click="submit">确 定</el-button>
+        </span>
+      </el-dialog>
+    </div>
+  </div>
+</template>
+
+<script>
+import { getAtlasFile, addAtlasFile, updateAtlasFile, removeAtlasFile } from '@/api/als/atlasFile'
+import { deepClone, debounce } from '@/utils/index'
+import FileUpload from '@/views/als/components/FileUpload'
+
+export default {
+  name: 'AtlasFile',
+  components: { FileUpload },
+  data() {
+    // 这里存放数据
+    return {
+      dialogTitle: '新增',
+      dialogVisible: false,
+      keyWordData: '',
+      searchValue: '',
+      columns: [
+        {
+          prop: 'fileName',
+          label: '文件名称'
+        },
+        {
+          prop: 'fileType',
+          label: '文件类型'
+        },
+        {
+          prop: 'ossId',
+          label: '文件编号'
+        },
+        {
+          prop: 'remarks',
+          label: '备注'
+        },
+        {
+          button: true,
+          label: '操作',
+          width: '240px',
+          group: [
+            {
+              name: '编辑',
+              type: 'text',
+              round: false,
+              plain: false,
+              onClick: (row, index, scope) => {
+                this.handUpdate(row)
+              }
+            },
+            {
+              name: '删除',
+              type: 'text',
+              round: false,
+              plain: false,
+              onClick: (row, index, scope) => {
+                this.remove([row])
+              }
+            }
+          ]
+        }
+      ],
+      options: {
+        stripe: true, // 斑马纹
+        mutiSelect: true, // 多选框
+        index: false, // 显示序号, 多选则 mutiSelect
+        loading: false, // 表格动画
+        initTable: false, // 是否一挂载就加载数据
+        border: true,
+        height: 'calc(100vh - 300px)'
+      },
+      tableCheckItems: [],
+      tableData: [],
+      tableRequset: {
+        total: 0,
+        pageIndex: 1,
+        pageSize: 10,
+        searchValue: ''
+      },
+      form: {
+        id: '',
+        fileName: '',
+        fileType: '',
+        ossId: '',
+        status: '',
+        remarks: ''
+      },
+      debounceFn: debounce(this.fetch, 500),
+      fileTypeList: [
+        { key: '术语', name: '术语' },
+        { key: '故障案例', name: '故障案例' },
+        { key: '专业手册', name: '专业手册' },
+        { key: '期刊', name: '期刊' },
+        { key: '其它', name: '其它' }
+      ]
+    }
+  },
+  watch: {
+    keyWord() {
+      this.tableRequset.pageIndex = 1
+      this.debounceFn()
+    }
+  },
+  mounted() {
+    this.getAtlasFileAPI()
+  },
+  methods: {
+    async removeAtlasFileAPI(params) {
+      try {
+        const { code } = await removeAtlasFile(params)
+        if (code === 200) {
+          this.$message({
+            type: 'success',
+            message: '操作成功!'
+          })
+          await this.getAtlasFileAPI()
+          this.handleClose()
+        }
+      } catch (error) {}
+    },
+
+    async getAtlasFileAPI(params) {
+      if (this.$refs.table) this.$refs.table.clearSelection()
+      const { keyWord } = this
+      const { pageSize, pageIndex } = this.tableRequset
+      const {
+        data: { list, total }
+      } = await getAtlasFile({ pageSize, pageNum: pageIndex, ...params })
+      this.tableData = list
+      this.tableRequset.total = total
+    },
+
+    fetch() {
+      this.getAtlasFileAPI()
+    },
+
+    async searchClick() {
+      this.getAtlasFileAPI({ name: keyWordData })
+    },
+
+    async addAtlasFileAPI() {
+      try {
+        delete this.form.aircaftModelName
+        const { code } = await addAtlasFile({ ...this.form })
+        if (code === 200) {
+          this.$message({
+            type: 'success',
+            message: '操作成功!'
+          })
+          this.handleClose()
+          this.getAtlasFileAPI()
+        }
+      } catch (error) {}
+    },
+
+    async updateAtlasFileAPI() {
+      try {
+        const { code } = await updateAtlasFile({ ...this.form })
+        if (code === 200) {
+          this.$message({
+            type: 'success',
+            message: '操作成功!'
+          })
+          this.handleClose()
+          this.getAtlasFileAPI()
+        }
+      } catch (error) {}
+    },
+
+    openDialog() {
+      this.dialogTitle = '新增'
+      this.dialogVisible = true
+    },
+
+    handleClose() {
+      this.dialogVisible = false
+      this.form = {
+        id: '',
+        fileName: '',
+        fileType: '',
+        ossId: '',
+        status: '',
+        remarks: ''
+      }
+    },
+
+    handUpdate(row) {
+      this.dialogTitle = '编辑'
+      this.form = deepClone(row)
+      this.dialogVisible = true
+    },
+
+    submit() {
+      switch (this.dialogTitle) {
+        case '编辑':
+          this.updateAtlasFileAPI()
+
+          break
+        case '新增':
+          this.addAtlasFileAPI()
+
+          break
+      }
+    },
+
+    selection(val) {
+      this.tableCheckItems = val
+    },
+
+    remove(row) {
+      this.$confirm('是否删除该模型', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      })
+        .then(() => {
+          this.removeAtlasFileAPI(row.map((e) => e.id))
+        })
+        .catch(() => {})
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+@import '../index.scss';
+</style>

+ 0 - 0
src/views/als/knowledgeManage/entityManage/index.vue


+ 3 - 3
src/views/als/knowledgeManagement/index.vue → src/views/als/knowledgeManage/index.vue

@@ -1,10 +1,10 @@
 <template>
-  <div class="view-knowledgeManagement">知识管理</div>
+  <div class="view-knowledgeManage">知识管理</div>
 </template>
 
 <script>
 export default {
-  name: 'KnowledgeManagement',
+  name: 'KnowledgeManage',
   data() {
     return {}
   },
@@ -14,4 +14,4 @@ export default {
 }
 </script>
 
-<style lang="scss"></style>
+<style lang="scss" scoped></style>