Explorar o código

Merge branch 'hjw-newindex' into 'master'

Hjw newindex

See merge request spfm/spfm-market-front!483
徐兴安 hai 1 ano
pai
achega
48f3cdf494
Modificáronse 70 ficheiros con 9473 adicións e 1380 borrados
  1. 1 1
      src/assets/js/http.js
  2. BIN=BIN
      src/assets/newlogo3.png
  3. 86 9
      src/components/onlyoffice-editor/onlyoffice-editor.vue
  4. 41 70
      src/components/p-header.vue
  5. 5 0
      src/components/workflow.vue
  6. 10 0
      src/components/workflowBase.vue
  7. 4 2
      src/pages/main/accountPermissions/accountApplication.vue
  8. 4 2
      src/pages/main/accountPermissions/accountPermissions.vue
  9. 4 2
      src/pages/main/accountPermissions/accountdel.vue
  10. 4 2
      src/pages/main/accountPermissions/aqbgsyList.vue
  11. 4 3
      src/pages/main/accountPermissions/klhfsqList.vue
  12. 4 2
      src/pages/main/accountPermissions/rltzjlList.vue
  13. 4 2
      src/pages/main/accountPermissions/sjkdbList.vue
  14. 4 2
      src/pages/main/accountPermissions/tyshList.vue
  15. 4 0
      src/pages/main/advertising/materialApplication.vue
  16. 4 0
      src/pages/main/advertising/materialApplicationds.vue
  17. 3 1
      src/pages/main/applyFor/authoriZation.vue
  18. 3 1
      src/pages/main/applyFor/backupRequire.vue
  19. 4 2
      src/pages/main/applyFor/emergencyPlan.vue
  20. 3 1
      src/pages/main/applyFor/internetAccess.vue
  21. 3 1
      src/pages/main/applyFor/resourceApply.vue
  22. 3 1
      src/pages/main/applyFor/securityAudit.vue
  23. 3 0
      src/pages/main/applyFor/userChange.vue
  24. 4 2
      src/pages/main/bfsj/bfsjList.vue
  25. 4 4
      src/pages/main/firewall/formTable.vue
  26. 4 2
      src/pages/main/firewall/index.vue
  27. 1039 0
      src/pages/main/fullcalendar/calendarZQ.vue
  28. 1 0
      src/pages/main/funcInit/manageLnit.vue
  29. 16 2
      src/pages/main/internetAssessment/internetAssessment.vue
  30. 1 1
      src/pages/main/itknowledgetop/addKnowledge.vue
  31. 2 2
      src/pages/main/itknowledgetop/copyIndex.vue
  32. 2 2
      src/pages/main/itknowledgetop/knowledgeExamine.vue
  33. 2 2
      src/pages/main/itknowledgetop/knowledgeManagement.vue
  34. 1 1
      src/pages/main/knowledgetop/addKnowledge.vue
  35. 2 2
      src/pages/main/knowledgetop/copyIndex.vue
  36. 2 2
      src/pages/main/knowledgetop/knowledgeExamine.vue
  37. 2 2
      src/pages/main/knowledgetop/knowledgeManagement.vue
  38. 2 0
      src/pages/main/leader/demand/demandHome.vue
  39. 16 20
      src/pages/main/leader/index.vue
  40. 402 0
      src/pages/main/leader/indexs.vue
  41. 327 0
      src/pages/main/leader/leaderTags.vue
  42. 258 349
      src/pages/main/leader/leaderhomeTask.vue
  43. 295 0
      src/pages/main/leader/numberHitss.vue
  44. 4 1
      src/pages/main/leader/risk/riskMaterials.vue
  45. 0 398
      src/pages/main/leader/rli.vue
  46. 818 0
      src/pages/main/leader/rliZQ.vue
  47. 427 409
      src/pages/main/noticec/index.vue
  48. 2 2
      src/pages/main/noticec/journal.vue
  49. 4 4
      src/pages/main/noticec/noticExamine.vue
  50. 43 42
      src/pages/main/onlineOfficeExcel/index.vue
  51. 1290 0
      src/pages/main/onlineOfficeExcelSC/index.vue
  52. 1290 0
      src/pages/main/onlineOfficeExcelZQ/index.vue
  53. 4 4
      src/pages/main/opcode/formTables.vue
  54. 4 2
      src/pages/main/opcode/index.vue
  55. 4 2
      src/pages/main/productionDataExport/cityHome.vue
  56. 4 2
      src/pages/main/productionDataExport/provinceHome.vue
  57. 4 2
      src/pages/main/provincialWorkOrder/provincialWorkOrder.vue
  58. 4 2
      src/pages/main/provincialWorkOrder/provincialWorkOrderArea.vue
  59. 1 0
      src/pages/main/terminals/advertincreases.vue
  60. 13 1
      src/pages/main/terminals/components/adverts.vue
  61. 4 2
      src/pages/main/userList/docAppr.vue
  62. 4 2
      src/pages/main/userList/userList.vue
  63. 255 0
      src/pages/main/zqknowledgetop/addKnowledge.vue
  64. 503 0
      src/pages/main/zqknowledgetop/catalog.vue
  65. 2 0
      src/pages/main/zqknowledgetop/data.js
  66. 193 0
      src/pages/main/zqknowledgetop/index.vue
  67. 568 0
      src/pages/main/zqknowledgetop/knowledgeExamine.vue
  68. 990 0
      src/pages/main/zqknowledgetop/knowledgeManagement.vue
  69. 374 0
      src/pages/main/zqknowledgetop/knowledgeType.vue
  70. 77 8
      src/router/index.js

+ 1 - 1
src/assets/js/http.js

@@ -9,7 +9,7 @@ axios.defaults.headers.post['Content-Type'] = 'application/json';//'multipart/fo
 // http response 拦截器
 axios.interceptors.response.use(
   response => {
-    console.log('奇奇怪怪的网络请求');
+    // console.log('奇奇怪怪的网络请求');
     //vue.$store.commit('endLoading');
     if(response.config.url.indexOf('8880')!=-1 || response.config.url.indexOf('8099')!=-1){
 

BIN=BIN
src/assets/newlogo3.png


+ 86 - 9
src/components/onlyoffice-editor/onlyoffice-editor.vue

@@ -1,6 +1,6 @@
 
 <template>
-  <div :id="editorId"></div>
+  <div  :id="editorId"></div>
 </template>
 
 <script>
@@ -54,7 +54,7 @@ export default {
       required: true
     }
   },
-  data () {
+  data() {
     return {
       // 编辑器配置项,完整配置项参见:https://api.onlyoffice.com/editors/config/
       editorConfig: {
@@ -78,6 +78,14 @@ export default {
             print: true,
             // 启用预览
             review: true
+            // changeReview: true,
+            // comment: false,
+            // dealWithReview: true,
+            // dealWithReviewOnly: false,
+            // download: true,
+            // edit: true,
+            // print: true,
+            // review: true,
           }
         },
         editorConfig: {
@@ -94,6 +102,68 @@ export default {
               spellcheck: false
             }
           }
+          // "customization": {
+          //   "anonymous": {
+          //     "request": false,
+          //     "label": "Guest"
+          //   },
+          //   "comments": false,
+          //   "compactHeader": false,
+          //   "compactToolbar": false,
+          //   "compatibleFeatures": false,
+          //   "customer": {
+          //     "address": "My City, 123a-45",
+          //     "info": "Some additional information",
+          //     "logo": "https://example.com/logo-big.png",
+          //     "logoDark": "https://example.com/dark-logo-big.png",
+          //     "mail": "john@example.com",
+          //     "name": "John Smith and Co.",
+          //     "phone": "123456789",
+          //     "www": "example.com"
+          //   },
+          //   "features": {
+          //     "spellcheck": {
+          //       "mode": false,
+          //     }
+          //   },
+          //   "feedback": {
+          //     "url": "https://example.com",
+          //     "visible": false
+          //   },
+          //   "forcesave": false,
+          //   "goback": {
+          //     "blank": false,
+          //     "requestClose": false,
+          //     "text": "Open file location",
+          //     "url": "https://example.com"
+          //   },
+          //   "help": false,
+          //   "hideNotes": false,
+          //   "hideRightMenu": false,
+          //   "hideRulers": false,
+          //   "integrationMode": "embed",
+          //   "logo": {
+          //     "image": "https://example.com/logo.png",
+          //     "imageDark": "https://example.com/dark-logo.png",
+          //     "url": "https://www.onlyoffice.com"
+          //   },
+          //   "macros": false,
+          //   "macrosMode": "warn",
+          //   "mentionShare": false,
+          //   "plugins": false,
+          //   "review": {
+          //     "hideReviewDisplay": false,
+          //     "showReviewChanges": false,
+          //     "reviewDisplay": "original",
+          //     "trackChanges": false,
+          //     "hoverMode": false
+          //   },
+          //   "toolbarHideFileName": false,
+          //   "toolbarNoTabs": false,
+          //   "uiTheme": "theme-dark",
+          //   "unit": "cm",
+          //   "zoom": 100
+          // },
         }
       },
       scriptId,
@@ -102,19 +172,19 @@ export default {
   },
   watch: {
     config: {
-      handler () {
+      handler() {
         this.initEditor()
       },
       deep: true
     },
-    src () {
+    src() {
       this.initEditor()
     }
   },
-  mounted () {
+  mounted() {
     this.initEditor()
   },
-  beforeDestroy () {
+  beforeDestroy() {
     // 组件销毁前销毁编辑器
     if (this.editor) {
       this.editor.destroyEditor()
@@ -123,18 +193,25 @@ export default {
   },
   methods: {
     // 初始化编辑器
-    initEditor () {
+    initEditor() {
       loadScript(this.src).then(this.createEditor)
     },
     // 创建编辑器
-    createEditor () {
+    createEditor() {
       if (this.editor) {
         this.editor.destroyEditor()
         this.editor = null
       }
       this.editor = new window.DocsAPI.DocEditor(this.editorId, merge({}, this.editorConfig, this.config))
       this.$emit('ready', this.editor)
-    }
+    },
+    
   }
 }
 </script>
+<style lang="scss">
+::v-deep .toolbar .tabs li {
+  display: none;
+}
+</style>
+

+ 41 - 70
src/components/p-header.vue

@@ -13,17 +13,15 @@
     >
       <span :class="item.icon"></span>{{ item.name }}
     </div> -->
-    <div class="headerspan">
+
+    <div  class="headerspan">
       <!-- <span>市场经济管理平台</span> -->
-      <img
-        :src="
-          parentorgid === '00440063000000000000'
-            ? require('../assets/newlogo2.png')
-            : require('../assets/newlogo.png')
-        "
-        style="text-align: center; vertical-align: middle"
-        alt=""
-      />
+      <img v-if="groupName == 'IT'" :src="require('../assets/newlogo2.png')"
+        style="text-align: center; vertical-align: middle" alt="" />
+      <img v-if="groupName == 'default'" :src="require('../assets/newlogo.png')"
+        style="text-align: center; vertical-align: middle" alt="" />
+      <img v-if="groupName == 'ZQ'" :src="require('../assets/newlogo3.png')"
+        style="text-align: center; vertical-align: middle" alt="" />
     </div>
 
     <div class="bars">
@@ -43,27 +41,11 @@
       </div>
       <div class="bars-item" @click="handleLogout">
         <!-- <i class="el-icon-guide"></i> -->
-        <svg
-          t="1654163202752"
-          class="icon"
-          viewBox="0 0 1024 1024"
-          version="1.1"
-          xmlns="http://www.w3.org/2000/svg"
-          p-id="9307"
-          id="mx_n_1654163202756"
-          width="18"
-          height="18"
-        >
-          <path
-            d="M768 819.2h-256V204.8L256 102.4h512v102.4h102.4V0H0v819.2l512 204.8v-102.4h358.4v-204.8h-102.4v102.4z"
-            p-id="9308"
-            fill="#ffffff"
-          ></path>
-          <path
-            d="M1024 460.8l-256-153.6v102.4h-204.8v102.4h204.8v102.4l256-153.6z"
-            p-id="9309"
-            fill="#ffffff"
-          ></path>
+        <svg t="1654163202752" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
+          p-id="9307" id="mx_n_1654163202756" width="18" height="18">
+          <path d="M768 819.2h-256V204.8L256 102.4h512v102.4h102.4V0H0v819.2l512 204.8v-102.4h358.4v-204.8h-102.4v102.4z"
+            p-id="9308" fill="#ffffff"></path>
+          <path d="M1024 460.8l-256-153.6v102.4h-204.8v102.4h204.8v102.4l256-153.6z" p-id="9309" fill="#ffffff"></path>
         </svg>
         <span>退出</span>
       </div>
@@ -82,6 +64,7 @@ export default {
   },
   data() {
     return {
+      groupName: "",
       parentorgid: "",
       currentIndex: "5",
       date: new Date(),
@@ -105,64 +88,50 @@ export default {
     };
   },
   created() {
+    this.getDept();
     this.runInitDate();
     // if (!this.collapse) {
     //   this.$store.commit("setCollapse");
     // }
     //this.menuClose();
-    this.getDept();
     
+
   },
   methods: {
     getDept() {
       this.$http({
-        url: "/sysmgr/csysdept/queryGroupListByLoginNo",
+        url: "/market/cmkline/queryMkLineGroupNameInfo",
         method: "post",
         headers: {
           "Content-Type": "application/json",
         },
         data: {},
       }).then((res) => {
-        console.log(res.data[0].parentorgid);
-        this.parentorgid = res.data[0].parentorgid;
-        if (res.data[0].parentorgid === "00440063000000000000") {
+        this.groupName = res.data.groupName;
+        if (this.groupName === "IT") {
           document.title = "IT工作台";
+        } else if (this.groupName === "ZQ") {
+          document.title = "政企工作台";
         }
       });
     },
     handleGoToCalendar() {
-      this.$http({
-        url: "/sysmgr/csysdept/queryGroupListByLoginNo",
-        method: "post",
-        headers: {
-          "Content-Type": "application/json",
-        },
-        data: {},
-      }).then((res) => {
-        console.log("header" + res.data[0].parentorgid);
-        if (res.data[0].parentorgid === "00440063000000000000") {
-          this.$router.push("calendarnet");
-        } else {
-          this.$router.push("calendar");
-        }
-      });
+      if (this.groupName === "IT") {
+        this.$router.push("calendarnet");
+      } else if (this.groupName === "ZQ") {
+        this.$router.push("calendarZQ");
+      } else {
+        this.$router.push("calendar");
+      }
     },
     handleGoToKnowledge() {
-      this.$http({
-        url: "/sysmgr/csysdept/queryGroupListByLoginNo",
-        method: "post",
-        headers: {
-          "Content-Type": "application/json",
-        },
-        data: {},
-      }).then((res) => {
-        console.log("header" + res.data[0].parentorgid);
-        if (res.data[0].parentorgid === "00440063000000000000") {
-          this.$router.push("itknowledgetop");
-        } else {
-          this.$router.push("knowledgetop");
-        }
-      });
+      if (this.groupName === "IT") {
+        this.$router.push("itknowledgetop");
+      } else if (this.groupName === "ZQ") {
+        this.$router.push("zqknowledgetop");
+      } else {
+        this.$router.push("knowledgetop");
+      }
     },
     handleCall() {
       this.$switchTab(
@@ -242,8 +211,8 @@ export default {
           throw err;
         });
     },
-    handleSetting() {},
-    handleHelp() {},
+    handleSetting() { },
+    handleHelp() { },
     menuClose() {
       this.$store.commit("setCollapse");
       this.$emit("collapse");
@@ -273,6 +242,7 @@ export default {
     // font-size: 18px;
     // font-weight: bolder;
     color: #ffffff;
+
     // span {
     //   margin-left: 40px;
     // }
@@ -322,12 +292,14 @@ export default {
       color: #ffffff;
       position: relative;
       letter-spacing: 0;
+
       svg {
         position: absolute;
         top: 55%;
         bottom: 50%;
         transform: translate(-50%, -50%);
       }
+
       span {
         margin-left: 15px;
       }
@@ -337,5 +309,4 @@ export default {
       font-size: 18px;
     }
   }
-}
-</style>
+}</style>

+ 5 - 0
src/components/workflow.vue

@@ -179,6 +179,9 @@ export default {
   props: {
     //  表格数据和表格部分属性的对象
     // eslint-disable-next-line vue/require-default-prop
+    request_formTitle: {
+      type: String,
+    },
     list: {
       type: Object,
     },
@@ -276,6 +279,7 @@ export default {
         userId: JSON.parse(window.sessionStorage.userInfo).loginNo, //人员id
         taskId: this.list.taskId, //表单标识
         // procinstid: this.list.processId,
+        title: this.request_formTitle,//代办标题
         taskName: this.clicknextName, //流程节点
         userCode: JSON.parse(window.sessionStorage.userInfo).loginNo, //人员code
         content: this.textarea, //意见内容
@@ -284,6 +288,7 @@ export default {
       let newlist = {
         userId: JSON.parse(window.sessionStorage.userInfo).loginNo, //人员id
         taskId: this.list.taskId, //表单标识
+        title: this.request_formTitle,//代办标题
         // procinstid: this.list.processId,
         taskName: this.clicknextName, //流程节点
         userCode: JSON.parse(window.sessionStorage.userInfo).loginNo, //人员code

+ 10 - 0
src/components/workflowBase.vue

@@ -135,6 +135,9 @@ export default {
   props: {
     //  表格数据和表格部分属性的对象
     // eslint-disable-next-line vue/require-default-prop
+    request_formTitle: {
+      type: String,
+    },
     list: {
       type: Object,
     },
@@ -146,6 +149,9 @@ export default {
     },
   },
   created() {
+    if (this.adminResourceId) {
+      this.manyReassignment = true;
+    }
     console.log(this.list);
     this.getNextPath(this.list.resourceId, 1);
     this.getMetirialType();
@@ -172,6 +178,7 @@ export default {
       function success(data) { }
     },
     async nextWorks(lists, list) {
+      // lists.title = this.request_formTitle
       let listss = {
         userId: this.nextDealManList, //人员id
         taskId: this.list.taskId, //表单标识
@@ -219,6 +226,7 @@ export default {
         userId: JSON.parse(window.sessionStorage.userInfo).loginNo, //人员id
         taskId: this.list.taskId, //表单标识
         // procinstid: this.list.processId,
+        title: this.request_formTitle,//代办标题
         taskName: this.clicknextName, //流程节点
         userCode: JSON.parse(window.sessionStorage.userInfo).loginNo, //人员code
         content: this.textarea, //意见内容
@@ -227,6 +235,7 @@ export default {
         userId: JSON.parse(window.sessionStorage.userInfo).loginNo, //人员id
         taskId: this.list.taskId, //表单标识
         // procinstid: this.list.processId,
+        title: this.request_formTitle,//代办标题
         taskName: this.clicknextName, //流程节点
         userCode: JSON.parse(window.sessionStorage.userInfo).loginNo, //人员code
         content: this.textarea, //意见内容
@@ -319,6 +328,7 @@ export default {
     },
     async nextWork(list) {
       console.log(list);
+      // list.title = this.request_formTitle
       //e:yes||no,list:传入数组,title:结束标签,res:驳回标签,id:工单更新id
       let _this = this;
       let copylist = list

+ 4 - 2
src/pages/main/accountPermissions/accountApplication.vue

@@ -238,9 +238,9 @@
             <el-dialog title="处理操作" width="100%" :visible.sync="handleStatus" :before-close="handleCloses" :modal="false"
                 v-if="handleStatus" :destroy-on-close="true">
                 <Workflow :list="fromList" v-if="isWorkflowStatus == true" @updateForm="updateForm"
-                    :requestForm="requestForm" />
+                    :requestForm="requestForm" :request_formTitle="request_form.title"/>
                 <WorkflowEntrance :list="fromList" v-else :lastManList="lastManList" @beforeClose="updateForm"
-                    :requestForm="requestForm" />
+                    :requestForm="requestForm" :request_formTitle="request_form.title"/>
                 <!-- 后期维护 -->
             </el-dialog>
         </div>
@@ -1433,6 +1433,7 @@ export default {
                                 this.fromList.templateAccessoryIdList.push(item.id);
                             })
                         }
+                        this.request_form.title = '[IT工作台]-账号申请-' + this.fromList.needName;
                         this.$http({
                             url: "/market/BomcProcess/update",
                             method: "post",
@@ -1551,6 +1552,7 @@ export default {
         clickHandles() {
             this.getNextPath(this.fromList.resourceId || "");
             console.log(this.fromList);
+            this.request_form.title = '[IT工作台]-账号申请-' + this.fromList.needName;
             // if (this.fromList.taskId) {
             //     this.destroy = true;
             //     this.handleStatus = true;

+ 4 - 2
src/pages/main/accountPermissions/accountPermissions.vue

@@ -78,10 +78,10 @@
             <el-dialog title="处理操作" width="100%" :visible.sync="handleStatus" :before-close="handleCloses" :modal="false"
                 v-if="handleStatus" :destroy-on-close="true">
                 <Workflow :list="fromList" v-if="isWorkflowStatus == true" @updateForm="updateForm"
-                    :requestForm="requestForm" />
+                    :requestForm="requestForm" :request_formTitle="request_form.title"/>
 
                 <WorkflowEntrance :list="fromList" v-else :lastManList="lastManList" @beforeClose="updateForm"
-                    :requestForm="requestForm" />
+                    :requestForm="requestForm" :request_formTitle="request_form.title"/>
                 <!-- 后期维护 -->
             </el-dialog>
         </div>
@@ -685,6 +685,7 @@ export default {
                     console.log(this.$refs.form.model)
                     this.savestatusBtn = true
                     if (this.fromList.id) {
+                        this.request_form.title = '[IT工作台]-账号权限申请-' + this.fromList.needName;
                         this.$http({
                             url: "/market/ZhqxProcess/update",
                             method: "post",
@@ -797,6 +798,7 @@ export default {
         clickHandles() {
             this.getNextPath(this.fromList.resourceId || "");
             console.log(this.fromList);
+            this.request_form.title = '[IT工作台]-账号权限申请-' + this.fromList.needName;
             // if (this.fromList.taskId) {
             //     this.destroy = true;
             //     this.handleStatus = true;

+ 4 - 2
src/pages/main/accountPermissions/accountdel.vue

@@ -129,9 +129,9 @@
             <el-dialog title="处理操作" width="100%" :visible.sync="handleStatus" :before-close="handleCloses" :modal="false"
                 v-if="handleStatus" :destroy-on-close="true">
                 <Workflow :list="fromList" v-if="isWorkflowStatus == true" @updateForm="updateForm"
-                    :requestForm="requestForm" />
+                    :requestForm="requestForm" :request_formTitle="request_form.title"/>
                 <WorkflowEntrance :list="fromList" v-else :lastManList="lastManList" @beforeClose="updateForm"
-                    :requestForm="requestForm" />
+                    :requestForm="requestForm" :request_formTitle="request_form.title"/>
                 <!-- 后期维护 -->
             </el-dialog>
         </div>
@@ -956,6 +956,7 @@ export default {
                                 this.fromList.accessoryIdList.push(item.id);
                             })
                         }
+                        this.request_form.title = '[IT工作台]-账号删除-' + this.fromList.needName;
                         this.$http({
                             url: "/market/ZhscProcess/update",
                             method: "post",
@@ -1069,6 +1070,7 @@ export default {
         clickHandles() {
             this.getNextPath(this.fromList.resourceId || "");
             console.log(this.fromList);
+            this.request_form.title = '[IT工作台]-账号删除-' + this.fromList.needName;
             // if (this.fromList.taskId) {
             //     this.destroy = true;
             //     this.handleStatus = true;

+ 4 - 2
src/pages/main/accountPermissions/aqbgsyList.vue

@@ -66,10 +66,10 @@
             <el-dialog title="处理操作" width="100%" :visible.sync="handleStatus" :before-close="handleCloses" :modal="false"
                 v-if="handleStatus" :destroy-on-close="true">
                 <Workflow :list="fromList" v-if="isWorkflowStatus == true" @updateForm="updateForm"
-                    :requestForm="requestForm" />
+                    :requestForm="requestForm" :request_formTitle="request_form.title"/>
 
                 <WorkflowEntrance :list="fromList" v-else :lastManList="lastManList" @beforeClose="updateForm"
-                    :requestForm="requestForm" />
+                    :requestForm="requestForm" :request_formTitle="request_form.title"/>
                 <!-- 后期维护 -->
             </el-dialog>
         </div>
@@ -715,6 +715,7 @@ export default {
                     console.log(this.$refs.form.model)
                     this.savestatusBtn = true
                     if (this.fromList.id) {
+                        this.request_form.title = '[IT工作台]-安全报告审阅-'+this.fromList.needName;
                         this.$http({
                             url: "/market/AqbgProcess/update",
                             method: "post",
@@ -834,6 +835,7 @@ export default {
         clickHandles() {
             this.getNextPath(this.fromList.resourceId || "");
             console.log(this.fromList);
+            this.request_form.title = '[IT工作台]-安全报告审阅-'+this.fromList.needName;
             // if (this.fromList.taskId) {
             //     this.destroy = true;
             //     this.handleStatus = true;

+ 4 - 3
src/pages/main/accountPermissions/klhfsqList.vue

@@ -84,9 +84,9 @@
             <el-dialog title="处理操作" width="100%" :visible.sync="handleStatus" :before-close="handleCloses" :modal="false"
                 v-if="handleStatus" :destroy-on-close="true">
                 <Workflow :list="fromList" v-if="isWorkflowStatus == true" @updateForm="updateForm"
-                    :requestForm="requestForm" />
+                    :requestForm="requestForm" :request_formTitle="request_form.title"/>
                 <WorkflowEntrance :list="fromList" v-else :lastManList="lastManList" @beforeClose="updateForm"
-                    :requestForm="requestForm" />
+                    :requestForm="requestForm" :request_formTitle="request_form.title"/>
                 <!-- 后期维护 -->
             </el-dialog>
         </div>
@@ -767,7 +767,7 @@ export default {
                     console.log(this.$refs.form.model)
                     this.savestatusBtn = true
                     if (this.fromList.id) {
-
+                        this.request_form.title = '[IT工作台]-口令恢复申请-' + this.fromList.needName;
                         this.$http({
                             url: "/market/KlhfProcess/update",
                             method: "post",
@@ -876,6 +876,7 @@ export default {
         clickHandles() {
             this.getNextPath(this.fromList.resourceId || "");
             console.log(this.fromList);
+            this.request_form.title = '[IT工作台]-口令恢复申请-' + this.fromList.needName;
             // if (this.fromList.taskId) {
             //     this.destroy = true;
             //     this.handleStatus = true;

+ 4 - 2
src/pages/main/accountPermissions/rltzjlList.vue

@@ -82,10 +82,10 @@
             <el-dialog title="处理操作" width="100%" :visible.sync="handleStatus" :before-close="handleCloses" :modal="false"
                 v-if="handleStatus" :destroy-on-close="true">
                 <Workflow :list="fromList" v-if="isWorkflowStatus == true" @updateForm="updateForm"
-                    :requestForm="requestForm" />
+                    :requestForm="requestForm" :request_formTitle="request_form.title"/>
 
                 <WorkflowEntrance :list="fromList" v-else :lastManList="lastManList" @beforeClose="updateForm"
-                    :requestForm="requestForm" />
+                    :requestForm="requestForm" :request_formTitle="request_form.title"/>
                 <!-- 后期维护 -->
             </el-dialog>
         </div>
@@ -767,6 +767,7 @@ export default {
                                 this.fromList.accessoryIdList.push(item.id);
                             })
                         }
+                        this.request_form.title = '[IT工作台]-容量调整记录-' + this.fromList.needName;
                         this.$http({
                             url: "/market/RltzProcess/update",
                             method: "post",
@@ -886,6 +887,7 @@ export default {
         clickHandles() {
             this.getNextPath(this.fromList.resourceId || "");
             console.log(this.fromList);
+            this.request_form.title = '[IT工作台]-容量调整记录-' + this.fromList.needName;
             // if (this.fromList.taskId) {
             //     this.destroy = true;
             //     this.handleStatus = true;

+ 4 - 2
src/pages/main/accountPermissions/sjkdbList.vue

@@ -147,9 +147,9 @@
             <el-dialog title="处理操作" width="100%" :visible.sync="handleStatus" :before-close="handleCloses" :modal="false"
                 v-if="handleStatus" :destroy-on-close="true">
                 <Workflow :list="fromList" v-if="isWorkflowStatus == true" @updateForm="updateForm"
-                    :requestForm="requestForm" />
+                    :requestForm="requestForm" :request_formTitle="request_form.title"/>
                 <WorkflowEntrance :list="fromList" v-else :lastManList="lastManList" @beforeClose="updateForm"
-                    :requestForm="requestForm" />
+                    :requestForm="requestForm" :request_formTitle="request_form.title"/>
                 <!-- 后期维护 -->
             </el-dialog>
         </div>
@@ -1084,6 +1084,7 @@ export default {
                                 this.fromList.accessoryIdList.push(item.id);
                             })
                         }
+                        this.request_form.title = '[IT工作台]-数据库导表-' + this.fromList.needName;
                         this.$http({
                             url: "/market/SjkdbProcess/update",
                             method: "post",
@@ -1197,6 +1198,7 @@ export default {
         clickHandles() {
             this.getNextPath(this.fromList.resourceId || "");
             console.log(this.fromList);
+            this.request_form.title = '[IT工作台]-数据库导表-' + this.fromList.needName;
             // if (this.fromList.taskId) {
             //     this.destroy = true;
             //     this.handleStatus = true;

+ 4 - 2
src/pages/main/accountPermissions/tyshList.vue

@@ -86,10 +86,10 @@
             <el-dialog title="处理操作" width="100%" :visible.sync="handleStatus" :before-close="handleCloses" :modal="false"
                 v-if="handleStatus" :destroy-on-close="true">
                 <Workflow :list="fromList" v-if="isWorkflowStatus == true" @updateForm="updateForm"
-                    :requestForm="requestForm" />
+                    :requestForm="requestForm" :request_formTitle="request_form.title"/>
 
                 <WorkflowEntrance :list="fromList" v-else :lastManList="lastManList" @beforeClose="updateForm"
-                    :requestForm="requestForm" />
+                    :requestForm="requestForm" :request_formTitle="request_form.title"/>
                 <!-- 后期维护 -->
             </el-dialog>
         </div>
@@ -757,6 +757,7 @@ export default {
                     console.log(this.$refs.form.model)
                     this.savestatusBtn = true
                     if (this.fromList.id) {
+                        this.request_form.title = '[IT工作台]-通用审核-' + this.fromList.needName;
                         this.$http({
                             url: "/market/TyshProcess/update",
                             method: "post",
@@ -876,6 +877,7 @@ export default {
         clickHandles() {
             this.getNextPath(this.fromList.resourceId || "");
             console.log(this.fromList);
+            this.request_form.title = '[IT工作台]-通用审核-' + this.fromList.needName;
             // if (this.fromList.taskId) {
             //     this.destroy = true;
             //     this.handleStatus = true;

+ 4 - 0
src/pages/main/advertising/materialApplication.vue

@@ -117,6 +117,7 @@
           :list="infolist"
           @updateForm = "updateForm"
           :requestForm="requestForm"
+          :request_formTitle="request_form.title"
         />
          <!-- @dialogVisible1 = "Visible1" -->
         <!-- <WorkflowEntrance
@@ -1276,9 +1277,11 @@
            this.$message.error("请先点击保存");
         }else{
           this.dialogVisible1 = true;
+          this.request_form.title = '[市场工作台]-'+'省宣传物料申请及审批-'+ this.infolist.needName;
         }
       }else{
         this.dialogVisible1 = true;
+        this.request_form.title = '[市场工作台]-'+'省宣传物料申请及审批-'+ this.infolist.needName;
       }
       
     },
@@ -1696,6 +1699,7 @@
               }else{
                  list.mkFileShareAttachList = this.attList;
               }
+              this.request_form.title = '[市场工作台]-'+'省宣传物料申请及审批-'+ this.infolist.needName;
                    this.$http({
                     url: "/market/xcwlProcessImport/update",
                     method: "post",

+ 4 - 0
src/pages/main/advertising/materialApplicationds.vue

@@ -116,6 +116,7 @@
           :list="infolist"
           @updateForm = "updateForm"
           :requestForm="requestForm"
+          :request_formTitle="request_form.title"
         />
          <!-- @dialogVisible1 = "Visible1" -->
         <!-- <WorkflowEntrance
@@ -1242,9 +1243,11 @@
            this.$message.error("请先点击保存");
         }else{
           this.dialogVisible1 = true;
+          this.request_form.title = '[市场工作台]-'+'地市宣传物料申请及审批-'+ this.infolist.needName;
         }
       }else{
         this.dialogVisible1 = true;
+        this.request_form.title = '[市场工作台]-'+'地市宣传物料申请及审批-'+ this.infolist.needName;
       }
       
     },
@@ -1661,6 +1664,7 @@
               }else{
                  list.mkFileShareAttachList = this.attList;
               }
+              this.request_form.title = '[市场工作台]-'+'地市宣传物料申请及审批-'+ this.infolist.needName;
                    this.$http({
                     url: "/market/xcwlProcessImport/update",
                     method: "post",

+ 3 - 1
src/pages/main/applyFor/authoriZation.vue

@@ -157,7 +157,7 @@
         :destroy-on-close="true">
         <!--  -->
         <!-- <Workflow :list="ruleForm" :requestForm="requestForm" @dialogVisible1 = "Visible1"/> -->
-        <Workflow :list="ruleForm" @updateForm="updateForm" :requestForm="requestForm" />
+        <Workflow :list="ruleForm" @updateForm="updateForm" :requestForm="requestForm" :request_formTitle="request_form.title"/>
         <!-- @dialogVisible1 = "Visible1" -->
         <!-- <WorkflowEntrance
           :list="ruleForm"
@@ -847,6 +847,7 @@ export default {
       } else {
         this.ruleForm.batFileShareAttachList = this.attList1;
       }
+      this.request_form.title = '[IT工作台]-' + '口令授权-' + this.$refs.ruleForm.model.needName;
       this.$http({
         url: "/market/KlsqProcess/update",
         method: "post",
@@ -1019,6 +1020,7 @@ export default {
     dealwith() {
       if (this.ruleForm.id) {
         this.dialogVisible1 = true;
+        this.request_form.title = '[IT工作台]-' + '口令授权-' + this.$refs.ruleForm.model.needName;
       } else {
         this.$message.error("请先点保存按钮");
       }

+ 3 - 1
src/pages/main/applyFor/backupRequire.vue

@@ -97,7 +97,7 @@
         :destroy-on-close="true">
         <!--  -->
         <!-- <Workflow :list="ruleForm" :requestForm="requestForm" @dialogVisible1 = "Visible1"/> -->
-        <Workflow :list="ruleForm" @updateForm="updateForm" :requestForm="requestForm" />
+        <Workflow :list="ruleForm" @updateForm="updateForm" :requestForm="requestForm" :request_formTitle="request_form.title"/>
         <!-- @dialogVisible1 = "Visible1" -->
         <!-- <WorkflowEntrance
           :list="ruleForm"
@@ -643,6 +643,7 @@ export default {
       } else {
         this.ruleForm.mkFileShareAttachList = this.attList;
       }
+      this.request_form.title = '[IT工作台]-' + '备份需求及变更-' + this.$refs.ruleForm.model.needName;
       this.$http({
         url: "/market/BfxqProcess/update",
         method: "post",
@@ -813,6 +814,7 @@ export default {
     dealwith() {
       if (this.ruleForm.id) {
         this.dialogVisible1 = true;
+        this.request_form.title = '[IT工作台]-' + '备份需求及变更-' + this.$refs.ruleForm.model.needName;
       } else {
         this.$message.error("请先点保存按钮");
       }

+ 4 - 2
src/pages/main/applyFor/emergencyPlan.vue

@@ -96,9 +96,9 @@
           :requestForm="requestForm"
         /> -->
         <Workflow ref="workflow" :list="ruleForm" v-if="isWorkflowStatus == true" @beforeClose="beforeClose"
-          @updateForm="updateForm" :requestForm="requestForm" :adminResourceId="adminResourceId" />
+          @updateForm="updateForm" :requestForm="requestForm" :adminResourceId="adminResourceId" :request_formTitle="request_form.title"/>
         <WorkflowEntrance :list="ruleForm" v-else :lastManList="lastManList" @beforeClose="beforeClose"
-          :requestForm="requestForm" />
+          :requestForm="requestForm" :request_formTitle="request_form.title"/>
 
         <span slot="footer" class="dialog-footer">
         </span>
@@ -769,6 +769,7 @@ export default {
       } else {
         this.ruleForm.mkFileShareAttachList = this.attList;
       }
+      this.request_form.title = '[IT工作台]-' + '应急预案审批-' + this.$refs.ruleForm.model.needName;
       this.$http({
         url: "/market/yjyaProcess/update",
         method: "post",
@@ -1035,6 +1036,7 @@ export default {
 
       if (this.ruleForm.id) {
         this.getNextPath(this.ruleForm.resourceId || "");
+        this.request_form.title = '[IT工作台]-' + '应急预案审批-' + this.$refs.ruleForm.model.needName;
       } else {
         this.$message.error("请先点保存按钮");
       }

+ 3 - 1
src/pages/main/applyFor/internetAccess.vue

@@ -103,7 +103,7 @@
         :destroy-on-close="true">
         <!--  -->
         <!-- <Workflow :list="ruleForm" :requestForm="requestForm" @dialogVisible1 = "Visible1"/> -->
-        <Workflow :list="ruleForm" @updateForm="updateForm" :requestForm="requestForm" />
+        <Workflow :list="ruleForm" @updateForm="updateForm" :requestForm="requestForm" :request_formTitle="request_form.title"/>
         <!-- @dialogVisible1 = "Visible1" -->
         <!-- <WorkflowEntrance
           :list="ruleForm"
@@ -650,6 +650,7 @@ export default {
       } else {
         this.ruleForm.mkFileShareAttachList = this.attList;
       }
+      this.request_form.title = '[IT工作台]-' + '互联网访问端口开放-' + this.$refs.ruleForm.model.needName;
       this.$http({
         url: "/market/HlwProcess/update",
         method: "post",
@@ -821,6 +822,7 @@ export default {
     dealwith() {
       if (this.ruleForm.id) {
         this.dialogVisible1 = true;
+        this.request_form.title = '[IT工作台]-' + '互联网访问端口开放-' + this.$refs.ruleForm.model.needName;
       } else {
         this.$message.error("请先点保存按钮");
       }

+ 3 - 1
src/pages/main/applyFor/resourceApply.vue

@@ -102,7 +102,7 @@
         :destroy-on-close="true">
         <!--  -->
         <!-- <Workflow :list="ruleForm" :requestForm="requestForm" @dialogVisible1 = "Visible1"/> -->
-        <Workflow :list="ruleForm" @updateForm="updateForm" :requestForm="requestForm" />
+        <Workflow :list="ruleForm" @updateForm="updateForm" :requestForm="requestForm" :request_formTitle="request_form.title"/>
         <!-- @dialogVisible1 = "Visible1" -->
         <!-- <WorkflowEntrance
           :list="ruleForm"
@@ -649,6 +649,7 @@ export default {
       } else {
         this.ruleForm.mkFileShareAttachList = this.attList;
       }
+      this.request_form.title = '[IT工作台]-' + '系统资源申请-' + this.$refs.ruleForm.model.needName;
       this.$http({
         url: "/market/zysqProcess/update",
         method: "post",
@@ -820,6 +821,7 @@ export default {
     dealwith() {
       if (this.ruleForm.id) {
         this.dialogVisible1 = true;
+        this.request_form.title = '[IT工作台]-' + '系统资源申请-' + this.$refs.ruleForm.model.needName;
       } else {
         this.$message.error("请先点保存按钮");
       }

+ 3 - 1
src/pages/main/applyFor/securityAudit.vue

@@ -90,7 +90,7 @@
         width="100%" height="100vh" class="dialogClass" top="0" :modal="false" :modal-append-to-body="true"
         :destroy-on-close="true">
 
-        <Workflow :list="ruleForm" @updateForm="updateForm" :requestForm="requestForm" />
+        <Workflow :list="ruleForm" @updateForm="updateForm" :requestForm="requestForm" :request_formTitle="request_form.title"/>
 
         <span slot="footer" class="dialog-footer">
         </span>
@@ -631,6 +631,7 @@ export default {
       } else {
         this.ruleForm.mkFileShareAttachList = this.attList;
       }
+      this.request_form.title = '[IT工作台]-' + '安全审计计划管理-' + this.$refs.ruleForm.model.needName;
       this.$http({
         url: "/market/AqsjProcess/update",
         method: "post",
@@ -802,6 +803,7 @@ export default {
     dealwith() {
       if (this.ruleForm.id) {
         this.dialogVisible1 = true;
+        this.request_form.title = '[IT工作台]-' + '安全审计计划管理-' + this.$refs.ruleForm.model.needName;
       } else {
         this.$message.error("请先点保存按钮");
       }

+ 3 - 0
src/pages/main/applyFor/userChange.vue

@@ -281,6 +281,7 @@
           :list="ruleForm"
           @updateForm = "updateForm"
           :requestForm="requestForm"
+          :request_formTitle="request_form.title"
         />
         
         <span slot="footer" class="dialog-footer">
@@ -1083,6 +1084,7 @@ export default {
                  this.ruleForm.mkFileShareAttachList = this.attList;
               }
           // this.ruleForm.yhbgProcessMeList = this.tableData1;
+          this.request_form.title = '[IT工作台]-'+'用户使用者变更-'+ this.$refs.ruleForm.model.needName;
         this.$http({
           url: "/market/YhbgProcess/update",
           method: "post",
@@ -1251,6 +1253,7 @@ export default {
     dealwith(){
      if(this.ruleForm.id){
       this.dialogVisible1 = true;
+      this.request_form.title = '[IT工作台]-'+'用户使用者变更-'+ this.$refs.ruleForm.model.needName;
     }else{
       this.$message.error("请先点保存按钮");
     }

+ 4 - 2
src/pages/main/bfsj/bfsjList.vue

@@ -66,10 +66,10 @@
             <el-dialog title="处理操作" width="100%" :visible.sync="handleStatus" :before-close="handleCloses" :modal="false"
                 v-if="handleStatus" :destroy-on-close="true">
                 <Workflow :list="fromList" v-if="isWorkflowStatus == true" @updateForm="updateForm"
-                    :requestForm="requestForm" />
+                    :requestForm="requestForm" :request_formTitle="request_form.title"/>
 
                 <WorkflowEntrance :list="fromList" v-else :lastManList="lastManList" @beforeClose="updateForm"
-                    :requestForm="requestForm" />
+                    :requestForm="requestForm" :request_formTitle="request_form.title"/>
                 <!-- 后期维护 -->
             </el-dialog>
         </div>
@@ -715,6 +715,7 @@ export default {
                     console.log(this.$refs.form.model)
                     this.savestatusBtn = true
                     if (this.fromList.id) {
+                        this.request_form.title = '[IT工作台]-'+'备份数据-'+ this.fromList.needName;
                         this.$http({
                             url: "/market/bfsjProcess/update",
                             method: "post",
@@ -834,6 +835,7 @@ export default {
         clickHandles() {
             this.getNextPath(this.fromList.resourceId || "");
             console.log(this.fromList);
+            this.request_form.title = '[IT工作台]-'+'备份数据-'+ this.fromList.needName;
             // if (this.fromList.taskId) {
             //     this.destroy = true;
             //     this.handleStatus = true;

+ 4 - 4
src/pages/main/firewall/formTable.vue

@@ -267,7 +267,7 @@ export default {
                 type: "bt1n",
                 typename: "上传文件",
                 limit: 5,
-                url: "/market/waf/upload",
+                url: "/market/waf/uploadByMinio",
                 fileList: [],
             },
             postEdit: false,
@@ -675,13 +675,13 @@ export default {
             console.log(123);
             if (this.form.mkFileShareAttachList.length > 1) {
                 this.$http({
-                    url: "/market/waf/downAllFile",
+                    url: "/market/waf/downAllFileByMinio",
                     method: "post",
                     headers: {
                         "Content-Type": "application/json",
                     },
                     responseType: "blob",
-                    data: { mkFileShareAttachList: this.form.mkFileShareAttachList },
+                    data: { wfFileShareAttachList: this.form.mkFileShareAttachList },
                 }).then((response) => {
                     if (window.navigator && window.navigator.msSaveOrOpenBlob) {
                         let blob = new Blob([response.data], {
@@ -714,7 +714,7 @@ export default {
                     fileName: this.form.mkFileShareAttachList[0].name,
                 };
                 this.$http({
-                    url: "/market/waf/downFile",
+                    url: "/market/waf/downFileByMinio",
                     method: "post",
                     headers: {
                         "Content-Type": "application/json",

+ 4 - 2
src/pages/main/firewall/index.vue

@@ -29,9 +29,9 @@
             <el-dialog title="处理操作" width="100%" :visible.sync="handleStatus" :before-close="handleCloses" :modal="false"
                 v-if="handleStatus" :destroy-on-close="true">
                 <Workflow ref="workflow" :list="fromList" v-if="isWorkflowStatus == true" @updateForm="beforeClose"
-                    :requestForm="requestForm" :adminResourceId="adminResourceId" />
+                    :requestForm="requestForm" :adminResourceId="adminResourceId" :request_formTitle="request_form.title"/>
                 <WorkflowEntrance :list="fromList" v-else :lastManList="lastManList" @beforeClose="beforeClose"
-                    :requestForm="requestForm" />
+                    :requestForm="requestForm" :request_formTitle="request_form.title"/>
             </el-dialog>
         </div>
 
@@ -399,6 +399,7 @@ export default {
         //处理按钮,开始工作流接口
         clickHandles() {
             this.getNextPath(this.fromList.resourceId || "");
+            this.request_form.title = '[IT工作台]-防火墙策略-' + this.$refs.formTable.form.needName;
         },
         getNextPath(e) {
             let list = {
@@ -778,6 +779,7 @@ export default {
             });
         },
         setUpdateCopy(e) {
+            this.request_form.title = '[IT工作台]-防火墙策略-' + this.$refs.formTable.form.needName;
             this.$http({
                 url: "/market/fhqProcess/update",
                 method: "post",

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1039 - 0
src/pages/main/fullcalendar/calendarZQ.vue


+ 1 - 0
src/pages/main/funcInit/manageLnit.vue

@@ -68,6 +68,7 @@
                             placeholder="分组名称">
                             <el-option value="default" label="默认"> </el-option>
 					        <el-option value="IT" label="信息中心"> </el-option>
+					        <el-option value="ZQ" label="政企"> </el-option>
                         </el-select>
                     </el-form-item>
                     <el-form-item v-if="type != '1'" prop="lineId">

+ 16 - 2
src/pages/main/internetAssessment/internetAssessment.vue

@@ -386,10 +386,10 @@
             <el-dialog title="处理操作" width="100%" :visible.sync="handleStatus" :before-close="handleCloses" :modal="false"
                 v-if="handleStatus" :destroy-on-close="true">
                 <Workflow :list="fromList" v-if="isWorkflowStatus == true" @updateForm="updateForm"
-                    :requestForm="requestForm" />
+                    :requestForm="requestForm" :adminResourceId="adminResourceId" :request_formTitle="request_form.title"/>
 
                 <WorkflowEntrance :list="fromList" v-else :lastManList="lastManList" @beforeClose="updateForm"
-                    :requestForm="requestForm" />
+                    :requestForm="requestForm" :request_formTitle="request_form.title"/>
                 <!-- 后期维护 -->
             </el-dialog>
         </div>
@@ -723,6 +723,7 @@ export default {
             },
 
             savestatusBtn: false,
+            adminResourceId: "", //转派多人id
 
 
         }
@@ -886,6 +887,9 @@ export default {
             let res = await this.common.httpPost(obj, success);
             function success(data) {
                 console.log('panduan');
+                if (data.lastMan == true) {
+                    _this.adminResourceId = data.adminResourceId;
+                }
                 _this.isWorkflowStatus = data.lastMan == false ? false : true;
                 _this.lastManList = data;
                 console.log(_this.isWorkflowStatus);
@@ -1145,6 +1149,7 @@ export default {
                             })
                         }
                         this.fromList.content = JSON.stringify(this.$refs.form.model.content1);
+                        this.request_form.title = '[市场工作台]-互联网电视考核-' + this.fromList.needName;
                         this.$http({
                             url: "/market/HlwDskhProcess/update",
                             method: "post",
@@ -1313,10 +1318,19 @@ export default {
                 console.log(res.data.body.nextShapes[0].multi);
                 if (res.data.body.nextShapes[0].multi) {
                     if (res.data.body.nextShapes[0].multi.multi === "true") {
+                        console.log('这是mulit节点');
                         this.getLastName();
+                    } else {
+                        this.adminResourceId = ''
+                        console.log('这不是mulit节点');
+                        this.destroy = true;
+                        this.handleStatus = true;
+                        this.getMetirialType();
                     }
                 }
                 if (this.fromList.taskId || this.fromList.processId) {
+                    this.adminResourceId = ''
+                    console.log('这不是mulit节点');
                     this.destroy = true;
                     this.handleStatus = true;
                     this.getMetirialType();

+ 1 - 1
src/pages/main/itknowledgetop/addKnowledge.vue

@@ -131,7 +131,7 @@ export default {
       knowledgeType: [],
       fileInfo: {
         limit: 5,
-        url: "/market/cknowledgenetatt/upload",
+        url: "/market/waf/uploadByMinio",
         fileList: [],
       },
     };

+ 2 - 2
src/pages/main/itknowledgetop/copyIndex.vue

@@ -192,7 +192,7 @@
                 tooltit: '知识库管理',
                 fileInfo: {
                     limit: 5,
-                    url: '/market/cknowledgeatt/upload',
+                    url: "/market/waf/uploadByMinio",
                     fileList: []
                 },
                 fullscreen: false,
@@ -217,7 +217,7 @@
                 visibleList: [],
                 attList: [],
                 datalist: {
-                    url: '/market/compatt/downfile',
+                    url: '/market/waf/downFileByMinio',
                     type: 1
                 },
                 uploadstatus: false,

+ 2 - 2
src/pages/main/itknowledgetop/knowledgeExamine.vue

@@ -164,7 +164,7 @@
                 tooltit: '知识库审核',
                 fileInfo: {
                     limit: 5,
-                    url: '/market/cknowledgenetatt/upload',
+                    url: "/market/waf/uploadByMinio",
                     fileList: []
                 },
                 fullscreen: false,
@@ -188,7 +188,7 @@
                 visibleList: [],
                 attList: [],
                 datalist: {
-                    url: '/market/compatt/downfile',
+                    url: '/market/waf/downFileByMinio',
                     type: 1
                 },
                 uploadstatus: false,

+ 2 - 2
src/pages/main/itknowledgetop/knowledgeManagement.vue

@@ -394,7 +394,7 @@ export default {
       tooltit: "知识库管理",
       fileInfo: {
         limit: 5,
-        url: "/market/cknowledgeatt/upload",
+        url: "/market/waf/uploadByMinio",
         fileList: [],
       },
       total: 0,
@@ -451,7 +451,7 @@ export default {
       loading: false,
       loadinged: false,
       datalist: {
-        url: "/market/compatt/downfile",
+        url: '/market/waf/downFileByMinio',
         type: 2,
       },
     };

+ 1 - 1
src/pages/main/knowledgetop/addKnowledge.vue

@@ -131,7 +131,7 @@ export default {
       knowledgeType: [],
       fileInfo: {
         limit: 5,
-        url: "/market/cknowledgeatt/upload",
+        url: "/market/waf/uploadByMinio",
         fileList: [],
       },
     };

+ 2 - 2
src/pages/main/knowledgetop/copyIndex.vue

@@ -192,7 +192,7 @@
                 tooltit: '知识库管理',
                 fileInfo: {
                     limit: 5,
-                    url: '/market/cknowledgeatt/upload',
+                    url: "/market/waf/uploadByMinio",
                     fileList: []
                 },
                 fullscreen: false,
@@ -217,7 +217,7 @@
                 visibleList: [],
                 attList: [],
                 datalist: {
-                    url: '/market/compatt/downfile',
+                    url: '/market/waf/downFileByMinio',
                     type: 1
                 },
                 uploadstatus: false,

+ 2 - 2
src/pages/main/knowledgetop/knowledgeExamine.vue

@@ -164,7 +164,7 @@
                 tooltit: '知识库审核',
                 fileInfo: {
                     limit: 5,
-                    url: '/market/cknowledgeatt/upload',
+                    url: "/market/waf/uploadByMinio",
                     fileList: []
                 },
                 fullscreen: false,
@@ -188,7 +188,7 @@
                 visibleList: [],
                 attList: [],
                 datalist: {
-                    url: '/market/compatt/downfile',
+                    url: '/market/waf/downFileByMinio',
                     type: 1
                 },
                 uploadstatus: false,

+ 2 - 2
src/pages/main/knowledgetop/knowledgeManagement.vue

@@ -394,7 +394,7 @@ export default {
       tooltit: "知识库管理",
       fileInfo: {
         limit: 5,
-        url: "/market/cknowledgeatt/upload",
+        url: "/market/waf/uploadByMinio",
         fileList: [],
       },
       total: 0,
@@ -451,7 +451,7 @@ export default {
       loading: false,
       loadinged: false,
       datalist: {
-        url: "/market/compatt/downfile",
+        url: '/market/waf/downFileByMinio',
         type: 2,
       },
     };

+ 2 - 0
src/pages/main/leader/demand/demandHome.vue

@@ -817,6 +817,7 @@ export default {
       let res = await this.common.httpPost(obj, success);
       function success(data) {
         console.log(data);
+        console.log('panduan');
         if (data.lastMan == true) {
           _this.adminResourceId = data.adminResourceId;
         }
@@ -1266,6 +1267,7 @@ export default {
 
         this.dialogStatus = true;
         this.saveStatus = true;
+        this.startStatus = true
       });
     },
     setForm(e) {

+ 16 - 20
src/pages/main/leader/index.vue

@@ -12,8 +12,8 @@
                       <i class="el-icon-message-solid"></i>
                       <span>公告</span>
                       <span style="color: #0b82ff" @click="uploadsee(item)">{{
-    item.noticeTitle
-}}</span>
+                        item.noticeTitle
+                      }}</span>
                       <span @click="jNotice">更多</span>
                     </div>
                   </el-carousel-item>
@@ -33,7 +33,7 @@
             </el-col>
           </el-row>
           <el-row>
-            <div v-if="status">
+            <div v-if="indexstatus == 'default'">
               <el-col :span="18">
                 <hometask></hometask>
               </el-col>
@@ -87,7 +87,7 @@ export default {
   data() {
     return {
       noticeData: [], // 公告数据源
-      status: true,
+      indexstatus: '',
       dynamicTags: [], //已添加的常用功能
       numHits: [], //点击率排行
       numHits1: [],
@@ -98,21 +98,6 @@ export default {
     };
   },
   methods: {
-    //获取员工信息
-    getpeo() {
-      this.$http({
-        url: "/sysmgr/csysdept/queryGroupListByLoginNo",
-        method: "post",
-        headers: {
-          "Content-Type": "application/json",
-        },
-        data: {},
-      }).then((res) => {
-        if (res.data[0].parentorgid === "00440063000000000000") {
-          this.status = false;
-        }
-      });
-    },
     //获取公告  分部门展示
     getNotice() {
       this.$http({
@@ -231,11 +216,22 @@ export default {
     },
   },
   mounted() {
-    this.getpeo();
     this.getNotice();
     this.getTags();
     this.getnumberHit();
   },
+  created() {
+    this.$http({
+      url: "/market/cmkline/queryMkLineGroupNameInfo",
+      method: "post",
+      headers: {
+        "Content-Type": "application/json",
+      },
+      data: {},
+    }).then((res) => {
+      this.indexstatus = res.data.groupName;
+    });
+  }
 };
 </script>
 

+ 402 - 0
src/pages/main/leader/indexs.vue

@@ -0,0 +1,402 @@
+<template>
+    <div class="mc-wrap">
+        <div class="container-box">
+            <div class="mc-top">
+                <div class="mc-top-left">
+                    <el-row>
+                        <el-col :span="5">
+                            <div
+                                style="background-color: #fff;height:280px;margin: 10px 10px 0px 0px;border-radius: 10px;padding: 25px 5px 5px 5px;">
+                                <div class="leaderuser"> 你好,{{ username }}</div>
+                                <div class="usericon"><i class="el-icon-phone"></i>:{{ phone }}</div>
+                                <div class="usericon"><i class="el-icon-user-solid"></i>:{{ userdept }}</div>
+                            </div>
+                        </el-col>
+                        <el-col :span="13" style="padding-right: 8px">
+                            <rliZQ></rliZQ>
+                        </el-col>
+                        <el-col :span="6">
+                            <div class="car-line-knowledge">
+                                <div class="tit" v-if="noticeData.length != 0">
+                                    <span style="font-weight: bold">公告</span>
+                                    <span
+                                        style=" font-size: 10px; color:  rgb(82, 212, 252);  margin-left: 20px;  cursor: pointer; "
+                                        @click="jNotice('/noticec')">更多</span>
+                                </div>
+                                <div class="car-box" v-for="item in noticeData" :key="item.noticeId">
+                                    <span :title="item.noticeTitle" class="car-box-span"
+                                        style="color: #606266; font-size: 14px; cursor: pointer" @click="uploadsee(item)">{{
+                                            item.noticeTitle }}</span>
+                                    <span style="color: #606266;  font-size: 12px;float: right;cursor: auto;">
+                                        {{ item.auditTime }}
+                                    </span>
+                                </div>
+                                <div v-if="noticeData.length == 0" style="text-align: center">
+                                    <div class="tit">
+                                        <span style="font-weight: bold">公告</span>
+                                    </div>
+                                    <img src="../../../assets/404.png" width="100%" alt="" />
+                                    <div>暂无数据</div>
+                                </div>
+                            </div>
+                        </el-col>
+                    </el-row>
+                    <el-row>
+                    </el-row>
+                    <el-row type="flex" v-if="indexstatus == 'default'">
+                        <el-col :span="18">
+                            <el-row style="background-color:#fff ;margin: 10px 0px; border-radius: 10px">
+                                <leaderTag :dynamicTags="dynamicTags"></leaderTag>
+                            </el-row>
+                            <el-row style="margin-top: 10px;">
+                                <hometask></hometask>
+                            </el-row>
+                        </el-col>
+                        <el-col :span="6" style="background: #fafafa;border-radius: 10px;margin: 10px 0px 0px 10px;">
+                            <numberhits :numHits="numHits" :numHits1="numHits1"></numberhits>
+                        </el-col>
+                        <div style="clear:both;"></div>
+                    </el-row>
+                    <el-row v-else>
+                        <el-col :span="24" style="background: #fff; margin-top: 10px; border-radius: 10px">
+                            <leaderTag :dynamicTags="dynamicTags"></leaderTag>
+                        </el-col>
+                        <el-col :span="24">
+                            <hometask></hometask>
+                        </el-col>
+                    </el-row>
+                    <el-row style="margin-top: 10px">
+                        <ProcessingInstruction></ProcessingInstruction>
+                    </el-row>
+                </div>
+            </div>
+        </div>
+        <el-dialog title="公告" :visible.sync="dialogStatus" width="50%" :close-on-press-escape="false" :show-close="true"
+            :destroy-on-close="true" :modal-append-to-body="false" :close-on-click-modal="false" :fullscreen="true">
+            <el-form :model="infolist" ref="infolist">
+                <div style="height: calc(100vh - 180px); overflow-y: scroll">
+                    <notiCheck :infolist="infolist" :datalist="datalist" :dialogInfo="dialogStatus"></notiCheck>
+                </div>
+            </el-form>
+            <div class="myfooter" style="text-align: right; margin: 20px 20px 0 0">
+                <el-button @click="dialogStatus = false">确 定</el-button>
+                <el-button @click="dialogStatus = false">取 消</el-button>
+            </div>
+        </el-dialog>
+    </div>
+</template>
+<script>
+import ProcessingInstruction from "./leaderHprocess.vue";
+import hometask from "./leaderhomeTask.vue";
+import numberhits from "./numberHits.vue";
+import leaderTag from "./leaderTag.vue";
+import rliZQ from "./rliZQ.vue";
+import notiCheck from "../../../components/notiCheck.vue";
+import uploadDown from "../../../components/uploadDown";
+
+export default {
+    components: {
+        ProcessingInstruction,
+        hometask,
+        numberhits,
+        leaderTag,
+        rliZQ,
+        notiCheck,
+        uploadDown,
+    },
+    data() {
+        return {
+            noticeData: [], // 公告数据源
+            indexstatus: '',
+            dynamicTags: [], //已添加的常用功能
+            numHits: [], //点击率排行
+            numHits1: [],
+            menuqList: [], //有权限的菜单
+            dialogStatus: false,
+            datalist: [],
+            infolist: {},
+            username: JSON.parse(sessionStorage.getItem("userInfo")).loginName,
+            phone: '',
+            userdept: '',
+        };
+    },
+    methods: {
+        //获取公告  分部门展示
+        getNotice() {
+            this.$http({
+                url: "/sysmgr/cnotice/queryListPage",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                    page: '{"pageNo":"' + 1 + '","pageSize":"5"}',
+                },
+                data: {
+                    sts: 2,
+                },
+            }).then((res) => {
+                this.noticeData = res.data.data;
+            });
+        },
+        //预览公告
+        uploadsee(v) {
+            this.dialogStatus = true;
+            this.infolist = v;
+            this.$http({
+                url: "/sysmgr/cnotice/queryInfo",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                },
+                data: {
+                    noticeId: v.noticeId,
+                },
+            }).then((res) => {
+                this.uploadstatus = !this.uploadstatus;
+                this.datalist.attList = [];
+                this.datalist.attList = res.data.attList;
+                // if(res.data.attList){
+                //     res.data.attList.forEach(item => {
+                //         this.attList.push({
+                //             name: item.fileName,
+                //             url: '',
+                //             id: item.id,
+                //             fileName: item.fileName
+                //         });
+                //     })
+                //     this.datalist.attList = this.attList;
+                //     console.log(this.datalist.attList)
+                // }
+            });
+        },
+        jNotice() {
+            this.$router.push("/noticec");
+            // this.setabList("公告管理","/noticec");
+        },
+        //获取初始Tags
+        getTags() {
+            this.$http({
+                url: "/market/usuaFun/queryFun",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                },
+                data: {},
+            }).then((res) => {
+                this.dynamicTags = res.data;
+            });
+        },
+        //获取部门,电话
+        //获取员工信息
+        getuser() {
+            this.$http({
+                url: "/market/tygdProProcess/getPhone",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                },
+            }).then((res) => {
+                this.phone = res.data
+            })
+            this.$http({
+                url: "/sysmgr/csysdept/queryGroupListByLoginNo",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                },
+                data: {},
+            }).then((res) => {
+                let a = res.data[0].description.split('/')
+                if (a.length == 3) {
+                    this.dept = a[1]
+                    this.userdept = a[1] + '/' + a[2]
+                } else {
+                    this.dept = a[1]
+                    this.userdept = a[1]
+                }
+            });
+        },
+        //获取点击量
+        getnumberHit() {
+            // this.$http({
+            //   url: "/sysmgr/sys/login/auth/functions",
+            //   method: "post",
+            //   headers: {
+            //     "Content-Type": "application/json",
+            //   },
+            //   data: {
+            //     // roleCode: val.roleCode,
+            //     // roleCode: "647733085966045184"
+            //   },
+            // }).then((res) => {
+            //   let men = res.data.functions;
+            //   let newmen = [];
+            //   for (let i in men) {
+            //     if (men[i].jspUrl != "#") {
+            //       newmen.push(men[i]);
+            //     }
+            //   }
+            //   console.log("array", newmen);
+            //   this.menuqList = newmen;
+            //   let newmen1 = [];
+            //   for (let b in this.menuqList) {
+            //     for (let a in this.numHits) {
+            //       if (this.menuqList[b].jspUrl == this.numHits[a].jsp_url) {
+            //         newmen1.push(this.numHits[a]);
+            //       }
+            //     }
+            //   }
+            //   console.log(this.numHits)
+            //   console.log([...newmen1]);
+            // });
+            this.$http({
+                url: "/market/clickRate/queryClickRate",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                },
+                data: {},
+            }).then((res) => {
+                let men = res.data;
+                let newmen = [];
+                for (let i in men) {
+                    if (men[i].jspUrl != "#") {
+                        newmen.push(men[i]);
+                    }
+                }
+                this.numHits = newmen;
+                this.numHits1 = newmen.slice(0, 10);
+            });
+        },
+    },
+    mounted() {
+        this.getuser();
+        this.getNotice();
+        this.getTags();
+        this.getnumberHit();
+    },
+    created() {
+        this.$http({
+            url: "/market/cmkline/queryMkLineGroupNameInfo",
+            method: "post",
+            headers: {
+                "Content-Type": "application/json",
+            },
+            data: {},
+        }).then((res) => {
+            this.indexstatus = res.data.groupName;
+        });
+    }
+};
+</script>
+  
+<style lang="scss" scoped>
+.usericon {
+    margin: 15px 0;
+    text-align: center;
+}
+
+.leaderuser {
+    color: #fff;
+    line-height: 100px;
+    text-align: center;
+    height: 100px;
+    font-size: 20px;
+    width: 75%;
+    background-color: #429DFF;
+    border-radius: 10px;
+    margin: 15px auto;
+}
+
+.mc-wrap {
+    box-sizing: border-box !important;
+    margin: 0;
+    height: calc(100vh - 120px);
+    overflow: hidden;
+    width: 100%;
+    padding-right: 10px;
+
+    .container-box {
+        width: 100%;
+        height: calc(100% - 40px);
+        margin-top: 10px;
+        overflow-y: scroll;
+        padding: 0 0 0 15px;
+    }
+
+    .tit {
+        height: 30px;
+        background: #fff;
+        line-height: 35px;
+        padding: 0 20px;
+        display: flex;
+        justify-content: space-between;
+    }
+}
+
+.mc-top {
+    display: flex;
+    width: 100%;
+}
+
+.mc-wrap .mc-top-left {
+    width: 100%;
+    margin-right: 15px;
+}
+
+.mc-wrap .mc-top-right {
+    width: calc(20% - 15px);
+    background-color: white;
+    overflow: hidden;
+
+    .inner-box {
+        width: calc(100% + 20px);
+        background-color: white;
+        overflow-y: scroll;
+    }
+}
+
+
+.car-line-knowledge {
+    min-height: 280px;
+    max-height: 280px;
+    background: #fff;
+    margin: 10px 0px 0px 2px;
+    border-radius: 10px;
+    overflow-y: auto;
+
+    .car-box {
+        padding: 0 20px;
+        line-height: 44px;
+        height: 44px;
+        color: #333;
+        border-bottom: 1px solid #c1abfc;
+
+        .car-box-span {
+            float: left;
+            color: #0b82ff;
+            font-size: 14px;
+            cursor: pointer;
+            display: inline-block; //成为“块级”元素(block-level);span元素的默认display属性值为“inline”,
+            max-width: 13em; //限制字数
+            overflow: hidden; //对溢出内容的隐藏
+            white-space: nowrap; //只保留一个空白,文本不会换行,会在在同一行上继续,直到遇到br标签为止。
+            text-overflow: ellipsis //使得超出部分用“ … ”代替
+        }
+
+        // span {
+        //   cursor: pointer;
+        //   margin-right: 20px;
+        // }
+
+        // span:first-child {
+        //   cursor: auto;
+        // }
+
+        // span:last-child {
+        //   float: right;
+        //   margin-right: 0;
+        // }
+    }
+}
+</style>
+  

+ 327 - 0
src/pages/main/leader/leaderTags.vue

@@ -0,0 +1,327 @@
+<template>
+    <div class="numbox">
+      <div class="numboxx">
+        <span>常用功能</span>
+        <span @click="RowTitle" style="float: right; cursor: pointer; color: rgb(82, 212, 252)">设置>></span>
+      </div>
+      <div class="foxbox">
+        <el-tag v-for="(item, index) in dynamicTags" :key="index" size="large" type="info" class="tags"
+          :disable-transitions="false">
+          <i @click="tagrouter($event, item, index)" class="icon" v-if="item.icon" v-html="item.icon">
+            <!-- {{ item.icon }} -->
+          </i>
+          <span :title="item.functionName" @click="tagrouter($event, item, index)" style="display: inline-block;">
+            <!-- <i class="el-icon-date"></i>  -->
+            {{ item.functionName }}
+          </span>
+        </el-tag>
+        <el-button class="button-new-tag" type="info" size="small" @click="showMenu()" icon="el-icon-plus">添加功能
+        </el-button>
+        <el-dialog title="添加常用功能" :visible.sync="menuStatus" width="40%" :close-on-press-escape="false" :show-close="false"
+          :destroy-on-close="true" :modal-append-to-body="false" :close-on-click-modal="false">
+          <div style="height: 300px; overflow: auto">
+            <el-tree class="tree-line-style" :expand-on-click-node="true" :auto-expand-parent="true"
+              :default-expand-all="true" :default-checked-keys="checkedMenu" :data="menuList" show-checkbox
+              @check="checkChange" node-key="functionCode">
+              <span class="custom-tree-node" slot-scope="{ node }">
+                <span>
+                  <!-- <span
+                    v-if="node.data.children.length > 0"
+                    style="color: #009cff"
+                    class="iconfont icon-wenjianjia"
+                  ></span> -->
+                  <span style="color: #fdb441" class="iconfont icon-wenjian"></span>
+                  {{ node.data.functionName }}
+                </span>
+              </span>
+            </el-tree>
+          </div>
+          <div slot="footer" class="dialog-footer">
+            <el-button @click="
+              () => {
+                menuStatus = false;
+              }
+            ">取 消</el-button>
+            <el-button v-show="subBtn" @click="subMenu">确 定</el-button>
+          </div>
+        </el-dialog>
+        <el-dialog title="设置常用功能" :visible.sync="setStatus" width="40%" :close-on-press-escape="false" :show-close="false"
+          :destroy-on-close="true" :modal-append-to-body="false" :close-on-click-modal="false">
+          <div style="height: 300px; overflow: auto">
+            <el-tree class="tree-line-style" :expand-on-click-node="true" :auto-expand-parent="true"
+              :default-expand-all="true" draggable :allow-drop="collapse" :default-checked-keys="checkedMenu"
+              :data="dynamicTags" show-checkbox @check="checkChange" node-key="functionCode">
+              <span class="custom-tree-node" slot-scope="{ node }">
+                <span>
+                  <!-- <span
+                    v-if="node.data.children.length > 0"
+                    style="color: #009cff"
+                    class="iconfont icon-wenjianjia"
+                  ></span> -->
+                  <span style="color: #fdb441" class="iconfont icon-wenjian"></span>
+                  {{ node.data.functionName }}
+                </span>
+              </span>
+            </el-tree>
+          </div>
+          <div slot="footer" class="dialog-footer">
+            <el-button @click="
+              () => {
+                setStatus = false;
+              }
+            ">取 消</el-button>
+            <el-button v-show="subBtn" @click="deletMenu">删 除</el-button>
+            <el-button v-show="subBtn" @click="saveMenu">保存</el-button>
+          </div>
+        </el-dialog>
+      </div>
+    </div>
+  </template>
+  
+  <script>
+  export default {
+    props: ["dynamicTags"],
+    data() {
+      return {
+        // dynamicTags: [],
+        inputVisible: false,
+        inputValue: "",
+        roleData: "", // 某一条数据
+        checkedMenu: [], // 选中节点的functionCode
+        subBtn: true,
+        menuStatus: false,
+        setStatus: false,
+        menuList: [], // tree数据源
+        checkedNodes: [],
+      };
+    },
+    methods: {
+      collapse(moveNode, inNode, type) {//只允许拖拽
+        if (type === "inner") return;
+        if (moveNode.nextSibling === undefined) {
+          return type === "prev";
+        } else if (inNode.nextSibling === undefined) {
+          return type === "next";
+        } else if (moveNode.nextSibling.id !== inNode.id) {
+          return type === "prev";
+        } else {
+          return type === "next";
+        }
+      },
+      tagrouter(e, item, index) {
+        // console.log(e, item, index);
+        this.$router.push(item.jspUrl);
+      },
+      RowTitle() {
+        this.setStatus = true;
+      },
+      // 树形图 复选框监听事件
+      checkChange(a, b, c, d) {
+        this.checkedNodes = b.checkedNodes;
+        let list = {};
+        for (let i = 0; i < b.halfCheckedNodes.length; i++) {
+          list = Object.assign({}, b.halfCheckedNodes[i]);
+          list.children = "";
+          this.checkedNodes.push(list);
+        }
+      },
+      // 弹出菜单配置弹窗
+      showMenu() {
+        this.checkedMenu = [];
+        this.menuStatus = true;
+        this.$http({
+          url: "/sysmgr/sys/login/auth/functions",
+          method: "post",
+          headers: {
+            "Content-Type": "application/json",
+          },
+          data: {
+            // roleCode: val.roleCode,
+            // roleCode: "647733085966045184"
+          },
+        }).then((res) => {
+          let men = res.data.functions;
+          let newmen = [];
+          for (let i in men) {
+            if (men[i].jspUrl != "#") {
+              newmen.push(men[i]);
+            }
+          }
+          // console.log("array", newmen);
+          this.menuList = newmen;
+        });
+      },
+      //设置 保存按钮
+      saveMenu() {
+        console.log(this.dynamicTags);
+        this.$http({
+          url: "/market/usuaFun/reSetOrder",
+          method: "post",
+          headers: {
+            "Content-Type": "application/json",
+          },
+          data: {
+            data: this.dynamicTags,
+          },
+        }).then((res) => {
+          if (res.data.result == 0) {
+            this.$notify({
+              title: "保存成功",
+              message: res.data.desc,
+              type: "success",
+            });
+            this.setStatus = false;
+            location.reload();
+          }
+        });
+      },
+      //删除常用功能
+      deletMenu() {
+        this.$http({
+          url: "/market/usuaFun/delete",
+          method: "post",
+          headers: {
+            "Content-Type": "application/json",
+          },
+          data: {
+            data: this.checkedNodes,
+          },
+        }).then((res) => {
+          if (res.data.result == 0) {
+            this.$notify({
+              title: "删除成功",
+              message: res.data.desc,
+              type: "success",
+            });
+            this.setStatus = false;
+            location.reload();
+          }
+        });
+      },
+  
+      // 提交常用功能
+      subMenu() {
+        // let checknode = [];
+        // this.checkedNodes.map(function (item, index) {
+        //   console.log(item.jspUrl); // 1
+        //   checknode.push(item.jspUrl);
+        //   checknode.push(item.functionName);
+        // });
+        // console.log(checknode)
+        this.$http({
+          url: "/market/usuaFun/save",
+          method: "post",
+          headers: {
+            "Content-Type": "application/json",
+          },
+          data: {
+            data: this.checkedNodes,
+          },
+        }).then((res) => {
+          if (res.data.result == 0) {
+            this.$notify({
+              title: "成功",
+              message: res.data.desc,
+              type: "success",
+            });
+            this.menuStatus = false;
+            location.reload();
+          }
+        });
+      },
+    },
+    mounted() { },
+  };
+  </script>
+  <style lang="scss" scoped>
+  svg {
+    height: 60px !important;
+    width: 60px !important;
+  }
+  
+  .numbox {
+    width: 100%;
+    background: #fff;
+    margin-top: 10px;
+    margin-bottom: 10px;
+    // padding: 10px 0;
+    padding-left: 10px;
+    border-radius: 10px;
+  
+    .numboxx {
+      border-bottom: 1px solid #e1e1e1;
+      padding-bottom: 5px;
+      padding-left: 5px;
+      padding-right: 5px;
+      font-size: 16px;
+      font-weight: 600;
+    }
+  
+    .foxbox {
+      background: #fff;
+      margin-left: 5px;
+    }
+  
+    .tags {
+      margin: 5px;
+      float: left;
+      width: 165px;
+      padding: 0;
+      height: 100px;
+      display: flex;
+      flex-direction: column;
+  
+      // background: url(../../../../src/assets/djlph-bt-bj.jpg) no-repeat 5px center;
+      span {
+        cursor: pointer;
+        display: inline-block;
+        font-size: 14px;
+        // line-height: 50px;
+        text-align: center;
+        overflow: hidden;
+        text-overflow: ellipsis;
+        /*超出部分省略号表示*/
+        // width: 110px;
+        // text-align: left;
+      }
+  
+      .icon {
+        float: left;
+        margin: 0px 50px;
+        width: 60px;
+        height: 60px;
+        cursor: pointer;
+      }
+    }
+  
+    .button-new-tag {
+      margin: 5px;
+      width: 165px;
+      float: left;
+      height: 100px;
+      font-size: 16px;
+    }
+  }
+  
+  .el-button--info,
+  .el-button--info:focus,
+  .el-button--info.is-active,
+  .el-button--info:active {
+    background: #f2f2f2;
+    color: #161616;
+    border-color: #f2f2f2;
+  }
+  
+  .el-button--info:hover {
+    background: #66a4a7;
+    border-color: #66a4a7;
+    color: #161616;
+  }
+  
+  .el-tag--info {
+    background: #f2f2f2;
+    color: #161616;
+    border-color: #f2f2f2;
+  }
+  </style>
+  

+ 258 - 349
src/pages/main/leader/leaderhomeTask.vue

@@ -1,30 +1,27 @@
 <template>
   <div style="display: flex; justify-content: space-between">
     <div class="taskbox">
-      <div class="tit">
-        <span class="span1" @click="tabboxclick1">我的待办 ({{ this.daitotal }})</span>
-        <span class="span2" @click="tabboxclick2">我的已办</span>
-        <span class="span3" @click="tabboxclick3">我的发起</span>
+      <div class="homeTaskTit">
+        <span class="span span1" @click="tabboxclick(0)">我的待办 ({{ this.daitotal }})</span>
+        <span class="span" @click="tabboxclick(1)">我的已办</span>
+        <span class="span" @click="tabboxclick(2)">我的发起</span>
         <!-- <span class="span" @click="more">更多>></span> -->
       </div>
       <div class="fatherbox">
         <div class="tabbox">
           <!-- 我的待办列表 -->
           <el-table :header-cell-style="{
-            background: '#F2F2F2',
-            'text-align': 'center',
-          }" :cell-style="{ background: '#FaFaFa' }" v-if="tabbox1" class="com-table" ref="multipleTable"
+              background: '#F2F2F2',
+              'text-align': 'center',
+            }" :cell-style="{ background: '#FaFaFa' }" v-if="tabbox == 0" class="com-table" ref="multipleTable"
             :data="niticList" tooltip-effect="dark" size="small"
-            style="width: 100%; font-size: 16px; background: '#FaFaFa'" height="442px">
+            style="width: 100%; font-size: 16px; background: '#FaFaFa'" height="442px" v-loading="loading0">
             <el-table-column prop="woTitle" label="工单标题" align="left" :show-overflow-tooltip="true">
               <template slot-scope="scope">
-                <span :title="scope.row.woTitle" @click="RowTitle(scope.row)" :style="
-                  scope.row.woTypeDesc == '预警工单'
+                <span :title="scope.row.woTitle" @click="RowTitle(scope.row)" :style="scope.row.woTypeDesc == '预警工单'
                     ? 'cursor: pointer;color:red;'
                     : 'cursor: pointer;color:blue;'
-                ">
-                  <!-- <span style="float: left; color: #afb2d8;margin-right:5px"
-                  >•</span> -->
+                  ">
                   {{ scope.row.woTitle }}
                 </span>
               </template>
@@ -32,11 +29,11 @@
             <el-table-column prop="procName" label="流程名称" align="center" width="180" :show-overflow-tooltip="true">
               <template slot-scope="scope">
                 <span :title="scope.row.procName">{{
-                    scope.row.procName
+                  scope.row.procName
                 }}</span>
               </template>
             </el-table-column>
-            <el-table-column prop="assigneName" label="上一步处理人" align="center" width="120" :show-overflow-tooltip="true">
+            <!-- <el-table-column prop="assigneName" label="上一步处理人" align="center" width="120" :show-overflow-tooltip="true">
               <template slot-scope="scope">
                 <span :title="scope.row.assigneName">{{
                     scope.row.assigneName
@@ -47,50 +44,43 @@
               <template slot-scope="scope">
                 <span  :title="scope.row.clsj">{{ scope.row.clsj }}</span>
               </template>
-            </el-table-column>
+            </el-table-column> -->
             <el-table-column prop="opName" label="发起人" align="center" width="100">
               <template slot-scope="scope">
                 <span>{{ scope.row.opName }}</span>
               </template>
             </el-table-column>
-            <el-table-column prop="createTime" label="发起时间" align="center" width="130" :show-overflow-tooltip="true">
+            <el-table-column prop="createTime" label="发起时间" align="center" width="180" :show-overflow-tooltip="true">
               <template slot-scope="scope">
-                <span  :title="scope.row.createTime">{{ scope.row.createTime }}</span>
+                <span :title="scope.row.createTime">{{ scope.row.createTime }}</span>
               </template>
             </el-table-column>
           </el-table>
-          <!-- <el-pagination class="pageBox" @current-change="currchangeDdaiban" layout="total,prev, pager, next" background
-            page-size="10" :total="totalDaiban" v-if="tabbox1">
-          </el-pagination> -->
           <el-pagination @current-change="currchangeDdaiban" :current-page="daipage" :page-size="daisize"
-            layout="total,prev, pager, next" :total="daitotal" v-if="tabbox1">
+            layout="total,prev, pager, next" :total="daitotal" v-if="tabbox == 0">
           </el-pagination>
         </div>
         <div class="tabbox">
           <!-- 我的已办列表 -->
           <el-table :header-cell-style="{
-            background: '#F2F2F2',
-            'text-align': 'center',
-          }" :cell-style="{ background: '#FaFaFa' }" class="com-table" ref="tableDatayj" v-if="tabbox2"
+              background: '#F2F2F2',
+              'text-align': 'center',
+            }" :cell-style="{ background: '#FaFaFa' }" class="com-table" ref="tableDatayj" v-if="tabbox == 1"
             :data="tableDatayj" tooltip-effect="dark" size="small"
-            style="width: 100%; font-size: 16px; background: '#FaFaFa'" height="442px">
+            style="width: 100%; font-size: 16px; background: '#FaFaFa'" height="442px" v-loading="loading1">
             <el-table-column prop="woTitle" label="工单标题" align="left" :show-overflow-tooltip="true">
               <template slot-scope="scope">
-                <!-- <span style="float: left; color: #afb2d8;margin-right:5px"
-                  >•</span
-                > -->
-                <span @click="RowDoneTitle(scope.row)" :title="scope.row.woTitle"
-                  style="cursor: pointer; color: blue">{{ scope.row.woTitle }}</span>
+                <span @click="RowDoneTitle(scope.row)" :title="scope.row.woTitle" style="cursor: pointer; color: blue">{{
+                  scope.row.woTitle }}</span>
               </template>
             </el-table-column>
             <el-table-column prop="procName" label="流程名称" align="center" width="180" :show-overflow-tooltip="true">
               <template slot-scope="scope">
                 <span :title="scope.row.procName">{{
-                    scope.row.procName
+                  scope.row.procName
                 }}</span>
               </template>
             </el-table-column>
-
             <el-table-column prop="opName" label="发起人" align="center" width="120">
               <template slot-scope="scope">
                 <span>{{ scope.row.opName }}</span>
@@ -102,34 +92,27 @@
               </template>
             </el-table-column>
           </el-table>
-          <!-- <el-pagination class="pageBox"  @current-change="currchangeDone"
-            layout="total,prev, pager, next" background :total="totalDone" page-size="10">
-          </el-pagination> -->
           <el-pagination @current-change="currchangeyiban" :current-page="yibanpage" :page-size="yibansize"
-            layout="total,prev, pager, next" :total="yibantotal" v-if="tabbox2">
+            layout="total,prev, pager, next" :total="yibantotal" v-if="tabbox == 1">
           </el-pagination>
         </div>
         <div class="tabbox">
           <!-- 我的发起列表 -->
           <el-table :header-cell-style="{
-            background: '#F2F2F2',
-            'text-align': 'center',
-          }" :cell-style="{ background: '#FaFaFa' }" class="com-table" ref="OpList" :data="OpList" v-if="tabbox3"
-            tooltip-effect="dark" size="small" style="width: 100%; font-size: 16px; background: '#FaFaFa'"
-            height="442px">
+              background: '#F2F2F2',
+              'text-align': 'center',
+            }" :cell-style="{ background: '#FaFaFa' }" class="com-table" ref="OpList" :data="OpList" v-if="tabbox == 2"
+            tooltip-effect="dark" size="small" style="width: 100%; font-size: 16px; background: '#FaFaFa'" height="442px" v-loading="loading2">
             <el-table-column prop="woTitle" label="工单标题" align="left" :show-overflow-tooltip="true">
               <template slot-scope="scope">
-                <!-- <span style="float: left; color: #afb2d8;margin-right:5px"
-                  >•</span
-                > -->
                 <span :title="scope.row.woTitle" @click="RowlaunchTitle(scope.row)"
                   style="cursor: pointer; color: blue">{{ scope.row.woTitle }}</span>
               </template>
             </el-table-column>
-            <el-table-column prop="procName" label="流程名称" align="center" :show-overflow-tooltip="true">
+            <el-table-column prop="procName" label="流程名称" width="180" align="center" :show-overflow-tooltip="true">
               <template slot-scope="scope">
                 <span :title="scope.row.procName">{{
-                    scope.row.procName
+                  scope.row.procName
                 }}</span>
               </template>
             </el-table-column>
@@ -139,33 +122,22 @@
                 <span>{{ scope.row.createTime }}</span>
               </template>
             </el-table-column>
-             <el-table-column 
-              align="center"
-              width="80"
-              label="操作"
-            >
+            <el-table-column align="center" width="80" label="操作">
               <template slot-scope="scope">
-                <el-button
-                  size="mini"
-                  
-                  :disabled="scope.row.flag == '1' ? true : false"
+                <el-button size="mini" :disabled="scope.row.flag == '1' ? true : false"
                   @click="handleEdit(scope.$index, scope.row)">催办</el-button>
-                
               </template>
             </el-table-column>
 
           </el-table>
-          <!-- <el-pagination class="pageBox" @current-change="currchangeOp" layout="total,prev, pager, next" background
-            :total="totalOp" v-if="tabbox3" page-size="10">
-          </el-pagination> -->
           <el-pagination @current-change="currchangefaqi" :current-page="faqipage" :page-size="faqisize"
-            layout="total,prev, pager, next" :total="faqitotal" v-if="tabbox3">
+            layout="total,prev, pager, next" :total="faqitotal" v-if="tabbox == 2">
           </el-pagination>
         </div>
       </div>
       <!-- 查看待办弹窗 -->
-      <el-dialog title="查看" :visible.sync="WorkOrderStatus" width="50%" :close-on-press-escape="false"
-        :show-close="true" :destroy-on-close="true" :modal-append-to-body="false" :close-on-click-modal="false">
+      <el-dialog title="查看" :visible.sync="WorkOrderStatus" width="50%" :close-on-press-escape="false" :show-close="true"
+        :destroy-on-close="true" :modal-append-to-body="false" :close-on-click-modal="false">
         <div>
           <el-form :inline="true" :model="StatusList" class="demo-form-inline">
             <el-form-item label="工单标题">
@@ -233,47 +205,30 @@
         </div>
       </el-dialog>
       <!-- 处理弹窗 -->
-      <el-dialog title="处理" :visible.sync="WorkOrderStatus1" width="40%" :close-on-press-escape="false"
-        :show-close="true" :destroy-on-close="true" :modal-append-to-body="false" :close-on-click-modal="false">
+      <el-dialog title="处理" :visible.sync="WorkOrderStatus1" width="40%" :close-on-press-escape="false" :show-close="true"
+        :destroy-on-close="true" :modal-append-to-body="false" :close-on-click-modal="false">
         <div style="height: 450px">
           <iframe height="100%" width="100%" :src="dialogdiv" frameborder="0"></iframe>
         </div>
       </el-dialog>
       <div>
-      <el-dialog title="有您的催办工单" :visible.sync="dialogTableVisible"  :modal="false" >
-        <el-table :data="gridData">
-          <el-table-column property="woTitle" 
-          label="工单标题" width="625" 
-          show-overflow-tooltip=true 
-           >
-           <template slot-scope="scope">
-                <span 
-                  @click="urgedDeal(scope.row)"
-                  :title="scope.row.woTitle"
-                  style="cursor: pointer; color: blue"
-                  >{{ scope.row.woTitle }}</span
-                >
+        <el-dialog title="有您的催办工单" :visible.sync="dialogTableVisible" :modal="false">
+          <el-table :data="gridData">
+            <el-table-column property="woTitle" label="工单标题" width="625" show-overflow-tooltip=true>
+              <template slot-scope="scope">
+                <span @click="urgedDeal(scope.row)" :title="scope.row.woTitle" style="cursor: pointer; color: blue">{{
+                  scope.row.woTitle }}</span>
               </template>
-           </el-table-column>
-          
-          <el-table-column 
-              align="center"
-              width="100"
-              label="操作"
-            >
-            <!-- <el-form-item> -->
+            </el-table-column>
+
+            <el-table-column align="center" width="100" label="操作">
               <template slot-scope="scope">
-                
-                <el-button
-                  size="mini"
-                  @click="handleEdit1(scope.$index, scope.row)">已阅</el-button>
-                
+                <el-button size="mini" @click="handleEdit1(scope.$index, scope.row)">已阅</el-button>
               </template>
-              <!-- </el-form-item> -->
             </el-table-column>
-        </el-table>
-      </el-dialog>
-    </div>
+          </el-table>
+        </el-dialog>
+      </div>
     </div>
   </div>
 </template>
@@ -284,11 +239,9 @@ export default {
   // props:["tableDatayj","niticList"],
   data() {
     return {
-      gridData:[],//催办列表
+      gridData: [],//催办列表
       dialogTableVisible: false,//催办弹窗是否显示
-      tabbox1: true, //待办
-      tabbox2: false, //已办
-      tabbox3: false, //发起
+      tabbox: 0,//代办已办发起
       niticList: [], //待办列表
       tableDatayj: [], //已办列表
       OpList: [], //我的发起列表
@@ -302,15 +255,8 @@ export default {
       DoneList: [], //我的已办流程节点
       launchList: [], //我的发起流程节点
       urlllll: "", //跳转路由
-      totalDone: 0, //已办分页
-      totalDaiban: 0, //已办分页
-      totalOp: 0, //已办分页
       params: {},
-      pageSize: 1,
-      pagesize: 10,
-      pageSizeDone: 1,
-      pageSizeDdaiban: 1,
-      pageSizeOp: 1,
+      loginNo: '',
       daipage: 1, //第几页
       daisize: 10, //一页多少条
       daitotal: 0, //总条目数
@@ -320,6 +266,9 @@ export default {
       faqipage: 1, //第几页
       faqisize: 10, //一页多少条
       faqitotal: 0, //总条目数
+      loading0:false,
+      loading1:false,
+      loading2:false,
     };
   },
   methods: {
@@ -332,139 +281,139 @@ export default {
     },
     //查看标题按钮按钮
     RowTitle(v) {
-      this.StatusList = v;
+      // this.StatusList = v;
       console.log(v.actionUrl);
-      if (v.taskName) {
-        this.WorkOrderStatus = true;
-        this.$http({
-          url: "/market/cwo/queryProcStepByWono",
-          method: "post",
-          headers: {
-            "Content-Type": "application/json",
-          },
-          data: {
-            woNo: v.woNo,
-          },
-        }).then((res) => {
-          this.WorkOrderList = res.data;
-        });
-        this.$http({
-          url: "/market/cwo/redirectDealPage",
-          method: "post",
-          headers: {
-            "Content-Type": "application/json",
-          },
-          data: {
-            procId: v.procId,
-          },
-        }).then((res) => {
-          this.urlllll = res.data[0].jspUrl;
-          // console.log(this.urlllll)
-          // if(this.urlllll=="#"){
-          //   this.urlllll=res.data[1].jspUrl
-          // }
-          console.log(this.urlllll);
-        });
-      } else {
-        this.$router.push(v.actionUrl);
-      }
+      // if (v.taskName) {
+      //   this.WorkOrderStatus = true;
+      //   this.$http({
+      //     url: "/market/cwo/queryProcStepByWono",
+      //     method: "post",
+      //     headers: {
+      //       "Content-Type": "application/json",
+      //     },
+      //     data: {
+      //       woNo: v.woNo,
+      //     },
+      //   }).then((res) => {
+      //     this.WorkOrderList = res.data;
+      //   });
+      //   this.$http({
+      //     url: "/market/cwo/redirectDealPage",
+      //     method: "post",
+      //     headers: {
+      //       "Content-Type": "application/json",
+      //     },
+      //     data: {
+      //       procId: v.procId,
+      //     },
+      //   }).then((res) => {
+      //     this.urlllll = res.data[0].jspUrl;
+      //     // console.log(this.urlllll)
+      //     // if(this.urlllll=="#"){
+      //     //   this.urlllll=res.data[1].jspUrl
+      //     // }
+      //     console.log(this.urlllll);
+      //   });
+      // } else {
+      this.$router.push(v.actionUrl);
+      // }
     },
     //我的已办查看按钮
     RowDoneTitle(v) {
-      this.StatusList = v;
+      // this.StatusList = v;
       console.log(v.actionUrl);
-      if (v.taskName) {
-        this.DoneStatus = true;
-        this.$http({
-          url: "/market/cwo/queryProcStepByWono",
-          method: "post",
-          headers: {
-            "Content-Type": "application/json",
-          },
-          data: {
-            woNo: v.woNo,
-          },
-        }).then((res) => {
-          this.DoneList = res.data;
-        });
-        this.$http({
-          url: "/market/cwo/redirectDealPage",
-          method: "post",
-          headers: {
-            "Content-Type": "application/json",
-          },
-          data: {
-            procId: v.procId,
-          },
-        }).then((res) => {
-          this.urlllll = res.data[0].jspUrl;
-          // console.log(this.urlllll)
-          // if(this.urlllll=="#"){
-          //   this.urlllll=res.data[1].jspUrl
-          // }
-          console.log(this.urlllll);
-        });
-      } else {
-        this.$router.push(v.actionUrl);
-      }
+      // if (v.taskName) {
+      //   this.DoneStatus = true;
+      //   this.$http({
+      //     url: "/market/cwo/queryProcStepByWono",
+      //     method: "post",
+      //     headers: {
+      //       "Content-Type": "application/json",
+      //     },
+      //     data: {
+      //       woNo: v.woNo,
+      //     },
+      //   }).then((res) => {
+      //     this.DoneList = res.data;
+      //   });
+      //   this.$http({
+      //     url: "/market/cwo/redirectDealPage",
+      //     method: "post",
+      //     headers: {
+      //       "Content-Type": "application/json",
+      //     },
+      //     data: {
+      //       procId: v.procId,
+      //     },
+      //   }).then((res) => {
+      //     this.urlllll = res.data[0].jspUrl;
+      //     // console.log(this.urlllll)
+      //     // if(this.urlllll=="#"){
+      //     //   this.urlllll=res.data[1].jspUrl
+      //     // }
+      //     console.log(this.urlllll);
+      //   });
+      // } else {
+      this.$router.push(v.actionUrl);
+      // }
     },
 
     //我的发起查看按钮
     RowlaunchTitle(v) {
-      this.StatusList = v;
+      // this.StatusList = v;
       console.log(v.actionUrl);
-      if (v.taskName) {
-        this.launchStatus = true;
-        this.$http({
-          url: "/market/cwo/queryProcStepByWono",
-          method: "post",
-          headers: {
-            "Content-Type": "application/json",
-          },
-          data: {
-            woNo: v.woNo,
-          },
-        }).then((res) => {
-          this.launchList = res.data;
-        });
-      } else {
-        this.$router.push(v.actionUrl);
-      }
+      // if (v.taskName) {
+      //   this.launchStatus = true;
+      //   this.$http({
+      //     url: "/market/cwo/queryProcStepByWono",
+      //     method: "post",
+      //     headers: {
+      //       "Content-Type": "application/json",
+      //     },
+      //     data: {
+      //       woNo: v.woNo,
+      //     },
+      //   }).then((res) => {
+      //     this.launchList = res.data;
+      //   });
+      // } else {
+      this.$router.push(v.actionUrl);
+      // }
     },
-     //催办按钮
-     handleEdit(index, row) {
-        this.open(row);
-  
-      },
-      //已阅按钮
-     handleEdit1(index, row) {
-        this.haveRead(row);   //点已阅后返回数据给后台
-        
-      },
-      
+    //催办按钮
+    handleEdit(index, row) {
+      this.open(row);
+
+    },
+    //已阅按钮
+    handleEdit1(index, row) {
+      this.haveRead(row);   //点已阅后返回数据给后台
+
+    },
+
     //催办按钮弹窗
     open(row) {
-        this.$confirm('催办此条工单, 是否继续?', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          this.urgedDeal(row);
-          
-          this.$message({
-            type: 'success',
-            message: '催办成功!'
-          });
-        }).catch(() => {
-          this.$message({
-            type: 'info',
-            message: '已取消催办'
-          });          
+      this.$confirm('催办此条工单, 是否继续?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        this.urgedDeal(row);
+
+        this.$message({
+          type: 'success',
+          message: '催办成功!'
+        });
+      }).catch(() => {
+        this.$message({
+          type: 'info',
+          message: '已取消催办'
         });
-      },
-     
-     //催办向后台返回数据
-     urgedDeal(row) {
+      });
+    },
+
+    //催办向后台返回数据
+    urgedDeal(row) {
       let list = {}
       list.id = row.id;
       list.woNo = row.woNo;
@@ -473,20 +422,20 @@ export default {
       list.nextName = row.assigneeName;
       list.sts = row.sts;
       list.actionUrl = row.actionUrl;
-      console.log(row); 
-        this.$http({
+      console.log(row);
+      this.$http({
         url: "/market/remind/add",
         method: "post",
         headers: {
           "Content-Type": "application/json",
-         },
+        },
         data: list,
       }).then((res) => {
-        
+
       });
-     },
-     //已阅向后台返回数据
-     haveRead(row) {
+    },
+    //已阅向后台返回数据
+    haveRead(row) {
       let list = {}
       list.id = row.id;
       list.woNo = row.woNo;
@@ -494,34 +443,34 @@ export default {
       list.nextNo = row.assigneeNo;
       list.nextName = row.assigneeName;
       list.sts = row.sts;
-      console.log(row); 
-        this.$http({
+      console.log(row);
+      this.$http({
         url: "/market/remind/update",
         method: "post",
         headers: {
           "Content-Type": "application/json",
-         },
+        },
         data: list,
       }).then((res) => {
         this.popupWindow();
       });
-     },
+    },
 
-      //接收数据判断是否弹窗
-    popupWindow(){
-       this.$http({
+    //接收数据判断是否弹窗
+    popupWindow() {
+      this.$http({
         url: "/market/remind/queryListByNo",
         method: "post",
         headers: {
           "Content-Type": "application/json",
-         },
-        
+        },
+
       }).then((res) => {
         console.log(res);
         console.log(res.data.length);
-        if(res.data.length == 0){
+        if (res.data.length == 0) {
           this.dialogTableVisible = false;
-        }else{
+        } else {
           this.dialogTableVisible = true;
         }
         this.gridData = res.data
@@ -535,145 +484,112 @@ export default {
 
     //待办列表初始化
     daiban(v, n) {
-      this.pageSizeDdaiban = n;
+      this.loading0=true
       this.$http({
-        url: "/market/cwo/queryQaToDoList",
+        url: "/market/taskToDo/queryPage",
         method: "post",
         headers: {
           "Content-Type": "application/json",
-          page: '{"pageNo":"' + '1' + '","pageSize":"100"}',
+          page: '{"pageNo":"' + n + '","pageSize":"10"}',
+        },
+        data: {
+          nextNo: this.loginNo,
         },
-        data: '{"pageNo":"' + '1' + '","pageSize":"100"}',
       }).then((res) => {
-       // this.niticList = res.data.data;
-       let data = JSON.parse(JSON.stringify(res.data.data))
-        this.niticList = data.splice(
-          (this.daipage - 1) * this.daisize,
-          this.daisize
-        );
-        this.daitotal = res.data.data.length
-        // this.totalDaiban = res.data.totalRecord;
+        this.niticList = res.data.data;
+        this.daitotal = res.data.totalRecord;
+        this.loading0=false
       });
     },
 
     //已办列表初始化
     getListyj(v, n) {
-      this.pageSizeDone = n;
+      this.loading1=true
       let _this = this;
       this.$http({
-        url: "/market/cwo/queryQaFinishList",
+        url: "/market/taskFinish/queryPage",
         method: "post",
         headers: {
           "Content-Type": "application/json",
-          page: '{"pageNo":"' + '1' + '","pageSize":"100"}',
+          page: '{"pageNo":"' + n + '","pageSize":"10"}',
+        },
+        data: {
+          nextNo: this.loginNo,
         },
-        data: '{"pageNo":"' + '1' + '","pageSize":"100"}',
       }).then((res) => {
-         // this.tableDatayj = res.data.data;
-        // this.totalDone = res.data.totalRecord;
-        let data = JSON.parse(JSON.stringify(res.data.data))
-        this.tableDatayj = data.splice(
-          (this.yibanpage - 1) * this.yibansize,
-          this.yibansize
-        );
-        this.yibantotal = res.data.data.length
+        this.tableDatayj = res.data.data;
+        this.yibantotal = res.data.totalRecord;
+        this.loading1=false
       });
     },
     //待办分页
     currchangeDdaiban(val) {
       console.log("翻页,当前为第几页", val);
       this.daipage = val;
-      // this.getTabelData2();
-      // this.pageSizeDdaiban = v;
-      this.daiban(this.params, this.pageSizeDdaiban);
+      this.daiban(this.params, this.daipage);
     },
     //已办分页
     currchangeyiban(val) {
-      // this.pageSizeDone = v;
       this.yibanpage = val;
-      this.getListyj(this.params, this.pageSizeDone);
+      this.getListyj(this.params, this.yibanpage);
     },
     //发起分页
     currchangefaqi(val) {
-      // this.pageSizeOp = v;
       this.faqipage = val;
-      this.getOPlist(this.params, this.pageSizeOp);
+      this.getOPlist(this.params, this.faqipage);
     },
     //我的发起列表初始化
     getOPlist(v, n) {
-      this.pageSizeOp = n;
+      this.loading2=true
       this.$http({
-        url: "/market/cwo/queryOpList",
+        url: "/market/taskCreate/queryPage",
         method: "post",
         headers: {
           "Content-Type": "application/json",
-          page: '{"pageNo":"' + '1' + '","pageSize":"100"}',
+          page: '{"pageNo":"' + n + '","pageSize":"10"}',
+        },
+        data: {
+          opNo: this.loginNo,
         },
-        data: '{"pageNo":"' + '1' + '","pageSize":"100"}',
       }).then((res) => {
-      // this.OpList = res.data.data;
-        // this.totalOp = res.data.totalRecord;
-        let data = JSON.parse(JSON.stringify(res.data.data))
-        this.OpList = data.splice(
-          (this.faqipage - 1) * this.faqisize,
-          this.faqisize
-        );
-        this.faqitotal = res.data.data.length
+        this.OpList = res.data.data;
+        this.faqitotal = res.data.totalRecord;
+        this.loading2=false
       });
     },
-    tabboxclick1() {
-      this.tabbox1 = true;
-      this.tabbox2 = false;
-      this.tabbox3 = false;
-      document.querySelector(".span1").style.color = "blue";
-      document.querySelector(".span2").style.color = "black";
-      document.querySelector(".span2").style.border = 0;
-      document.querySelector(".span1").style.borderBottom = "2px solid blue";
-      document.querySelector(".span3").style.color = "black";
-      document.querySelector(".span3").style.border = 0;
-      document.querySelector(".com-table").style.backgroundColor = "#FaFaFa";
-    },
-    tabboxclick2() {
-      this.tabbox1 = false;
-      this.tabbox2 = true;
-      this.tabbox3 = false;
-      document.querySelector(".com-table").style.backgroundColor = "#FaFaFa";
-      document.querySelector(".span1").style.border = 0;
-      document.querySelector(".span2").style.borderBottom = "2px solid blue";
-      document.querySelector(".span2").style.color = "blue";
-      document.querySelector(".span1").style.color = "black";
-      document.querySelector(".span3").style.color = "black";
-      document.querySelector(".span3").style.border = 0;
-    },
-    tabboxclick3() {
-      this.tabbox1 = false;
-      this.tabbox2 = false;
-      this.tabbox3 = true;
-      document.querySelector(".com-table").style.backgroundColor = "#FaFaFa";
-      document.querySelector(".span1").style.color = "black";
-      document.querySelector(".span2").style.color = "black";
-      document.querySelector(".span1").style.border = 0;
-      document.querySelector(".span2").style.border = 0;
-      document.querySelector(".span3").style.borderBottom = "2px solid blue";
-      document.querySelector(".span3").style.color = "blue";
+    tabboxclick(e) {
+      this.tabbox = e
+      document.querySelectorAll(".homeTaskTit")[0].childNodes[0].className = 'span'
+      document.querySelectorAll(".homeTaskTit")[0].childNodes[1].className = 'span'
+      document.querySelectorAll(".homeTaskTit")[0].childNodes[2].className = 'span'
+      document.querySelectorAll(".homeTaskTit")[0].childNodes[e].className = 'span span1'
+      if (e == 0) {
+        this.daiban({}, 1);
+      } else if (e == 1) {
+        this.getListyj({}, 1);
+      } else if (e == 2) {
+        this.getOPlist({}, 1);
+      }
     },
   },
   mounted() {
     let list = getConfig()
     console.log(list);
-    
+
     this.daiban({}, 1);
-    this.getListyj({}, 1);
-    this.getOPlist({}, 1);
-    this.userInfo = JSON.parse(window.sessionStorage.userInfo);
   },
   created() {
-     this.popupWindow();
+    this.popupWindow();
+    this.loginNo = JSON.parse(window.sessionStorage.userInfo).loginNo;
   },
 };
 </script>
 
 <style lang="scss" scoped>
+.el-pagination {
+  // padding: 10px;
+}
+
 .diobtn {
   position: relative;
   text-align: right;
@@ -687,7 +603,7 @@ export default {
   display: inline-block;
 }
 
-.tit {
+.homeTaskTit {
   margin-top: 10px;
   clear: both;
   height: 47px;
@@ -696,8 +612,8 @@ export default {
   line-height: 47px;
   padding: 0 20px;
   font-size: 16px;
-  border-top-left-radius: 5px;
-  border-top-right-radius: 5px;
+  border-top-left-radius: 10px;
+  border-top-right-radius: 10px;
   justify-content: space-between;
 
   .com-table {
@@ -705,21 +621,6 @@ export default {
   }
 
   .span {
-    float: right;
-    color: orange;
-  }
-
-  .span1 {
-    display: inline-block;
-    color: blue;
-    text-align: center;
-    height: 46px;
-    font-weight: 900;
-    width: 120px;
-    border-bottom: 2px solid blue;
-  }
-
-  .span2 {
     display: inline-block;
     text-align: center;
     height: 46px;
@@ -727,14 +628,17 @@ export default {
     font-weight: 900;
   }
 
-  .span3 {
+  .span1 {
     display: inline-block;
+    color: blue;
     text-align: center;
     height: 46px;
-    width: 120px;
     font-weight: 900;
+    width: 120px;
+    border-bottom: 2px solid blue;
   }
 
+
   span {
     cursor: pointer;
   }
@@ -775,8 +679,8 @@ export default {
   background: #fafafa;
   padding: 10px;
   height: 484px;
-  border-bottom-left-radius: 5px;
-  border-bottom-right-radius: 5px;
+  border-bottom-left-radius: 10px;
+  border-bottom-right-radius: 10px;
   width: 100%;
 }
 
@@ -790,6 +694,11 @@ export default {
   background: #fafafa;
 }
 
+::v-deep .el-button--mini,
+.el-button--mini.is-round {
+  padding: 3px !important;
+}
+
 // ::v-deep .el-table--scrollable-y .el-table__body-wrapper {
 //   overflow: hidden;
 // }

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 295 - 0
src/pages/main/leader/numberHitss.vue


+ 4 - 1
src/pages/main/leader/risk/riskMaterials.vue

@@ -99,7 +99,7 @@
         <div v-if="destroy">
             <el-dialog title="处理操作" width="100%" :visible.sync="handleStatus" :before-close="handleCloses"
                 :modal="false" v-if="handleStatus" :destroy-on-close="true">
-                <Workflow :list="fromList" @updateForm="updateForm" :requestForm="requestForm" />
+                <Workflow :list="fromList" @updateForm="updateForm" :requestForm="requestForm" :request_formTitle="request_form.title"/>
                 <!-- 后期维护 -->
             </el-dialog>
         </div>
@@ -948,6 +948,7 @@ export default {
                                 //     this.fromList.processAccessoryList = attList;
                                 // }
                                 this.fromList.tableName = this.tableName;
+                                this.request_form.title = '[市场工作台]-风险点防控-'+this.fromList.needName;
                                 this.$http({
                                     url: "/market/fxfkProcess/update",
                                     method: "post",
@@ -1074,12 +1075,14 @@ export default {
                 if (this.savestatusBtn) {
                     this.destroy = true;
                     this.handleStatus = true;
+                    this.request_form.title = '[市场工作台]-风险点防控-'+this.fromList.needName;
                 } else {
                     this.$message.error("请先点击保存按钮");
                 }
             } else {
                 this.destroy = true;
                 this.handleStatus = true;
+                this.request_form.title = '[市场工作台]-风险点防控-'+this.fromList.needName;
             }
         },
         //处理关闭

+ 0 - 398
src/pages/main/leader/rli.vue

@@ -1,398 +0,0 @@
-<template>
-    <div>
-        <!-- <div class="calendar">
-            <div class="arrow">
-                <i class="el-icon-arrow-left" @click="arrow('left')"></i>
-                <i class="el-icon-arrow-right" @click="arrow('right')"></i>
-            </div>
-            <el-calendar v-model="value" :range="dateRange"></el-calendar>
-        </div> -->
-        <!-- 下面的日历 -->
-        <div class="date">
-            <div class="arrow0">
-                <i class="el-icon-arrow-left" @click="weekPre"></i>
-                <i class="el-icon-arrow-right" @click="weekNext"></i>
-            </div>
-            <!-- 年份 月份 -->
-            <div class="month">
-                <p>{{ currentYear }}年{{ currentMonth }}月</p>
-            </div>
-            <!-- 星期 -->
-            <ul class="weekdays">
-                <li>一</li>
-                <li>二</li>
-                <li>三</li>
-                <li>四</li>
-                <li>五</li>
-                <li>六</li>
-                <li>日</li>
-            </ul>
-            <!-- 日期 -->
-            <ul class="days">
-                <li @click="pick(day)" v-for="(day, index) in days" :key="index">
-                    <!--本月-->
-                    <span v-if="day.getMonth() + 1 != currentMonth" class="other-month">{{ day.getDate() }}</span>
-                    <span v-else>
-                        <!--今天-->
-                        <span
-                            v-if="day.getFullYear() == new Date().getFullYear() && day.getMonth() == new Date().getMonth() && day.getDate() == new Date().getDate()"
-                            class="active">{{ day.getDate() }}</span>
-                        <span v-else>{{ day.getDate() }}</span>
-                    </span>
-                </li>
-            </ul>
-            <el-table v-loading="loading" :data="tableData" style="width: 100%">
-                <el-table-column prop="date" label="日期" width="180">
-                </el-table-column>
-                <el-table-column prop="name" label="姓名" width="180">
-                </el-table-column>
-                <el-table-column prop="address" label="地址">
-                </el-table-column>
-            </el-table>
-            <el-pagination @current-change="currchange" :current-page="page" :page-size="size"
-                layout="total,prev, pager, next" :total="total">
-            </el-pagination>
-        </div>
-    </div>
-</template>
-   
-<script>
-export default {
-    data() {
-        return {
-            // 上
-            value: "",
-            endDate: "",
-            dateRange: [],
-            dateNum: 0,
-            // 下
-            currentYear: "",   // 年份
-            currentMonth: "",  // 月份
-            currentDay: "",    // 日期
-            currentWeek: "",    // 星期
-            days: [],
-            tableData: [{
-                date: '2016-05-02',
-                name: '王小虎',
-                address: '上海市普陀区金沙江路 1518 弄'
-            }, {
-                date: '2016-05-04',
-                name: '王小虎',
-                address: '上海市普陀区金沙江路 1517 弄'
-            }, {
-                date: '2016-05-01',
-                name: '王小虎',
-                address: '上海市普陀区金沙江路 1519 弄'
-            }, {
-                date: '2016-05-03',
-                name: '王小虎',
-                address: '上海市普陀区金沙江路 1516 弄'
-            }],
-            loading:false,
-            params: {},
-            page: 1, //第几页
-            size: 10, //一页多少条
-            total: 50, //总条目数
-        }
-    },
-    created() {
-        // 上面的日历
-        this.dateList(this.dateNum);
-        console.log(this.dateRange);
-        // 下面的日历
-        this.initData();
-        this.getlist();
-    },
-    methods: {
-
-        currchange(val) {
-            console.log("翻页,当前为第几页", val);
-            this.page = val;
-            this.getlist(this.params, this.page);
-        },
-        getlist(v, n) {
-            this.loading=true
-            this.$http({
-                url: "/market/waf/queryTodoBase",
-                method: "post",
-                headers: {
-                    "Content-Type": "application/json",
-                    page: '{"pageNo":"' + n + '","pageSize":"10"}',
-                },
-                data: { tableName: 'fxfk_process', },
-            }).then((res) => {
-                this.loading=false
-                this.tableData = res.data.data;
-                this.total = res.data.totalRecord;
-            });
-        },
-        // 上面的日历
-
-        // 获取当前时间的周一
-        getMonday(date) {
-            var day = date.getDay();
-            var deltaDay;
-            if (day == 0) {
-                deltaDay = 6;
-            } else {
-                deltaDay = day - 1;
-            }
-            var monday = new Date(date.getTime() - deltaDay * 24 * 60 * 60 * 1000);
-            monday.setHours(0);
-            monday.setMinutes(0);
-            monday.setSeconds(0);
-            return monday; //返回选定时间的周一的0时0分0秒
-        },
-        getDateNew(time) {
-            console.log(time);
-            let times = new Date(time);
-            let year = times.getFullYear();
-            let month = times.getMonth() + 1 < 10 ? "0" + (times.getMonth() * 1 + 1) : times.getMonth() * 1 + 1;
-            let day = times.getDate() < 10 ? "0" + times.getDate() * 1 : times.getDate() * 1;
-            return year + "-" + month + "-" + day;
-        },
-        dateList(delta) {
-            //将时间对象转换为时间戳并加几天后转换为时间对象
-            var DateNews = this.getMonday(
-                new Date((new Date().getTime() / 1000 + 86400 * 7 * delta) * 1000)
-            );
-            let startDate = this.getDateNew(DateNews, delta);
-            this.endDate = this.getDateNew(
-                new Date((DateNews.getTime() / 1000 + 6 * 86400) * 1000)
-            );
-            this.dateRange = [startDate, this.endDate];
-        },
-        arrow(arrow) {
-            if (arrow == "left") {
-                this.dateNum--;
-                this.dateList(this.dateNum);
-            } else if (arrow == "right") {
-                this.dateNum++;
-                this.dateList(this.dateNum);
-            }
-        },
-
-        // 下面的日历
-
-        formatDate(year, month, day) {
-            const y = year
-            let m = month
-            if (m < 10) m = `0${m}`
-            let d = day
-            if (d < 10) d = `0${d}`
-            return `${y}-${m}-${d}`
-        },
-        initData(cur) {
-            let date = ''
-            if (cur) {
-                date = new Date(cur)
-            } else {
-                date = new Date()
-            }
-            this.currentDay = date.getDate()          // 今日日期 几号
-            this.currentYear = date.getFullYear()       // 当前年份
-            this.currentMonth = date.getMonth() + 1    // 当前月份
-            this.currentWeek = date.getDay() // 1...6,0   // 星期几
-            if (this.currentWeek === 0) {
-                this.currentWeek = 7
-            }
-            const str = this.formatDate(this.currentYear, this.currentMonth, this.currentDay) // 今日日期 年-月-日
-            this.days.length = 0
-            // 今天是周日,放在第一行第7个位置,前面6个 这里默认显示一周,如果需要显示一个月,则第二个循环为 i<= 35- this.currentWeek
-            /* eslint-disabled */
-            for (let i = this.currentWeek - 1; i >= 0; i -= 1) {
-                const d = new Date(str)
-                d.setDate(d.getDate() - i)
-                // console.log(y:" + d.getDate())
-                this.days.push(d)
-            }
-            for (let i = 1; i <= 7 - this.currentWeek; i += 1) {
-                const d = new Date(str)
-                d.setDate(d.getDate() + i)
-                this.days.push(d)
-            }
-        },
-        //  上个星期
-        weekPre() {
-            const d = this.days[0]    // 如果当期日期是7号或者小于7号
-            d.setDate(d.getDate() - 7)
-            this.initData(d)
-        },
-        //  下个星期
-        weekNext() {
-            const d = this.days[6]    // 如果当期日期是7号或者小于7号
-            d.setDate(d.getDate() + 7)
-            this.initData(d)
-        },
-        // 上一個月   传入当前年份和月份
-        pickPre(year, month) {
-            const d = new Date(this.formatDate(year, month, 1))
-            d.setDate(0)
-            this.initData(this.formatDate(d.getFullYear(), d.getMonth() + 1, 1))
-        },
-        // 下一個月   传入当前年份和月份
-        pickNext(year, month) {
-            const d = new Date(this.formatDate(year, month, 1))
-            d.setDate(35)
-            this.initData(this.formatDate(d.getFullYear(), d.getMonth() + 1, 1))
-        },
-        // 当前选择日期
-        pick(date) {
-            alert(this.formatDate(date.getFullYear(), date.getMonth() + 1, date.getDate()))
-        },
-    },
-};
-</script>
-   
-<style lang="scss" scoped>
-ul {
-    padding: 0;
-}
-
-li {
-    list-style-type: none;
-}
-
-/* 上面的日历 */
-.calendar {
-    position: relative;
-    width: 100%;
-    background: #fff;
-    margin-top: 20px;
-    margin-left: 20px;
-}
-
-.el-calendar__header {
-    display: block;
-}
-
-.el-calendar-table .el-calendar-day {
-    height: auto;
-    text-align: center;
-}
-
-.el-calendar-table td.is-selected {
-    background-color: #24b18d;
-    color: #fff;
-}
-
-.el-calendar-table .el-calendar-day:hover {
-    background-color: #24b18d;
-    color: #fff;
-}
-
-.el-calendar-table {
-    border-bottom: 1px solid #e4e4e4;
-    padding-bottom: 15px;
-}
-
-.el-calendar-table .next {
-    color: rgb(143, 143, 143);
-}
-
-.el-calendar__title,
-.el-calendar__button-group {
-    text-align: center;
-}
-
-.arrow {
-    width: 100%;
-    max-height: 46px;
-    position: absolute;
-    top: 15px;
-    text-align: center;
-}
-
-.arrow i {
-    font-size: 20px;
-    cursor: pointer;
-}
-
-.arrow i:nth-child(1) {
-    margin-right: 10%;
-    text-align: left;
-}
-
-.arrow i:nth-child(2) {
-    margin-left: 10%;
-    text-align: right;
-}
-
-/* 下面的日历 */
-.date {
-    position: relative;
-    margin-top: 20px;
-    padding: 10px 20px;
-    background-color: #D3D3D3;
-}
-
-.arrow0 {
-    width: 100%;
-    max-height: 46px;
-    position: absolute;
-    top: 27px;
-    left: 0px;
-    text-align: center;
-}
-
-.arrow0 i {
-    font-size: 20px;
-    cursor: pointer;
-}
-
-.arrow0 i:nth-child(1) {
-    margin-right: 10%;
-    text-align: left;
-}
-
-.arrow0 i:nth-child(2) {
-    margin-left: 10%;
-    text-align: right;
-}
-
-.month {
-    text-align: center;
-}
-
-.weekdays {
-    display: flex;
-}
-
-.weekdays li {
-    flex: 1;
-    text-align: center;
-}
-
-.days {
-    display: flex;
-}
-
-.days li {
-    flex: 1;
-    text-align: center;
-    cursor: pointer;
-}
-
-.days li span {
-    display: inline-block;
-    width: 22px;
-    height: 22px;
-}
-
-.days li span:hover {
-    color: #fff;
-    background-color: #409EFF;
-    border-radius: 50%;
-}
-
-.active {
-    display: inline-block;
-    color: #fff;
-    border-radius: 50%;
-    background-color: #fa6854 !important;
-}
-
-.other-month {
-    color: #e4393c;
-}
-</style>

+ 818 - 0
src/pages/main/leader/rliZQ.vue

@@ -0,0 +1,818 @@
+<template>
+    <div>
+        <!-- <div class="calendar">
+            <div class="arrow">
+                <i class="el-icon-arrow-left" @click="arrow('left')"></i>
+                <i class="el-icon-arrow-right" @click="arrow('right')"></i>
+            </div>
+            <el-calendar v-model="value" :range="dateRange"></el-calendar>
+        </div> -->
+        <!-- 下面的日历 -->
+        <div class="date">
+            <div class="arrow0">
+                <i class="el-icon-arrow-left" style="font-weight: 900;" @click="weekPre"></i>
+                <i class="el-icon-arrow-right" style="font-weight: 900;" @click="weekNext"></i>
+            </div>
+            <!-- 年份 月份 -->
+            <div class="month">
+                <span style="text-align: left;font-size: 16px;font-weight: 600;position: absolute;left: 20px;">我的日程</span>
+                <p>{{ currentYear }}年{{ currentMonth }}月</p>
+            </div>
+            <!-- 星期 -->
+            <ul class="weekdays">
+                <li>一</li>
+                <li>二</li>
+                <li>三</li>
+                <li>四</li>
+                <li>五</li>
+                <li>六</li>
+                <li>日</li>
+            </ul>
+            <!-- 日期 -->
+            <ul class="days">
+                <li @click="pick(day, index)" v-for="(day, index) in days" :key="index">
+                    <!--本月-->
+                    <span v-if="day.getMonth() + 1 != currentMonth" class="other-month">{{ day.getDate() }}</span>
+                    <span v-else>
+                        <!--今天-->
+                        <span
+                            v-if="day.getFullYear() == new Date().getFullYear() && day.getMonth() == new Date().getMonth() && day.getDate() == new Date().getDate()"
+                            class="active">{{ day.getDate() }}</span>
+                        <span v-else>{{ day.getDate() }}</span>
+                    </span>
+                </li>
+            </ul>
+            <div style="padding: 10px 0px;" @click="addnewr" v-loading="loading">
+                <div class="rlitable" v-if="tableData.length > 0">
+                    <span v-for="(item, index) in tableData" :key="index" class="rlitit"
+                        @click.stop="handleEventClick(item)">
+                        <span class="rlitit2">{{ item.startTime }}~{{ item.endTime }}</span>
+                        <span class="rlitit3">
+                            <span class="rlitit4">{{ item.name }}</span>
+                            <span class="rlitit4">{{ item.remark }}</span>
+                        </span>
+
+                    </span>
+                </div>
+                <div v-else class="rlitable2">
+                    <div style="padding:10px;text-align: center;">
+                        点击此处可添加日程
+                    </div>
+
+                </div>
+            </div>
+            <!-- <el-table v-loading="loading" :data="tableData" style="width: 100%;" height="123">
+                <el-table-column prop="date" label="日期" width="180" align="center">
+                </el-table-column>
+                <el-table-column prop="name" label="姓名" width="180" align="center">
+                </el-table-column>
+                <el-table-column prop="address" label="地址" align="center">
+                </el-table-column>
+            </el-table>
+            <el-pagination @current-change="currchange" :current-page="page" :page-size="size"
+                layout="total,prev, pager, next" :total="total">
+            </el-pagination> -->
+            <!--日程新增弹窗start-->
+            <el-dialog :title="titleNew" :visible.sync="dialogVisible" :before-close="close" :modal="false" width="45%">
+                <el-form :model="form" :rules="rules" ref="form" label-width="120px" size="small" class="demo-ruleForm"
+                    v-if="dialogVisible">
+                    <el-form-item label="日程名称" prop="name">
+                        <el-input v-model="form.name"></el-input>
+                    </el-form-item>
+                    <el-form-item label="日程开始时间" required>
+                        <el-col :span="11">
+                            <el-form-item prop="begindate" style="margin-bottom: 0">
+                                <el-date-picker type="date" disabled format="yyyy-MM-dd" value-format="yyyy-MM-dd"
+                                    placeholder="选择日期" v-model="form.begindate" style="width: 100%">
+                                </el-date-picker>
+                            </el-form-item>
+                        </el-col>
+                        <el-col class="line" :span="2">-</el-col>
+                        <el-col :span="11">
+                            <el-form-item prop="startTime" style="margin-bottom: 0">
+                                <el-select v-model="form.startTime" placeholder="选择时间" clearable>
+                                    <el-option v-for="item in timeOptions" :key="item.time" :disabled="item.disabled"
+                                        :label="item.time" :value="item.time" />
+                                </el-select>
+                            </el-form-item>
+                        </el-col>
+                    </el-form-item>
+                    <el-form-item label="日程结束时间" required>
+                        <el-col :span="11">
+                            <el-form-item prop="enddate" style="margin-bottom: 0">
+                                <el-date-picker type="date" disabled format="yyyy-MM-dd" value-format="yyyy-MM-dd"
+                                    placeholder="选择日期" v-model="form.enddate" style="width: 100%">
+                                </el-date-picker>
+                            </el-form-item>
+                        </el-col>
+                        <el-col class="line" :span="2">-</el-col>
+                        <el-col :span="11">
+                            <el-form-item prop="endTime" style="margin-bottom: 0">
+                                <el-select v-model="form.endTime" placeholder="选择时间" clearable>
+                                    <el-option v-for="item in timeOptions" :key="item.time" :disabled="item.disabled"
+                                        :label="item.time" :value="item.time" />
+                                </el-select>
+                            </el-form-item>
+                        </el-col>
+                    </el-form-item>
+                    <el-form-item label="日程备注" prop="remark">
+                        <el-input type="textarea" v-model="form.remark" maxlength="1000" show-word-limit></el-input>
+                    </el-form-item>
+                    <el-form-item>
+                        <el-button v-if="form.id" type="danger" @click="delForm()">删除</el-button>
+                        <el-button @click="resetForm('form')">取消</el-button>
+                        <el-button type="primary" @click="submitForm('form')">提交</el-button>
+                    </el-form-item>
+                </el-form>
+            </el-dialog>
+            <!--日程新增弹窗end-->
+        </div>
+    </div>
+</template>
+   
+<script>
+import { getNowdata, } from "../../../http/api.js";//../../../http/api.js
+export default {
+    data() {
+        return {
+            // 上
+            value: "",
+            endDate: "",
+            dateRange: [],
+            dateNum: 0,
+            // 下
+            currentYear: "",   // 年份
+            currentMonth: "",  // 月份
+            currentDay: "",    // 日期
+            currentWeek: "",    // 星期
+            days: [],
+            tableData: [
+                {
+                    date: '2016-05-02',
+                    name: '王小虎',
+                    address: '上海市普陀区金沙江路 1518 弄'
+                }, {
+                    date: '2016-05-04',
+                    name: '王小虎',
+                    address: '上海市普陀区金沙江路 1517 弄'
+                },
+                {
+                    date: '2016-05-01',
+                    name: '王小虎',
+                    address: '上海市普陀区金沙江路 1519 弄'
+                },
+            ],
+            loading: false,
+            params: {},
+            page: 1, //第几页
+            size: 10, //一页多少条
+            total: 50, //总条目数
+            subList: [],
+            array: [],
+            roleNameList: [
+                {
+                    userId: 1,
+                    name: "分管公司领导/部门负责人",
+                },
+                {
+                    userId: 2,
+                    name: "部门负责人",
+                },
+                {
+                    userId: 3,
+                    name: "部门分管线条领导/科室主任",
+                },
+            ],
+            isParrty: [
+                {
+                    is_party: "1",
+                    name: "是",
+                },
+                {
+                    is_party: "0",
+                    name: "否",
+                },
+            ],
+            dialogVisible: false,
+            titleNew: "",
+            form: {
+                name: "",
+                userId: "",
+                begindate: "",
+                startTime: "",
+                enddate: "",
+                endTime: "",
+                remark: "",
+                leaderName: "",
+                roleId: "",
+                roleColor: "",
+                id: "",
+                isParty: "否",
+                // roleName: '分管公司领导/部门负责人'
+                // roleName: [],
+                orgId: [2, 3],
+                // orgIds: "[2,3]",
+            },
+            rules: {
+                name: [{ required: true, message: "请输入日程主题", trigger: "blur" }],
+                // userid: [
+                //     { required: true, message: "请选择日程室使用人", trigger: "change" },
+                // ],
+                begindate: [
+                    { required: true, message: "请选择开始日期", trigger: "change" },
+                ],
+                startTime: [
+                    { required: true, message: "请选择开始时间", trigger: "change" },
+                ],
+                enddate: [
+                    { required: true, message: "请选择结束日期", trigger: "change" },
+                ],
+                endTime: [
+                    { required: true, message: "请选择结束时间", trigger: "change" },
+                ],
+                remark: [
+                    { required: true, message: "请填写日程备注", trigger: "blur" },
+                ],
+                // leaderName: [{ required: true, message: "发起科室", trigger: "blur" }],
+                // isParty: [{ required: true, message: "是否是党会", trigger: "change" }],
+                // roleName:[{required: true, message: '参会角色', trigger: 'change'}],
+                // orgId: [{ required: true, message: "参会角色", trigger: "change" }],
+                // orgIds: [{required: true, message: '参会角色', trigger: 'change'}]
+            },
+            // 时间选项
+            timeOptions: [
+                { time: "08:00" },
+                { time: "08:30" },
+                { time: "09:00" },
+                { time: "09:30" },
+                { time: "10:00" },
+                { time: "10:30" },
+                { time: "11:00" },
+                { time: "11:30" },
+                { time: "12:00" },
+                { time: "12:30" },
+                { time: "13:00" },
+                { time: "13:30" },
+                { time: "14:00" },
+                { time: "14:30" },
+                { time: "15:00" },
+                { time: "15:30" },
+                { time: "16:00" },
+                { time: "16:30" },
+                { time: "17:00" },
+                { time: "17:30" },
+                { time: "18:00" },
+            ],
+            // 备份
+            backupTimeOptions: [
+                { time: "08:00" },
+                { time: "08:30" },
+                { time: "09:00" },
+                { time: "09:30" },
+                { time: "10:00" },
+                { time: "10:30" },
+                { time: "11:00" },
+                { time: "11:30" },
+                { time: "12:00" },
+                { time: "12:30" },
+                { time: "13:00" },
+                { time: "13:30" },
+                { time: "14:00" },
+                { time: "14:30" },
+                { time: "15:00" },
+                { time: "15:30" },
+                { time: "16:00" },
+                { time: "16:30" },
+                { time: "17:00" },
+                { time: "17:30" },
+                { time: "18:00" },
+            ],
+            nowdata: '',
+        }
+    },
+    created() {
+        this.getnowdata()
+        // 上面的日历
+        this.dateList(this.dateNum);
+        // console.log(this.dateRange);
+        // 下面的日历
+        this.initData();
+        this.getList();
+
+    },
+    methods: {
+        getnowdata(val) {
+            let yy = new Date().getFullYear()
+            let mm = new Date().getMonth() + 1 < 10 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1
+            let dd = new Date().getDate() < 10 ? '0' + new Date().getDate() : new Date().getDate()
+            this.nowdata = yy + '-' + mm + '-' + dd
+        },
+        //重置数据
+        resetForm(formName) {
+            this.dialogVisible = false;
+            this.$refs[formName].resetFields();
+        },
+        //删除数据
+        delForm(e) {
+            this.$http({
+                url: "/market/HomePageSchedule/del",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                },
+                data: this.form,
+            }).then((res) => {
+                // console.log(res);
+                this.dialogVisible = false;
+                if (res.data.result === 1) {
+                    this.$message({
+                        message: res.data.desc,
+                        type: "error",
+                    });
+                } else {
+                    this.$message({
+                        message: "成功",
+                        type: "success",
+                    });
+                    // location.reload();
+                    this.getList();
+                }
+            });
+        },
+        // 提交数据
+        submitForm(formName) {
+            this.$refs[formName].validate((valid) => {
+                if (valid) {
+                    this.form.begindate = `${this.form.begindate} ${this.form.startTime}`;
+                    this.form.enddate = `${this.form.enddate} ${this.form.endTime}`;
+                    // console.log(this.form, "数据");
+                    this.dialogVisible = false;
+                    if (this.form.id === "") {
+                        this.form === "";
+                    }
+                    if (new Date(this.form.enddate) < new Date(this.form.begindate)) {
+                        this.$message({
+                            message: "日程时间填写错误",
+                            type: "error",
+                        });
+                    } else {
+                        this.$http({
+                            url: this.form.id ? "/market/HomePageSchedule/update" : "/market/HomePageSchedule/add",
+                            method: "post",
+                            headers: {
+                                "Content-Type": "application/json",
+                            },
+                            data: this.form,
+                        }).then((res) => {
+                            // console.log(res);
+                            this.loadinged = false;
+                            if (res.data.result === 1) {
+                                this.$message({
+                                    message: res.data.desc,
+                                    type: "error",
+                                });
+                            } else {
+                                this.$message({
+                                    message: "成功",
+                                    type: "success",
+                                });
+                                // location.reload();
+                                this.getList();
+                            }
+                        });
+                    }
+                } else {
+                    // console.log("error submit!!");
+                    return false;
+                }
+            });
+        },
+        // 日历日程点击事件
+        handleEventClick(e) {
+            this.titleNew = "日程修改";
+            this.dialogVisible = true;
+            this.form = e
+            this.form.begindate = this.nowdata
+            this.form.enddate = this.nowdata
+        },
+        //新增日程
+        addnewr() {
+            console.log(11);
+            this.form = {
+                begindate: this.nowdata,//开始时间
+                enddate: this.nowdata, //结束时间
+                loginNo: JSON.parse(window.sessionStorage.userInfo).loginNo,
+                day: this.nowdata
+            }
+            // this.form.orgId = [];
+            // this.form.isParty = "";
+            this.titleNew = "日程新增";
+            // if (!this.auth) {
+            //     return;
+            // }
+            //开始时间
+            // this.form.begindate = this.nowdata;
+            // //结束时间
+            // this.form.enddate = this.nowdata;
+
+            this.dialogVisible = true;
+        },
+        //关闭弹窗,重置表单
+        close() {
+            this.dialogVisible = false;
+            this.$refs["form"].resetFields();
+        },
+        // 获取日程信息
+        getList() {
+            this.loading = true
+            this.$http({
+                url: "/market/HomePageSchedule/queryList",//queryPage带分页
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                },
+                data: {
+                    day: this.nowdata
+                },
+            }).then((res) => {
+                console.log("res", res);
+                this.tableData = res.data;
+                this.loading = false
+                // this.array = res.data;
+                // // this.getReservationList(this.array.scheduleList0);
+                // this.getReservationList(this.array);
+            });
+        },
+        // 获取日程事件title
+        getTitle(date1, date2, isParty) {
+            let start =
+                isParty == "1"
+                    ? "★" + date1.substring(11, 16)
+                    : date1.substring(11, 16);
+            let end = date2.substring(11, 16);
+            return `${start}~${end}`;
+        },
+        // 日期加1天
+        addDate(date, days) {
+            var d = new Date(date);
+            d.setDate(d.getDate() + days);
+            var mon =
+                d.getMonth() + 1 < 10 ? "0" + (d.getMonth() + 1) : d.getMonth() + 1;
+            let endD = d.getDate() < 10 ? "0" + d.getDate() : d.getDate();
+            return `${d.getFullYear()}-${mon}-${endD}`;
+        },
+        // 上面的日历
+
+        // 获取当前时间的周一
+        getMonday(date) {
+            var day = date.getDay();
+            var deltaDay;
+            if (day == 0) {
+                deltaDay = 6;
+            } else {
+                deltaDay = day - 1;
+            }
+            var monday = new Date(date.getTime() - deltaDay * 24 * 60 * 60 * 1000);
+            monday.setHours(0);
+            monday.setMinutes(0);
+            monday.setSeconds(0);
+            return monday; //返回选定时间的周一的0时0分0秒
+        },
+        getDateNew(time) {
+            console.log(time);
+            let times = new Date(time);
+            let year = times.getFullYear();
+            let month = times.getMonth() + 1 < 10 ? "0" + (times.getMonth() * 1 + 1) : times.getMonth() * 1 + 1;
+            let day = times.getDate() < 10 ? "0" + times.getDate() * 1 : times.getDate() * 1;
+            return year + "-" + month + "-" + day;
+        },
+        dateList(delta) {
+            //将时间对象转换为时间戳并加几天后转换为时间对象
+            var DateNews = this.getMonday(
+                new Date((new Date().getTime() / 1000 + 86400 * 7 * delta) * 1000)
+            );
+            let startDate = this.getDateNew(DateNews, delta);
+            this.endDate = this.getDateNew(
+                new Date((DateNews.getTime() / 1000 + 6 * 86400) * 1000)
+            );
+            this.dateRange = [startDate, this.endDate];
+        },
+        arrow(arrow) {
+            if (arrow == "left") {
+                this.dateNum--;
+                this.dateList(this.dateNum);
+            } else if (arrow == "right") {
+                this.dateNum++;
+                this.dateList(this.dateNum);
+            }
+        },
+
+        // 下面的日历
+
+        formatDate(year, month, day) {
+            const y = year
+            let m = month
+            if (m < 10) m = `0${m}`
+            let d = day
+            if (d < 10) d = `0${d}`
+            return `${y}-${m}-${d}`
+        },
+        initData(cur) {
+            let date = ''
+            if (cur) {
+                date = new Date(cur)
+            } else {
+                date = new Date()
+            }
+            this.currentDay = date.getDate()          // 今日日期 几号
+            this.currentYear = date.getFullYear()       // 当前年份
+            this.currentMonth = date.getMonth() + 1    // 当前月份
+            this.currentWeek = date.getDay() // 1...6,0   // 星期几
+            if (this.currentWeek === 0) {
+                this.currentWeek = 7
+            }
+            const str = this.formatDate(this.currentYear, this.currentMonth, this.currentDay) // 今日日期 年-月-日
+            this.days.length = 0
+            // 今天是周日,放在第一行第7个位置,前面6个 这里默认显示一周,如果需要显示一个月,则第二个循环为 i<= 35- this.currentWeek
+            /* eslint-disabled */
+            for (let i = this.currentWeek - 1; i >= 0; i -= 1) {
+                const d = new Date(str)
+                d.setDate(d.getDate() - i)
+                // console.log(y:" + d.getDate())
+                this.days.push(d)
+            }
+            for (let i = 1; i <= 7 - this.currentWeek; i += 1) {
+                const d = new Date(str)
+                d.setDate(d.getDate() + i)
+                this.days.push(d)
+            }
+        },
+        //  上个星期
+        weekPre() {
+            const d = this.days[0]    // 如果当期日期是7号或者小于7号
+            d.setDate(d.getDate() - 7)
+            this.initData(d)
+            let days = document.querySelector(".days");
+            for (var i = 0; i <= 6; i++) {
+                days.childNodes[i].childNodes[0].childNodes[0].className = ''
+            }
+        },
+        //  下个星期
+        weekNext() {
+            const d = this.days[6]    // 如果当期日期是7号或者小于7号
+            d.setDate(d.getDate() + 7)
+            this.initData(d)
+            let days = document.querySelector(".days");
+            for (var i = 0; i <= 6; i++) {
+                days.childNodes[i].childNodes[0].childNodes[0].className = ''
+            }
+        },
+        // 上一個月   传入当前年份和月份
+        pickPre(year, month) {
+            const d = new Date(this.formatDate(year, month, 1))
+            d.setDate(0)
+            this.initData(this.formatDate(d.getFullYear(), d.getMonth() + 1, 1))
+        },
+        // 下一個月   传入当前年份和月份
+        pickNext(year, month) {
+            const d = new Date(this.formatDate(year, month, 1))
+            d.setDate(35)
+            this.initData(this.formatDate(d.getFullYear(), d.getMonth() + 1, 1))
+        },
+        // 当前选择日期
+        pick(date, index) {
+            // console.log(date);
+            // console.log(index);
+            let days = document.querySelector(".days");
+            // console.log(days.childNodes[index].childNodes[0].childNodes);
+            // console.log(days.childNodes);
+            for (var i = 0; i <= 6; i++) {
+                days.childNodes[i].childNodes[0].childNodes[0].className = ''
+            }
+            if (days.childNodes[index].childNodes[0].childNodes[0].className == '') {
+                days.childNodes[index].childNodes[0].childNodes[0].className = 'active'
+            } else {
+                days.childNodes[index].childNodes[0].childNodes[0].className = ''
+            }
+            this.nowdata = this.formatDate(date.getFullYear(), date.getMonth() + 1, date.getDate())
+            this.getList()
+        },
+    },
+};
+</script>
+   
+<style lang="scss" scoped>
+::v-deep .el-table .el-table__cell {
+    padding: 8px 0;
+}
+
+::v-deep .el-table__header-wrapper {
+    display: none;
+}
+
+.rlitable {
+    display: flex;
+    flex-direction: column;
+    max-height: 161px;
+    overflow-y: auto;
+    padding-top: 5px;
+    padding-left: 5%;
+    padding-right: 5%;
+    height: 161px;
+    background-color: #d8eaf6;
+    border-radius: 10px;
+
+}
+
+.rlitit {
+    padding: 12px;
+    line-height: 0px;
+    display: inline-block;
+    text-overflow: ellipsis;
+    overflow: hidden;
+    white-space: nowrap;
+    cursor: pointer;
+}
+
+.rlitit2 {
+    padding: 5px;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+    width: 110px;
+}
+
+.rlitit3 {
+    padding: 5px;
+}
+
+.rlitit4 {
+    padding: 5px;
+}
+
+.rlitit:hover {
+    background-color: #ffffff;
+}
+
+.rlitable2 {
+    max-height: 161px;
+    overflow-y: auto;
+    height: 161px;
+    background-color: #d8eaf6;
+    border-radius: 10px;
+}
+
+ul {
+    padding: 0;
+}
+
+li {
+    list-style-type: none;
+}
+
+/* 上面的日历 */
+.calendar {
+    position: relative;
+    width: 100%;
+    background: #fff;
+    margin-top: 10px;
+    border-radius: 10px;
+    margin-left: 20px;
+}
+
+.el-calendar__header {
+    display: block;
+}
+
+.el-calendar-table .el-calendar-day {
+    height: auto;
+    text-align: center;
+}
+
+.el-calendar-table td.is-selected {
+    background-color: #24b18d;
+    color: #fff;
+}
+
+.el-calendar-table .el-calendar-day:hover {
+    background-color: #24b18d;
+    color: #fff;
+}
+
+.el-calendar-table {
+    border-bottom: 1px solid #e4e4e4;
+    padding-bottom: 15px;
+}
+
+.el-calendar-table .next {
+    color: rgb(143, 143, 143);
+}
+
+.el-calendar__title,
+.el-calendar__button-group {
+    text-align: center;
+}
+
+.arrow {
+    width: 100%;
+    max-height: 46px;
+    position: absolute;
+    top: 15px;
+    text-align: center;
+}
+
+.arrow i {
+    font-size: 20px;
+    cursor: pointer;
+}
+
+.arrow i:nth-child(1) {
+    margin-right: 10%;
+    text-align: left;
+}
+
+.arrow i:nth-child(2) {
+    margin-left: 10%;
+    text-align: right;
+}
+
+/* 下面的日历 */
+.date {
+    position: relative;
+    margin-top: 10px;
+    padding: 10px 20px;
+    border-radius: 10px;
+    background-color: #ffffff;
+}
+
+.arrow0 {
+    width: 100%;
+    max-height: 46px;
+    position: absolute;
+    top: 10px;
+    left: 0px;
+    text-align: center;
+}
+
+.arrow0 i {
+    font-size: 20px;
+    cursor: pointer;
+}
+
+.arrow0 i:nth-child(1) {
+    margin-right: 10%;
+    text-align: left;
+}
+
+.arrow0 i:nth-child(2) {
+    margin-left: 10%;
+    text-align: right;
+}
+
+.month {
+    text-align: center;
+}
+
+.weekdays {
+    display: flex;
+    margin: 10px 0px;
+}
+
+.weekdays li {
+    flex: 1;
+    text-align: center;
+}
+
+.days {
+    display: flex;
+}
+
+.days li {
+    flex: 1;
+    text-align: center;
+    cursor: pointer;
+}
+
+.days li span {
+    display: inline-block;
+    width: 22px;
+    height: 22px;
+    line-height: 22px;
+}
+
+.days li span:hover {
+    color: #fff;
+    background-color: #409EFF;
+    border-radius: 50%;
+}
+
+.active {
+    display: inline-block;
+    color: #fff;
+    border-radius: 50%;
+    background-color: #52d4fc !important;
+}
+
+.other-month {
+    color: #e4393c;
+}
+</style>

+ 427 - 409
src/pages/main/noticec/index.vue

@@ -15,13 +15,13 @@
                     <el-table-column label="公告内容">
                         <template slot-scope="scope">
                             <el-tooltip class="item" effect="light" :content="scope.row.noticeContent" placement="bottom">
-                                <span class="tab-long">{{scope.row.noticeContent}}</span>
+                                <span class="tab-long">{{ scope.row.noticeContent }}</span>
                             </el-tooltip>
                         </template>
                     </el-table-column>
                     <el-table-column prop="opName" label="发布姓名" width="100">
                         <template slot-scope="scope">
-                            <span>{{$desensitization(scope.row.opName,1)}}</span>
+                            <span>{{ $desensitization(scope.row.opName, 1) }}</span>
                         </template>
                     </el-table-column>
                     <el-table-column prop="deptName" label="发布部门">
@@ -34,16 +34,16 @@
                     </el-table-column>
                     <el-table-column prop="auditName" label="审核姓名">
                         <template slot-scope="scope">
-                            <span>{{$desensitization(scope.row.auditName,1)}}</span>
+                            <span>{{ $desensitization(scope.row.auditName, 1) }}</span>
                         </template>
                     </el-table-column>
-                    <el-table-column label="审核备注">
+                    <!-- <el-table-column label="审核备注">
                         <template slot-scope="scope">
                             <el-tooltip class="item" effect="light" :content="scope.row.auditRemark" placement="bottom">
                                 <span class="tab-long">{{scope.row.auditRemark}}</span>
                             </el-tooltip>
                         </template>
-                    </el-table-column>
+                    </el-table-column> -->
                     <el-table-column prop="auditResultDesc" label="审核结果">
                     </el-table-column>
                     <el-table-column prop="auditTime" label="审核时间" width="140">
@@ -51,9 +51,11 @@
 
                     <el-table-column label="操作" width="160px" align="center" fixed="right">
                         <template slot-scope="scope">
-                            <el-button size="mini" type="primary" @click="dialogCheck(2,scope.row)">查看</el-button>
-                            <el-button size="mini" v-if="scope.row.sts != 2" type="primary" @click="dialogCheck(3,scope.row)">修改</el-button>
-                            <el-button size="mini" v-if="scope.row.sts != 2" type="danger" @click="delLine(scope.row)">删除</el-button>
+                            <el-button size="mini" type="primary" @click="dialogCheck(2, scope.row)">查看</el-button>
+                            <el-button size="mini" v-if="scope.row.sts != 2" type="primary"
+                                @click="dialogCheck(3, scope.row)">修改</el-button>
+                            <el-button size="mini" v-if="scope.row.sts != 2" type="danger"
+                                @click="delLine(scope.row)">删除</el-button>
                         </template>
                     </el-table-column>
                 </el-table>
@@ -69,7 +71,8 @@
                         <div class="info-line">
                             <el-form-item prop="noticeTitle">
                                 <span>公告标题</span>
-                                <el-input v-model="infolist.noticeTitle" placeholder="标题" :disabled="disableStatus"></el-input>
+                                <el-input v-model="infolist.noticeTitle" placeholder="标题"
+                                    :disabled="disableStatus"></el-input>
                             </el-form-item>
                             <el-form-item prop="opName">
                                 <span>发布姓名</span>
@@ -88,14 +91,17 @@
                         </div>
                         <el-form-item prop="visiblec" class="info-line online">
                             <span>可见部门</span>
-                            <deptTree class="tree" @treeCheck="treeCheck" :defaultList="defaultList" :type="depttype"></deptTree>
+                            <deptTree class="tree" @treeCheck="treeCheck" :defaultList="defaultList" :type="depttype">
+                            </deptTree>
                         </el-form-item>
                         <el-form-item class="info-line online">
                             <span>发布内容</span>
-                            <el-input :disabled="disableStatus" v-model="infolist.noticeContent" placeholder="发布内容" type="textarea" :rows="3"></el-input>
+                            <el-input :disabled="disableStatus" v-model="infolist.noticeContent" placeholder="发布内容"
+                                type="textarea" :rows="3"></el-input>
                         </el-form-item>
                         <div style="padding-left: 80px" v-if="!disableStatus">
-                            <myUpload @uploadBack="uploadBack" :fileInfo="fileInfo" :fileList="fileInfo.fileList"></myUpload>
+                            <myUpload @uploadBack="uploadBack" :fileInfo="fileInfo" :fileList="fileInfo.fileList">
+                            </myUpload>
                         </div>
                         <div style="padding:0 20px 0 100px" v-if="disableStatus">
                             <uploadDown :datalist="datalist" :dialogStatus="uploadstatus"></uploadDown>
@@ -110,8 +116,8 @@
                 </div>
             </el-dialog>
 
-            <el-dialog title="公告查看" :visible.sync="dialogInfo" width="70%" :close-on-press-escape="false"
-                :show-close="true" :before-close="closedia" :destroy-on-close="true" :modal-append-to-body="false"
+            <el-dialog title="公告查看" :visible.sync="dialogInfo" width="70%" :close-on-press-escape="false" :show-close="true"
+                :before-close="closedia" :destroy-on-close="true" :modal-append-to-body="false"
                 :close-on-click-modal="false" :fullscreen="true">
                 <div style="height: calc(100vh - 180px);overflow-y: scroll;">
                     <notiCheck :infolist="infolist" :datalist="datalist" :dialogInfo="dialogInfo"></notiCheck>
@@ -123,318 +129,288 @@
             </el-dialog>
 
         </div>
-        <myMessage :messTit='messTit' @closeMessage="closeMessage" :centerDialogVisible="centerDialogVisible" v-if="centerDialogVisible"></myMessage>
+        <myMessage :messTit='messTit' @closeMessage="closeMessage" :centerDialogVisible="centerDialogVisible"
+            v-if="centerDialogVisible"></myMessage>
     </fullscreen>
 </template>
 <script>
-    import myUpload from '../../../components/upload'
-    import uploadDown from '../../../components/uploadDown'
-    import mySearch from '../../../components/search'
-    import toolList from '../../../components/toolList'
-    import myMessage from "../../../components/myMessage.vue"
-    import deptTree from "../../../components/deptTree.vue"
-    import notiCheck from "../../../components/notiCheck.vue"
+import myUpload from '../../../components/upload'
+import uploadDown from '../../../components/uploadDown'
+import mySearch from '../../../components/search'
+import toolList from '../../../components/toolList'
+import myMessage from "../../../components/myMessage.vue"
+import deptTree from "../../../components/deptTree.vue"
+import notiCheck from "../../../components/notiCheck.vue"
 
-    export default {
-        components: {
-            myUpload,
-            uploadDown,
-            mySearch,
-            toolList,
-            myMessage,
-            deptTree,
-            notiCheck
-        },
-        data() {
-            const noticeTitle = (rule, value, callback) => {
-                if (!this.infolist.noticeTitle) {
-                    callback(new Error('不能为空'))
-                } else {
-                    callback()
-                }
+export default {
+    components: {
+        myUpload,
+        uploadDown,
+        mySearch,
+        toolList,
+        myMessage,
+        deptTree,
+        notiCheck
+    },
+    data() {
+        const noticeTitle = (rule, value, callback) => {
+            if (!this.infolist.noticeTitle) {
+                callback(new Error('不能为空'))
+            } else {
+                callback()
             }
-            const opName = (rule, value, callback) => {
-                if (!this.infolist.opName) {
-                    callback(new Error('不能为空'))
-                } else {
-                    callback()
-                }
-            }
-            return {
-                rules: {
-                    noticeTitle: [{
-                        required: true,
-                        trigger: 'blur',
-                        validator: noticeTitle
-                    }],
-                    opName: [{
-                        required: true,
-                        trigger: 'blur',
-                        validator: opName
-                    }],
-                },
-                tooltit: '公告管理',
-                fullscreen: false,
-                total: 0,
-                pageSize: 1,
-                tableData: [{}],
-                dialogStatus: false,
-                infolist: {},
-                typeOptions: [],
-                titname: '',
-                disableStatus: false,
-                fileList: [],
-                visiblec: [],
-                visibleList: [],
-                attList: [],
-                fileInfo: {
-                    limit: 10,
-                    url: '/sysmgr/noticeatt/upload',
-                    fileList: []
-                },
-                datalist: {
-                    url: '/sysmgr/noticeatt/downfile',
-                    type: 2,
-                    attList:[]
-                },
-                uploadstatus: false,
-                userInfo: {},
-                searchList: [{
-                        type: 'input',
-                        tit: '请输入标题',
-                        value: '',
-                        width: '32%'
-                    },
-                    {
-                        type: 'date',
-                        tit: '开始时间',
-                        value: '',
-                        width: '32%',
-                    },
-                    {
-                        type: 'date',
-                        tit: '结束时间',
-                        value: '',
-                        width: '32%',
-                    },
-                ],
-                params: {},
-                centerDialogVisible: false,
-                messTit: '',
-                delid: '',
-                loading:false,
-                treeList: [],
-                defaultList:[],
-				depttype:0,
-                dialogInfo:false
+        }
+        const opName = (rule, value, callback) => {
+            if (!this.infolist.opName) {
+                callback(new Error('不能为空'))
+            } else {
+                callback()
             }
-        },
-        methods: {
-            treeCheck(v){
-                this.treeList = v;
+        }
+        return {
+            rules: {
+                noticeTitle: [{
+                    required: true,
+                    trigger: 'blur',
+                    validator: noticeTitle
+                }],
+                opName: [{
+                    required: true,
+                    trigger: 'blur',
+                    validator: opName
+                }],
             },
-            closedia() {
-                this.infolist = {};
-                this.dialogCli(2);
-                this.dialogStatus = false;
-                this.defaultList = [];
-                 this.dialogInfo = false;
-				this.depttype = 0;
+            tooltit: '公告管理',
+            fullscreen: false,
+            total: 0,
+            pageSize: 1,
+            tableData: [{}],
+            dialogStatus: false,
+            infolist: {},
+            typeOptions: [],
+            titname: '',
+            disableStatus: false,
+            fileList: [],
+            visiblec: [],
+            visibleList: [],
+            attList: [],
+            fileInfo: {
+                limit: 10,
+                url: '/market/waf/uploadByMinio',
+                fileList: []
             },
-            //搜索数据
-            searchInfo(v) {
-                this.params = {};
-                v[0] ? this.params.noticeTitle = v[0] : '';
-                v[1] ? this.params.opTimeFrom = this.$formatDate(v[1], "YYYY-MM-DD") : '';
-                v[2] ? this.params.opTimeTo = this.$formatDate(v[2], "YYYY-MM-DD") : '';
-                this.getList(this.params, this.pageSize);
+            datalist: {
+                url: '/market/waf/downFileByMinio',
+                type: 2,
+                attList: []
             },
-            //获取列表
-            getList(v, n) {
-                this.pageSize = n;
-                let _this = this;
-                this.tableData = [];
-                this.loading = true;
-                this.$http({
-                    url: "/sysmgr/cnotice/queryListByDept",
-                    method: "post",
-                    headers: {
-                        "Content-Type": "application/json",
-                        "page": '{"pageNo":"' + n + '","pageSize":"10"}'
-                    },
-                    data: v,
-                }).then((res) => {
-                    this.tableData = res.data.data;
-                    this.total = res.data.totalRecord;
-                    this.loading = false;
-                });
+            uploadstatus: false,
+            userInfo: {},
+            searchList: [{
+                type: 'input',
+                tit: '请输入标题',
+                value: '',
+                width: '32%'
             },
-            // 分页
-            currchange(v) {
-                this.pageSize = v;
-                this.getList(this.params, this.pageSize);
+            {
+                type: 'date',
+                tit: '开始时间',
+                value: '',
+                width: '32%',
             },
-            //查看 修改 新增
-            dialogCheck(v, n) {
-                this.visiblec = [];
-                this.infolist = {};
-                this.defaultList = [];
-                if (v === 1) {
-                    this.titname = '新建';
-                    this.getUser();
-                    this.depttype = 1;
-                    this.dialogStatus = true;
-                    this.disableStatus = false;
-                    return
-                } else if (v === 2) {
-                    this.titname = '查看';
-                } else if (v === 3) {
-                    this.dialogStatus = true;
-                    this.disableStatus = false;
-                    this.titname = '修改';
-                    this.loading = true;
-                }
-                this.infolist = Object.assign({}, n); //拷贝
-                this.infolist.opName = this.$desensitization(this.infolist.opName,1);
-                this.infolist.phoneNo = this.$desensitization(this.infolist.phoneNo,2);
-                this.$http({
-                    url: "/sysmgr/cnotice/queryInfo",
-                    method: "post",
-                    headers: {
-                        "Content-Type": "application/json",
-                    },
-                    data: {
-                        noticeId: n.noticeId
-                    },
-                }).then((res) => {
-                    this.datalist.attList = res.data.attList;
-                    this.uploadstatus = true;
-                    this.infolist.attList = res.data.attList;
-                    this.fileInfo.fileList = [];
-                    this.attList = [];
-                    this.treeList = res.data.deptList;
-                    if (v === 2) {
-                        this.dialogInfo = true;
-                    }
-                    if (res.data.attList) {
-                        res.data.attList.forEach(item => {
-                            this.fileInfo.fileList.push({
-                                name: item.fileName,
-                                url: '',
-                                id: item.id,
-                                fileName: item.fileName
-                            });
-                            this.attList.push({
-                                name: item.fileName,
-                                url: '',
-                                id: item.id,
-                                fileName: item.fileName
-                            });
-                        })
-                    }
-                    if (res.data.deptList) {
-                        res.data.deptList.forEach(item => {
-                            this.defaultList.push(item.deptCode);
-                        })
-                    }
-					this.depttype = 1;
-                    this.loading = false;
-                });
+            {
+                type: 'date',
+                tit: '结束时间',
+                value: '',
+                width: '32%',
             },
-            dialogCli(v) {
-                this.datalist.attList = [];
-                this.uploadstatus = false;
+            ],
+            params: {},
+            centerDialogVisible: false,
+            messTit: '',
+            delid: '',
+            loading: false,
+            treeList: [],
+            defaultList: [],
+            depttype: 0,
+            dialogInfo: false
+        }
+    },
+    methods: {
+        treeCheck(v) {
+            this.treeList = v;
+        },
+        closedia() {
+            this.infolist = {};
+            this.dialogCli(2);
+            this.dialogStatus = false;
+            this.defaultList = [];
+            this.dialogInfo = false;
+            this.depttype = 0;
+        },
+        //搜索数据
+        searchInfo(v) {
+            this.params = {};
+            v[0] ? this.params.noticeTitle = v[0] : '';
+            v[1] ? this.params.opTimeFrom = this.$formatDate(v[1], "YYYY-MM-DD") : '';
+            v[2] ? this.params.opTimeTo = this.$formatDate(v[2], "YYYY-MM-DD") : '';
+            this.getList(this.params, this.pageSize);
+        },
+        //获取列表
+        getList(v, n) {
+            this.pageSize = n;
+            let _this = this;
+            this.tableData = [];
+            this.loading = true;
+            this.$http({
+                url: "/sysmgr/cnotice/queryListByDept",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                    "page": '{"pageNo":"' + n + '","pageSize":"10"}'
+                },
+                data: v,
+            }).then((res) => {
+                this.tableData = res.data.data;
+                this.total = res.data.totalRecord;
+                this.loading = false;
+            });
+        },
+        // 分页
+        currchange(v) {
+            this.pageSize = v;
+            this.getList(this.params, this.pageSize);
+        },
+        //查看 修改 新增
+        dialogCheck(v, n) {
+            this.visiblec = [];
+            this.infolist = {};
+            this.defaultList = [];
+            if (v === 1) {
+                this.titname = '新建';
+                this.getUser();
+                this.depttype = 1;
+                this.dialogStatus = true;
+                this.disableStatus = false;
+                return
+            } else if (v === 2) {
+                this.titname = '查看';
+            } else if (v === 3) {
+                this.dialogStatus = true;
+                this.disableStatus = false;
+                this.titname = '修改';
+                this.loading = true;
+            }
+            this.infolist = Object.assign({}, n); //拷贝
+            this.infolist.opName = this.$desensitization(this.infolist.opName, 1);
+            this.infolist.phoneNo = this.$desensitization(this.infolist.phoneNo, 2);
+            this.$http({
+                url: "/sysmgr/cnotice/queryInfo",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                },
+                data: {
+                    noticeId: n.noticeId
+                },
+            }).then((res) => {
+                this.datalist.attList = res.data.attList;
+                this.uploadstatus = true;
+                this.infolist.attList = res.data.attList;
+                this.fileInfo.fileList = [];
+                this.attList = [];
+                this.treeList = res.data.deptList;
                 if (v === 2) {
-                    this.fileInfo.fileList = [];
-                    this.infolist = {};
-                    this.dialogStatus = false;
-					this.defaultList = [];
-					this.depttype = 0;
-                    return
+                    this.dialogInfo = true;
                 }
-                this.infolist.pubTime = this.$formatDate(new Date(), "YYYY-MM-DD");
-                this.infolist.opTime = this.infolist.pubTime;
-                if (this.titname === '新建') {
-                    this.submitInfo("/sysmgr/cnotice/save", v);
-                } else if (this.titname === '修改') {
-                    this.submitInfo("/sysmgr/cnotice/update", v);
+                if (res.data.attList) {
+                    res.data.attList.forEach(item => {
+                        this.fileInfo.fileList.push({
+                            name: item.fileName,
+                            url: '',
+                            id: item.id,
+                            fileName: item.fileName
+                        });
+                        this.attList.push({
+                            name: item.fileName,
+                            url: '',
+                            id: item.id,
+                            fileName: item.fileName
+                        });
+                    })
                 }
-            },
-            submitInfo(u, v) {
-                let _this = this;
-                this.$refs.infolist.validate(valid => {
-                    if (valid) {
-                        this.infolist.sts = "0";
-                        this.infolist.stsDesc = "草稿";
-                        this.infolist.opNo = this.userInfo.loginNo;
-                        this.infolist.opName = this.userInfo.loginName;
-                        this.infolist.phoneNo = this.userInfo.phoneNo;
-                        if (v === 3) {
-                            this.infolist.sts = "1";
-                            this.infolist.stsDesc = "待审核";
-                        }
-                        let attList = [];
-                        for (let i = 0; i < this.attList.length; i++) {
-                            attList.push({
-								id: this.attList[i].id,
-								fileCode: this.attList[i].fileCode,
-								fileName: this.attList[i].fileName,
-								opName: this.attList[i].opName,
-								opNo: this.attList[i].opNo,
-								opTime: this.attList[i].opTime,
-                                noticeId: this.infolist.noticeId
-                            });
-                        }
-                        let list = [];
-                        this.$http({
-                            url: u,
-                            method: "post",
-                            headers: {
-                                "Content-Type": "application/json",
-                            },
-                            data: {
-                                noticeInfo: this.infolist,
-                                attList: attList,
-                                deptList: this.treeList
-                            },
-                        }).then((res) => {
-                            if (res.data.result === 1) {
-                                _this.$message({
-                                    message: res.data.desc,
-                                    type: 'error'
-                                });
-                            } else {
-                                _this.$message({
-                                    message: '成功',
-                                    type: 'success'
-                                });
-                                _this.fileInfo.fileList = [];
-                                _this.infolist = {};
-                                _this.dialogStatus = false;
-                                _this.getList(this.params, this.pageSize);
-                                _this.defaultList = [];
-								_this.depttype = 0;
-                            }
-
+                if (res.data.deptList) {
+                    res.data.deptList.forEach(item => {
+                        this.defaultList.push(item.deptCode);
+                    })
+                }
+                this.depttype = 1;
+                this.loading = false;
+            });
+        },
+        dialogCli(v) {
+            this.datalist.attList = [];
+            this.uploadstatus = false;
+            if (v === 2) {
+                this.fileInfo.fileList = [];
+                this.infolist = {};
+                this.dialogStatus = false;
+                this.defaultList = [];
+                this.depttype = 0;
+                return
+            }
+            this.infolist.pubTime = this.$formatDate(new Date(), "YYYY-MM-DD");
+            this.infolist.opTime = this.infolist.pubTime;
+            if (this.titname === '新建') {
+                this.submitInfo("/sysmgr/cnotice/save", v);
+            } else if (this.titname === '修改') {
+                this.submitInfo("/sysmgr/cnotice/update", v);
+            }
+        },
+        submitInfo(u, v) {
+            let _this = this;
+            this.$refs.infolist.validate(valid => {
+                if (valid) {
+                    if (this.treeList.length == 0) {
+                        _this.$message({
+                            message: '可见部门不能为空',
+                            type: 'error'
                         });
+                        return false
                     }
-                })
-            },
-            closeMessage(v) {
-                this.centerDialogVisible = false;
-                let _this = this;
-                if (v === 1) {
-                    _this.$http({
-                        url: "/sysmgr/cnotice/del",
+                    this.infolist.sts = "0";
+                    this.infolist.stsDesc = "草稿";
+                    this.infolist.opNo = this.userInfo.loginNo;
+                    this.infolist.opName = this.userInfo.loginName;
+                    this.infolist.phoneNo = this.userInfo.phoneNo;
+                    if (v === 3) {
+                        this.infolist.sts = "1";
+                        this.infolist.stsDesc = "待审核";
+                    }
+                    let attList = [];
+                    for (let i = 0; i < this.attList.length; i++) {
+                        attList.push({
+                            id: this.attList[i].id,
+                            fileCode: this.attList[i].fileCode,
+                            fileName: this.attList[i].fileName,
+                            opName: this.attList[i].opName,
+                            opNo: this.attList[i].opNo,
+                            opTime: this.attList[i].opTime,
+                            noticeId: this.infolist.noticeId
+                        });
+                    }
+                    let list = [];
+                    this.$http({
+                        url: u,
                         method: "post",
                         headers: {
                             "Content-Type": "application/json",
                         },
                         data: {
-                            noticeInfo: {
-                                noticeId: this.delid
-                            }
-                        }
+                            noticeInfo: this.infolist,
+                            attList: attList,
+                            deptList: this.treeList
+                        },
                     }).then((res) => {
                         if (res.data.result === 1) {
                             _this.$message({
@@ -443,148 +419,190 @@
                             });
                         } else {
                             _this.$message({
-                                message: '删除成功',
+                                message: '成功',
                                 type: 'success'
                             });
+                            _this.fileInfo.fileList = [];
+                            _this.infolist = {};
+                            _this.dialogStatus = false;
                             _this.getList(this.params, this.pageSize);
+                            _this.defaultList = [];
+                            _this.depttype = 0;
                         }
+
                     });
                 }
-            },
-            //删除
-            delLine(v) {
-                this.centerDialogVisible = true;
-                this.messTit = '即将删除此条数据, 是否删除?';
-                this.delid = v.noticeId;
-            },
-            //文件返回值
-            uploadBack(v) {
-                this.attList = v;
-            },
-            //功能栏
-            iconCli(v) {
-                if (v === 1) {
-                    this.getList(this.params, this.pageSize);
-                }
-                if (v === 2) {
-                    this.fullscreen = !this.fullscreen
-                }
-            },
-            //获取部门
-            getDepot() {
-                this.$http({
-                    url: "/sysmgr/sysdept/queryList",
+            })
+        },
+        closeMessage(v) {
+            this.centerDialogVisible = false;
+            let _this = this;
+            if (v === 1) {
+                _this.$http({
+                    url: "/sysmgr/cnotice/del",
                     method: "post",
                     headers: {
                         "Content-Type": "application/json",
                     },
-                    data: {},
+                    data: {
+                        noticeInfo: {
+                            noticeId: this.delid
+                        }
+                    }
                 }).then((res) => {
-                    this.typeOptions = res.data;
+                    if (res.data.result === 1) {
+                        _this.$message({
+                            message: res.data.desc,
+                            type: 'error'
+                        });
+                    } else {
+                        _this.$message({
+                            message: '删除成功',
+                            type: 'success'
+                        });
+                        _this.getList(this.params, this.pageSize);
+                    }
                 });
-            },
-            getUser() {
-                this.userInfo = JSON.parse(window.sessionStorage.userInfo);
-                this.infolist = {};
-                this.infolist.opNo = this.userInfo.loginNo;
-                this.infolist.opName = this.userInfo.loginName;
             }
         },
-        mounted() {
-            this.getList(this.params, this.pageSize);
-            this.getDepot();
-            this.getUser();
+        //删除
+        delLine(v) {
+            this.centerDialogVisible = true;
+            this.messTit = '即将删除此条数据, 是否删除?';
+            this.delid = v.noticeId;
         },
-        created() {
-
+        //文件返回值
+        uploadBack(v) {
+            this.attList = v;
+        },
+        //功能栏
+        iconCli(v) {
+            if (v === 1) {
+                this.getList(this.params, this.pageSize);
+            }
+            if (v === 2) {
+                this.fullscreen = !this.fullscreen
+            }
+        },
+        //获取部门
+        getDepot() {
+            this.$http({
+                url: "/sysmgr/sysdept/queryList",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                },
+                data: {},
+            }).then((res) => {
+                this.typeOptions = res.data;
+            });
+        },
+        getUser() {
+            this.userInfo = JSON.parse(window.sessionStorage.userInfo);
+            this.infolist = {};
+            this.infolist.opNo = this.userInfo.loginNo;
+            this.infolist.opName = this.userInfo.loginName;
         }
+    },
+    mounted() {
+        this.getList(this.params, this.pageSize);
+        this.getDepot();
+        this.getUser();
+    },
+    created() {
+
     }
+}
 </script>
 <style scoped lang="scss">
-    @import "../../../assets/style";
+@import "../../../assets/style";
 
-    .tab-long {
-        height: 22px;
-        float: left;
-        overflow: hidden;
-        text-overflow: ellipsis;
-        display: -webkit-box;
-        /* 将对象作为弹性伸缩盒子模型显示 */
-        -webkit-line-clamp: 1;
-        /* 控制最多显示几行 */
-        -webkit-box-orient: vertical;
-        /* 设置或检索伸缩盒对象的子元素的排列方式 */
-    }
+.tab-long {
+    height: 22px;
+    float: left;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    display: -webkit-box;
+    /* 将对象作为弹性伸缩盒子模型显示 */
+    -webkit-line-clamp: 1;
+    /* 控制最多显示几行 */
+    -webkit-box-orient: vertical;
+    /* 设置或检索伸缩盒对象的子元素的排列方式 */
+}
 
-    .titbox {
-        div {
-            float: right;
+.titbox {
+    div {
+        float: right;
 
-            i {
-                font-size: 22px;
-                margin-left: 20px;
-                cursor: pointer;
-            }
+        i {
+            font-size: 22px;
+            margin-left: 20px;
+            cursor: pointer;
         }
     }
+}
 
-    .tabbox {
-        margin-top: 16px;
-        font-size: 14px !important;
-    }
+.tabbox {
+    margin-top: 16px;
+    font-size: 14px !important;
+}
 
-    .pageBox {
-        text-align: right;
-        margin-top: 10px;
-    }
+.pageBox {
+    text-align: right;
+    margin-top: 10px;
+}
 
-    .info-line {
-        width: 100%;
-        display: block;
-        padding-left: 20px;
+.info-line {
+    width: 100%;
+    display: block;
+    padding-left: 20px;
 
-        div {
-            width: 50%;
-            display: inline-block;
-        }
+    div {
+        width: 50%;
+        display: inline-block;
+    }
 
-        span {
-            width: 80px;
-            display: inline-block;
-            text-align: left;
+    span {
+        width: 80px;
+        display: inline-block;
+        text-align: left;
 
-            i {
-                color: red;
-                display: inline-block;
-                padding-right: 5px;
-            }
+        i {
+            color: red;
+            display: inline-block;
+            padding-right: 5px;
         }
+    }
 
-        .el-select,
-        .el-input {
-            width: calc(100% - 100px);
-        }
-        .tree{
-            width: calc(100% - 100px);
-        }
+    .el-select,
+    .el-input {
+        width: calc(100% - 100px);
     }
 
-    .online {
-        width: 100%;
+    .tree {
+        width: calc(100% - 100px);
+    }
+}
 
-        .el-select {
-            width: calc(100% - 100px);
-        }
+.online {
+    width: 100%;
 
-        span {
-            vertical-align: top;
-        }
+    .el-select {
+        width: calc(100% - 100px);
+    }
 
-        .el-textarea {
-            width: calc(100% - 100px);
-        }
+    span {
+        vertical-align: top;
     }
-    ::v-deep .el-table--mini, .el-table--small, .el-table__expand-icon{
-        font-size: 14px;
+
+    .el-textarea {
+        width: calc(100% - 100px);
     }
+}
+
+::v-deep .el-table--mini,
+.el-table--small,
+.el-table__expand-icon {
+    font-size: 14px;
+}
 </style>

+ 2 - 2
src/pages/main/noticec/journal.vue

@@ -134,11 +134,11 @@
                 dialogStatus: false,
                 fileInfo: {
                     limit: 5,
-                    url: 'satisfy/cknowledgeatt/upload',
+                    url: '/market/waf/uploadByMinio',
                     fileList: []
                 },
                 datalist: {
-                    url: '/sysmgr/noticeatt/downfile',
+                    url: '/market/waf/downFileByMinio',
                     type: 2
                 },
                 uploadstatus: false,

+ 4 - 4
src/pages/main/noticec/noticExamine.vue

@@ -36,13 +36,13 @@
                             <span>{{$desensitization(scope.row.auditName,1)}}</span>
                         </template>
                     </el-table-column>
-                    <el-table-column label="审核备注">
+                    <!-- <el-table-column label="审核备注">
                         <template slot-scope="scope">
                             <el-tooltip class="item" effect="light" :content="scope.row.auditRemark" placement="bottom">
                                 <span class="tab-long">{{scope.row.auditRemark}}</span>
                             </el-tooltip>
                         </template>
-                    </el-table-column>
+                    </el-table-column> -->
                     <el-table-column prop="auditResultDesc" label="审核结果">
                     </el-table-column>
                     <el-table-column prop="auditTime" label="审核时间" width="140">
@@ -109,11 +109,11 @@
                 attList: [],
                 fileInfo: {
                     limit: 1,
-                    url: '/sysmgr/noticeatt/upload',
+                    url: '/market/waf/uploadByMinio',
                     fileList: []
                 },
                 datalist: {
-                    url: '/sysmgr/noticeatt/downfile',
+                    url: '/market/waf/downFileByMinio',
                     type: 2
                 },
                 uploadstatus: false,

+ 43 - 42
src/pages/main/onlineOfficeExcel/index.vue

@@ -179,54 +179,55 @@
                             <p style="margin-left: 20px;margin-top: 10px">在线文档</p>
                         </div>
                         <div style="width: 85px;display: inline-block;margin-left: 70px;cursor: pointer">
-                            <myUpload style="" @uploadBack="uploadBack" :fileInfo="fileInfo2" :fileList="fileInfo2.fileList"
-                                :filenowFolder="nowFolder">
+                            <myUpload style="" @uploadBack=" uploadBack " :fileInfo=" fileInfo2 "
+                                :fileList=" fileInfo2.fileList " :filenowFolder=" nowFolder ">
                             </myUpload>
                         </div>
                         <div style="width: 85px;display: inline-block;margin-left: 70px;cursor: pointer"
-                            @click="addFolderStatus = true">
+                            @click=" addFolderStatus = true ">
                             <span class="iconfont icon-wenjianjia" style="font-size: 80px;color: dodgerblue"></span>
                             <p style="margin-left: 20px;margin-top: 10px">文件夹</p>
                         </div>
                     </div>
                 </div>
             </el-dialog>
-            <el-dialog :title="'新增文件夹'" :visible.sync="addFolderStatus" width="50%" :destroy-on-close="true"
-                :modal-append-to-body="false" :close-on-click-modal="false">
-                <div v-loading="loading">
-                    <el-form :model="infolist" ref="infolist">
+            <el-dialog :title=" '新增文件夹' " :visible.sync=" addFolderStatus " width="50%" :destroy-on-close=" true "
+                :modal-append-to-body=" false " :close-on-click-modal=" false ">
+                <div v-loading=" loading ">
+                    <el-form :model=" infolist " ref="infolist">
                         <div class="online">
                             <el-form-item prop="name">
                                 <span>文件夹名称</span>
-                                <el-input v-model="infolist.name" placeholder="文件夹名称" :disabled="disableStatus"></el-input>
+                                <el-input v-model=" infolist.name " placeholder="文件夹名称"
+                                    :disabled=" disableStatus "></el-input>
                             </el-form-item>
                         </div>
                     </el-form>
                     <div slot="footer" class="dialog-footer myfooter">
-                        <el-button type="primary" @click="addNewFolder()">确 定</el-button>
-                        <el-button @click="addFolderStatus = false">取 消</el-button>
+                        <el-button type="primary" @click=" addNewFolder() ">确 定</el-button>
+                        <el-button @click=" addFolderStatus = false ">取 消</el-button>
                     </div>
                 </div>
             </el-dialog>
-            <el-dialog :title="'分享选项'" :visible.sync="shareStatus" width="450px" :destroy-on-close="true"
-                :modal-append-to-body="false" :close-on-click-modal="false">
-                <div style="margin-left: 30px;padding-bottom: 20px" v-loading='shareLoading'>
+            <el-dialog :title=" '分享选项' " :visible.sync=" shareStatus " width="450px" :destroy-on-close=" true "
+                :modal-append-to-body=" false " :close-on-click-modal=" false ">
+                <div style="margin-left: 30px;padding-bottom: 20px" v-loading=' shareLoading '>
                     <!-- <el-button type="primary" @click="processExcelShare(1)" plain>仅我可编辑</el-button> -->
-                    <el-button type="primary" @click="openOADialog(2)" plain>部门内所有人可编辑</el-button>
-                    <el-button type="primary" @click="checkexa = true" plain>指定人可编辑</el-button>
+                    <el-button type="primary" @click=" openOADialog(2) " plain>部门内所有人可编辑</el-button>
+                    <el-button type="primary" @click=" checkexa = true " plain>指定人可编辑</el-button>
                 </div>
             </el-dialog>
-            <el-dialog title="选择填报人" :visible.sync="checkexa" width="100%" :destroy-on-close="true"
-                :modal-append-to-body="false" :close-on-click-modal="false" v-loading="shareLoading">
+            <el-dialog title="选择填报人" :visible.sync=" checkexa " width="100%" :destroy-on-close=" true "
+                :modal-append-to-body=" false " :close-on-click-modal=" false " v-loading=" shareLoading ">
                 <div>
-                    <el-form :model="exaList" ref="addInfoList">
+                    <el-form :model=" exaList " ref="addInfoList">
                         <el-form-item prop="processUserId" class="info-line online">
                             <!-- <span style="width: 80px;margin-right: 20px">审批人员</span> -->
                             <div style="max-height:500px ;">
                                 <!-- <deptTreeUserNew class="tree" @treeCheck="treeCheckonly" :defaultList="defaultList"
                                 :type="depttype" :closeList="closeList"></deptTreeUserNew> -->
-                                <deptTreeOnly @treeCheck="treeCheckonly" :defaultList="defaultList" :type="depttype"
-                                    :closeList="closeList">
+                                <deptTreeOnly @treeCheck=" treeCheckonly " :defaultList=" defaultList " :type=" depttype "
+                                    :closeList=" closeList ">
                                 </deptTreeOnly>
                             </div>
                             <!-- <div class="tree treeUser">
@@ -238,49 +239,50 @@
                     </el-form>
 
                     <div slot="footer" style="text-align: right;padding-bottom: 20px">
-                        <el-button type="primary" @click="checkProcessUser(3)">确 定</el-button>
-                        <el-button @click="checkexa = false">取 消</el-button>
+                        <el-button type="primary" @click=" checkProcessUser(3) ">确 定</el-button>
+                        <el-button @click=" checkexa = false ">取 消</el-button>
                     </div>
                 </div>
             </el-dialog>
-            <el-dialog title="移动到" :visible.sync="moveStatus" width="500px" :destroy-on-close="true"
-                :modal-append-to-body="false" :close-on-click-modal="false">
+            <el-dialog title="移动到" :visible.sync=" moveStatus " width="500px" :destroy-on-close=" true "
+                :modal-append-to-body=" false " :close-on-click-modal=" false ">
                 <div>
-                    <el-tree ref="tree" class="tree-line" :expand-on-click-node="false" :auto-expand-parent="true"
-                        :default-expand-all="true" :default-checked-keys="checkedMenu" :data="moveMenuList"
-                        @check="checkChange" @node-click="folderNodeClick" node-key="functionCode"
-                        @expand-on-click-node="false">
+                    <el-tree ref="tree" class="tree-line" :expand-on-click-node=" false " :auto-expand-parent=" true "
+                        :default-expand-all=" true " :default-checked-keys=" checkedMenu " :data=" moveMenuList "
+                        @check=" checkChange " @node-click=" folderNodeClick " node-key="functionCode"
+                        @expand-on-click-node=" false ">
                         <span class="custom-tree-node" slot-scope="{ node }">
                             <span>
-                                <span v-if="node.data.type == 4" style="color: #009cff"
+                                <span v-if=" node.data.type == 4 " style="color: #009cff"
                                     class="iconfont icon-wenjianjia"></span>
                                 <span v-else style="color: #fdb441" class="iconfont icon-wenjian"></span>
                                 <span
-                                    :style="node.data.hasOwnProperty('parent') ? 'font-size:14px;padding-left:5px' : 'font-size:12px;padding-left:5px'">{{
-                                        node.data.functionName
+                                    :style=" node.data.hasOwnProperty('parent') ? 'font-size:14px;padding-left:5px' : 'font-size:12px;padding-left:5px' ">{{
+                                    node.data.functionName
                                     }}</span>
                             </span>
                         </span>
                     </el-tree>
                     <div slot="footer" style="text-align: right;padding-bottom: 20px">
-                        <el-button type="primary" @click="addFolderStatus = true" style="margin-right: 100px"
+                        <el-button type="primary" @click=" addFolderStatus = true " style="margin-right: 100px"
                             icon="el-icon-plus">新建文件夹
                         </el-button>
-                        <el-button type="primary" @click="moveExcel()">确 定</el-button>
-                        <el-button @click="moveStatus = false">取 消</el-button>
+                        <el-button type="primary" @click=" moveExcel() ">确 定</el-button>
+                        <el-button @click=" moveStatus = false ">取 消</el-button>
                     </div>
                 </div>
             </el-dialog>
-            <el-dialog :modal="false" :title="officetitle" :visible.sync="officeStatus" style="height:100% ;"
-                :fullscreen="true" width="100%" height="100%" center>
-                <div id="DocEditor" v-if="officeStatus">
-                    <onlyoffice-editor editorId="DocEditor" :src="src" :config="config" @ready="onReady" />
+            <el-dialog :modal=" false " :title=" officetitle " :visible.sync=" officeStatus " style="height:100% ;"
+                :fullscreen=" true " width="100%" height="100%" center>
+                <div id="DocEditor" v-if=" officeStatus ">
+                    <onlyoffice-editor editorId="DocEditor" :src=" src " :config=" config " @ready=" onReady " />
                 </div>
             </el-dialog>
-            <myMessage :messTit='messTit' @closeMessage="processDel" :centerDialogVisible="delVisible" v-if="delVisible">
+            <myMessage :messTit=' messTit ' @closeMessage=" processDel " :centerDialogVisible=" delVisible "
+                v-if=" delVisible ">
             </myMessage>
-            <myMessageRadio :messTit='oaTitle' @closeMessage="processOa" :centerDialogVisible="oaVisible" v-if="oaVisible"
-                yesBtnName="是" noBtnName="否" ok-btn-name="提交"></myMessageRadio>
+            <myMessageRadio :messTit=' oaTitle ' @closeMessage=" processOa " :centerDialogVisible=" oaVisible "
+                v-if=" oaVisible " yesBtnName="是" noBtnName="否" ok-btn-name="提交"></myMessageRadio>
         </div>
     </fullscreen>
 </template>
@@ -685,7 +687,6 @@ export default {
                     console.log(this.config);
                 }
 
-
             });
         },
         //新建excel

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1290 - 0
src/pages/main/onlineOfficeExcelSC/index.vue


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1290 - 0
src/pages/main/onlineOfficeExcelZQ/index.vue


+ 4 - 4
src/pages/main/opcode/formTables.vue

@@ -168,7 +168,7 @@ export default {
                 type: "bt1n",
                 typename: "上传文件",
                 limit: 5,
-                url: "/market/waf/upload",
+                url: "/market/waf/uploadByMinio",
                 fileList: [],
             },
             postEdit: false,
@@ -445,13 +445,13 @@ export default {
             console.log(123);
             if (this.form.mkFileShareAttachList.length > 1) {
                 this.$http({
-                    url: "/market/waf/downAllFile",
+                    url: "/market/waf/downAllFileByMinio",
                     method: "post",
                     headers: {
                         "Content-Type": "application/json",
                     },
                     responseType: "blob",
-                    data: { mkFileShareAttachList: this.form.mkFileShareAttachList },
+                    data: { wfFileShareAttachList: this.form.mkFileShareAttachList },
                 }).then((response) => {
                     if (window.navigator && window.navigator.msSaveOrOpenBlob) {
                         let blob = new Blob([response.data], {
@@ -484,7 +484,7 @@ export default {
                     fileName: this.form.mkFileShareAttachList[0].name,
                 };
                 this.$http({
-                    url: "/market/waf/downFile",
+                    url: "/market/waf/downFileByMinio",
                     method: "post",
                     headers: {
                         "Content-Type": "application/json",

+ 4 - 2
src/pages/main/opcode/index.vue

@@ -29,9 +29,9 @@
             <el-dialog title="处理操作" width="100%" :visible.sync="handleStatus" :before-close="handleCloses" :modal="false"
                 v-if="handleStatus" :destroy-on-close="true">
                 <Workflow ref="workflow" :list="fromList" v-if="isWorkflowStatus == true" @updateForm="beforeClose"
-                    :requestForm="requestForm" :adminResourceId="adminResourceId" />
+                    :requestForm="requestForm" :adminResourceId="adminResourceId" :request_formTitle="request_form.title"/>
                 <WorkflowEntrance :list="fromList" v-else :lastManList="lastManList" @beforeClose="beforeClose"
-                    :requestForm="requestForm" />
+                    :requestForm="requestForm" :request_formTitle="request_form.title"/>
             </el-dialog>
         </div>
 
@@ -399,6 +399,7 @@ export default {
         //处理按钮,开始工作流接口
         clickHandles() {
             this.getNextPath(this.fromList.resourceId || "");
+            this.request_form.title = '[IT工作台]-Op_Code-' + this.$refs.formTable.form.needName;
         },
         getNextPath(e) {
             let list = {
@@ -761,6 +762,7 @@ export default {
             });
         },
         setUpdateCopy(e) {
+            this.request_form.title = '[IT工作台]-Op_Code-' + this.$refs.formTable.form.needName;
             this.$http({
                 url: "/market/opProcess/update",
                 method: "post",

+ 4 - 2
src/pages/main/productionDataExport/cityHome.vue

@@ -75,9 +75,10 @@
                     @updateForm="beforeClose"
                     v-if="isWorkflowStatus == true"
                     :requestForm="requestForm"
+                    :request_formTitle="request_form.title"
                 />
                 <WorkflowEntrance :list="fromList" v-else :lastManList="lastManList" @beforeClose="beforeClose"
-                                  :requestForm="requestForm" />
+                                  :requestForm="requestForm" :request_formTitle="request_form.title"/>
             </el-dialog>
         </div>
 
@@ -945,6 +946,7 @@
             clickHandles() {
                 this.getNextPath(this.fromList.resourceId || "");
                 console.log(this.fromList);
+                this.request_form.title = "[工作台]-地市生产数据导出-" + this.$refs.formTable.form.needName;
                 // if (this.fromList.taskId) {
                 //     this.destroy = true;
                 //     this.handleStatus = true;
@@ -1078,7 +1080,7 @@
             },
 
             setUpdateForm(e) {
-                this.request_form.title = this.$refs.formTable.form.needName;
+                this.request_form.title = "[工作台]-地市生产数据导出-" + this.$refs.formTable.form.needName;
                 // this.$refs.formTable.form.taskId = e;
                 this.$http({
                     url: "/market/scsjdcCitProcess/update",

+ 4 - 2
src/pages/main/productionDataExport/provinceHome.vue

@@ -75,9 +75,10 @@
                     @updateForm="beforeClose"
                     v-if="isWorkflowStatus == true"
                     :requestForm="requestForm"
+                    :request_formTitle="request_form.title"
                 />
                 <WorkflowEntrance :list="fromList" v-else :lastManList="lastManList" @beforeClose="beforeClose"
-                                  :requestForm="requestForm" />
+                                  :requestForm="requestForm"  :request_formTitle="request_form.title"/>
                 <!-- 后期维护 -->
             </el-dialog>
         </div>
@@ -929,7 +930,7 @@
 
 
             setForm(e) {
-                this.request_form.title = this.$refs.formTable.form.needName;
+                this.request_form.title = "[工作台]-省生产数据导出-" + this.$refs.formTable.form.needName;
                 this.$http({
                     url: "/market/scsjdcProProcess/add",
                     method: "post",
@@ -950,6 +951,7 @@
             clickHandles() {
                 this.getNextPath(this.fromList.resourceId || "");
                 console.log(this.fromList);
+                this.request_form.title = "[工作台]-省生产数据导出-" + this.$refs.formTable.form.needName;
                 // if (this.fromList.taskId) {
                 //     this.destroy = true;
                 //     this.handleStatus = true;

+ 4 - 2
src/pages/main/provincialWorkOrder/provincialWorkOrder.vue

@@ -90,10 +90,10 @@
             <el-dialog title="处理操作" width="100%" :visible.sync="handleStatus" :before-close="handleCloses" :modal="false"
                 v-if="handleStatus" :destroy-on-close="true">
                 <Workflow :list="fromList" v-if="isWorkflowStatus == true" @updateForm="updateForm"
-                    :requestForm="requestForm" />
+                    :requestForm="requestForm" :request_formTitle="request_form.title"/>
 
                 <WorkflowEntrance :list="fromList" v-else :lastManList="lastManList" @beforeClose="updateForm"
-                    :requestForm="requestForm" />
+                    :requestForm="requestForm" :request_formTitle="request_form.title"/>
                 <!-- 后期维护 -->
             </el-dialog>
         </div>
@@ -1008,6 +1008,7 @@ export default {
                     console.log(this.$refs.form.model)
                     this.savestatusBtn = true
                     if (this.fromList.id) {
+                        this.request_form.title = '[工作台]-省通用工单-'+this.fromList.needName;
                         this.$http({
                             url: "/market/tygdProProcess/update",
                             method: "post",
@@ -1121,6 +1122,7 @@ export default {
         clickHandles() {
             this.getNextPath(this.fromList.resourceId || "");
             console.log(this.fromList);
+            this.request_form.title = '[工作台]-省通用工单-'+this.fromList.needName;
             // if (this.fromList.taskId) {
             //     this.destroy = true;
             //     this.handleStatus = true;

+ 4 - 2
src/pages/main/provincialWorkOrder/provincialWorkOrderArea.vue

@@ -97,10 +97,10 @@
             <el-dialog title="处理操作" width="100%" :visible.sync="handleStatus" :before-close="handleCloses" :modal="false"
                 v-if="handleStatus" :destroy-on-close="true">
                 <Workflow :list="fromList" v-if="isWorkflowStatus == true" @updateForm="updateForm"
-                    :requestForm="requestForm" />
+                    :requestForm="requestForm" :request_formTitle="request_form.title"/>
 
                 <WorkflowEntrance :list="fromList" v-else :lastManList="lastManList" @beforeClose="updateForm"
-                    :requestForm="requestForm" />
+                    :requestForm="requestForm" :request_formTitle="request_form.title"/>
                 <!-- 后期维护 -->
             </el-dialog>
         </div>
@@ -824,6 +824,7 @@ export default {
                     console.log(this.$refs.form.model)
                     this.savestatusBtn = true
                     if (this.fromList.id) {
+                        his.request_form.title = '[工作台]-地市通用工单-'+this.fromList.needName;
                         this.$http({
                             url: "/market/tygdCityProcess/update",
                             method: "post",
@@ -937,6 +938,7 @@ export default {
         clickHandles() {
             this.getNextPath(this.fromList.resourceId || "");
             console.log(this.fromList);
+            this.request_form.title = '[工作台]-地市通用工单-'+this.fromList.needName;
             // if (this.fromList.taskId) {
             //     this.destroy = true;
             //     this.handleStatus = true;

+ 1 - 0
src/pages/main/terminals/advertincreases.vue

@@ -191,6 +191,7 @@
         :list="infolist"
         :requestForm="requestForm"
         @updateForm="updateForm"
+        :request_formTitle="request_form.title"
       />
       <!-- <div>
         <el-form :model="infolist" ref="infolist">

+ 13 - 1
src/pages/main/terminals/components/adverts.vue

@@ -203,7 +203,7 @@
     </div>
     <el-dialog title="选择审批人" v-if="checkexa" :before-close="handleClose" :visible.sync="checkexa" :modal="false"
       width="100%" :destroy-on-close="true" :modal-append-to-body="false" :close-on-click-modal="false">
-      <Workflow :list="infoApply" :requestForm="requestForm" @updateForm="updateForm" />
+      <Workflow :list="infoApply" :requestForm="requestForm" @updateForm="updateForm" :request_formTitle="request_form.title"/>
     </el-dialog>
     <div slot="footer" class="dialog-footer">
       <el-button v-if="changeinfo" type="primary" @click="dialogCli(2)"
@@ -303,6 +303,16 @@ export default {
       uploadsts: false,
       attList: [],
       mkFileShareAttachList: [],
+      request_form: {
+        userId: "",
+        userName: "",
+        // path: this.$router.currentRoute.name,
+        path: 'advchecks',
+        userCode: JSON.parse(window.sessionStorage.userInfo).loginNo,
+        title: "",
+        businessKey: "",
+        processDefinitionKey: "ggsj_process",
+      },
       gys: [
         // {
         //     type:'设计类型1',
@@ -473,6 +483,7 @@ export default {
     },
     //添加
     dialogClis() {
+      this.request_form.title = '[市场工作台]-'+'广告设计及素材库-'+ this.$refs.infoApply.model.need_name;
       this.$http({
         url: "/market/ggsj/update",
         method: "post",
@@ -485,6 +496,7 @@ export default {
       });
     },
     dialogCli(v) {
+      this.request_form.title = '[市场工作台]-'+'广告设计及素材库-'+ this.$refs.infoApply.model.need_name;
       if(v ==2 ){
         this.checkexa = true;
       }

+ 4 - 2
src/pages/main/userList/docAppr.vue

@@ -68,10 +68,10 @@
             <el-dialog title="处理操作" width="100%" :visible.sync="handleStatus" :before-close="handleCloses" :modal="false"
                 v-if="handleStatus" :destroy-on-close="true">
                 <Workflow :list="fromList" v-if="isWorkflowStatus == true" @updateForm="updateForm"
-                    :requestForm="requestForm" />
+                    :requestForm="requestForm" :request_formTitle="request_form.title"/>
 
                 <WorkflowEntrance :list="fromList" v-else :lastManList="lastManList" @beforeClose="updateForm"
-                    :requestForm="requestForm" />
+                    :requestForm="requestForm" :request_formTitle="request_form.title"/>
                 <!-- 后期维护 -->
             </el-dialog>
         </div>
@@ -728,6 +728,7 @@ export default {
                         //         this.fromList.attId.push(item.id);
                         //     })
                         // }
+                        this.request_form.title = '[IT工作台]-文件审批-' + this.fromList.title;
                         this.$http({
                             url: "/market/wjspProcess/update",
                             method: "post",
@@ -850,6 +851,7 @@ export default {
         clickHandles() {
             this.getNextPath(this.fromList.resourceId || "");
             console.log(this.fromList);
+            this.request_form.title = '[IT工作台]-文件审批-' + this.fromList.title;
             // if (this.fromList.taskId) {
             //     this.destroy = true;
             //     this.handleStatus = true;

+ 4 - 2
src/pages/main/userList/userList.vue

@@ -66,10 +66,10 @@
             <el-dialog title="处理操作" width="100%" :visible.sync="handleStatus" :before-close="handleCloses" :modal="false"
                 v-if="handleStatus" :destroy-on-close="true">
                 <Workflow :list="fromList" v-if="isWorkflowStatus == true" @updateForm="updateForm"
-                    :requestForm="requestForm" />
+                    :requestForm="requestForm" :request_formTitle="request_form.title" />
 
                 <WorkflowEntrance :list="fromList" v-else :lastManList="lastManList" @beforeClose="updateForm"
-                    :requestForm="requestForm" />
+                    :requestForm="requestForm"  :request_formTitle="request_form.title"/>
                 <!-- 后期维护 -->
             </el-dialog>
         </div>
@@ -715,6 +715,7 @@ export default {
                     console.log(this.$refs.form.model)
                     this.savestatusBtn = true
                     if (this.fromList.id) {
+                        this.request_form.title = '[IT工作台]-用户清单-' + this.fromList.needName;
                         this.$http({
                             url: "/market/YhqdProcess/update",
                             method: "post",
@@ -834,6 +835,7 @@ export default {
         clickHandles() {
             this.getNextPath(this.fromList.resourceId || "");
             console.log(this.fromList);
+            this.request_form.title = '[IT工作台]-用户清单-' + this.fromList.needName;
             // if (this.fromList.taskId) {
             //     this.destroy = true;
             //     this.handleStatus = true;

+ 255 - 0
src/pages/main/zqknowledgetop/addKnowledge.vue

@@ -0,0 +1,255 @@
+<template>
+  <fullscreen class="mc-container">
+    <div class="container-box">
+      <h2>新增知识库</h2>
+      <el-row :gutter="20" style="margin-top: 15px">
+        <el-col :span="24"
+          ><el-form
+            :model="formData"
+            :rules="rules"
+            ref="ruleForm"
+            label-width="50px"
+            class="demo-ruleForm"
+          >
+            <el-col :span="10">
+              <el-form-item label="标题" prop="title">
+                <el-input
+                  v-model="formData.title"
+                  placeholder="请输入标题"
+                ></el-input>
+              </el-form-item>
+              <el-form-item prop="pubType" label="类型">
+                <el-select
+                  style="width: 100%"
+                  :popper-append-to-body="false"
+                  v-model="formData.pubType"
+                  placeholder="发布类型"
+                  clearable
+                >
+                  <el-option
+                    v-for="item in knowledgeType"
+                    :key="item.id"
+                    :label="item.pubType"
+                    :value="item.id"
+                  >
+                  </el-option>
+                </el-select>
+              </el-form-item>
+              <el-form-item label="目录" prop="catalogDesc">
+                <div style="display: flex">
+                  <el-input
+                    v-model="formData.catalogDesc"
+                    readonly
+                    placeholder="请选择目录"
+                  ></el-input>
+                  <el-button @click="selectCatalogs">选择</el-button>
+                </div>
+              </el-form-item>
+              <el-form-item label="附件" prop="catalog">
+                <myUpload
+                  @uploadBack="uploadBack"
+                  :fileInfo="fileInfo"
+                  :fileList="fileInfo.fileList"
+                >
+                </myUpload>
+              </el-form-item>
+              <el-form-item>
+                <el-button type="primary" @click="submitForm('ruleForm')"
+                  >立即创建</el-button
+                >
+                <el-button @click="resetForm('ruleForm')">取消</el-button>
+              </el-form-item>
+            </el-col>
+            <el-col :span="14">
+              <el-form-item label="内容" prop="content">
+                <p-editor-tiny
+                  imgType="upload"
+                  v-model="formData.content"
+                ></p-editor-tiny
+              ></el-form-item>
+            </el-col> </el-form
+        ></el-col>
+      </el-row>
+    </div>
+    <el-dialog
+      title="目录树"
+      :visible.sync="catalogDialogVisible"
+      width="45%"
+      :modal-append-to-body="false"
+    >
+      <el-tree
+        class="filter-tree"
+        :data="treeData"
+        node-key="catalog"
+        :props="defaultProps"
+        default-expand-all
+        :filter-node-method="filterNode"
+        @node-click="nodeClick"
+        ref="tree"
+      >
+      </el-tree>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="clearCatalog">取 消</el-button>
+        <el-button type="primary" @click="trueCatalog">确 定</el-button>
+      </span>
+    </el-dialog>
+  </fullscreen>
+</template><script>
+import myUpload from "../../../components/upload";
+export default {
+  data() {
+    return {
+      catalogDialogVisible: false,
+      departmentDialogVisible: false,
+      formData: {
+        title: "",
+        catalog: "",
+        catalogDesc: "",
+        content: "",
+        pubType: "",
+      },
+      rules: {
+        title: [{ required: true, message: "请输入标题", trigger: "blur" }],
+        catalogDesc: [
+          { required: true, message: "请选择目录", trigger: "change" },
+        ],
+        pubType: [{ required: true, message: "请选择类型", trigger: "change" }],
+        content: [
+          {
+            required: true,
+            message: "请输入内容",
+            trigger: "change",
+          },
+        ],
+      },
+      filterText: "",
+      treeData: [],
+      defaultProps: {
+        children: "children",
+        label: "title",
+      },
+      knowledgeType: [],
+      fileInfo: {
+        limit: 5,
+        // url: "/market/cknowledgeZqatt/upload",//"/market/waf/uploadByMinio"
+        url: "/market/waf/uploadByMinio",//"/market/waf/uploadByMinio"
+        fileList: [],
+      },
+    };
+  },
+  components: {
+    PEditorTiny: () =>
+      import(
+        /* webpackChunkName: "peditor-tiny" */ "../../../components/p-editor-tiny"
+      ),
+    myUpload,
+  },
+  methods: {
+    uploadBack(v) {
+      this.attList = v;
+    },
+    // 选择完目录清空
+    clearCatalog() {
+      this.formData.catalogDesc = "";
+      this.formData.catalog = "";
+      this.catalogDialogVisible = false;
+    },
+    // 选择完目录确认
+    trueCatalog() {
+      this.catalogDialogVisible = false;
+    },
+    // 选择目录弹出
+    selectCatalogs() {
+      this.catalogDialogVisible = true;
+    },
+    // 选择部门弹出
+    selectDepartment() {
+      this.departmentDialogVisible = true;
+    },
+    //字典类型
+    getListype(v) {
+      this.$http({
+        url: "/market/mkKnowledgePubMsgType/queryList",
+        method: "post",
+        headers: {
+          "Content-Type": "application/json",
+        },
+        data: {
+          dictCode: "pubType",
+        },
+      }).then((res) => {
+        this.knowledgeType = res.data;
+      });
+    },
+    // 树筛选
+    filterNode(value, data) {
+      if (!value) return true;
+      return data.label.indexOf(value) !== -1;
+    },
+    async submitForm(formName) {
+      let valid = await this.$refs[formName].validate().catch((err) => err);
+      if (valid) {
+        alert("submit!");
+      } else {
+        console.log("error submit!!");
+        return false;
+      }
+    }, // 树点击
+    nodeClick(index, data, node) {
+      this.formData.catalogDesc = data.data.title;
+      this.formData.catalog = data.data.id;
+    },
+    resetForm(formName) {
+      this.$refs[formName].resetFields();
+    },
+    getData() {
+      this.$http({
+        url: "/market/mkKnowledgeCatalog/queryList",
+        method: "post",
+        headers: {
+          "Content-Type": "application/json",
+        },
+        data: {},
+      }).then((res) => {
+        this.treeData = res.data;
+      });
+    },
+  },
+  mounted() {
+    this.getData();
+    this.getListype();
+  },
+  watch: {
+    filterText(val) {
+      this.$refs.tree.filter(val);
+    },
+  },
+};
+</script>
+<style>
+.mc-container {
+  margin: 15px;
+  background: #fff;
+  border-radius: 5px;
+  height: calc(100vh - 150px);
+  margin-bottom: 0;
+}
+.mc-container .container-box {
+  width: 100%;
+  height: 100%;
+  max-height: 96vh;
+  margin-top: 20px;
+  padding: 0 20px 0 20px;
+  overflow-x: hidden !important;
+  padding-top: 20px;
+}
+.tinymce-editor {
+  height: 300px;
+}
+.mc-container .el-upload{
+  width:100%
+}
+.mc-container .el-upload-dragger{
+  width: 100%;
+}
+</style>

+ 503 - 0
src/pages/main/zqknowledgetop/catalog.vue

@@ -0,0 +1,503 @@
+<template>
+  <div class="container">
+    <div class="main-box container-box">
+      <div class="inner-left" style="overflow: hidden">
+        <div class="button-list">
+          <el-button type="primary" @click="firstMenu" plain
+            >添加一级目录</el-button
+          >
+          <el-button type="primary" @click="addMenu" plain
+            >添加子目录</el-button
+          >
+          <el-button type="primary" @click="delMenu" plain>删除</el-button>
+          <el-dropdown
+            @command="treeAction"
+            trigger="click"
+            style="margin-left: 15px"
+          >
+            <el-button type="primary" plain>
+              树操作<i class="el-icon-arrow-down el-icon--right"></i>
+            </el-button>
+            <el-dropdown-menu slot="dropdown">
+              <el-dropdown-item :command="1">全部展开</el-dropdown-item>
+              <el-dropdown-item :command="2">全部关闭</el-dropdown-item>
+            </el-dropdown-menu>
+          </el-dropdown>
+        </div>
+        <div class="choice-style">
+          <div class="ant-alert-info ant-alert">
+            <i style="color: #1890ff" class="el-icon-warning"></i>当前选择:{{
+              actionName
+            }}
+            <span class="canel-style" @click="canelChoice" v-show="actionName"
+              >取消选择</span
+            >
+          </div>
+        </div>
+        <div style="margin: 10px 0">
+          <el-input
+            placeholder="请输入内容"
+            v-model="filterText"
+            class="input-with-select"
+            clearable
+            @change="
+              () => {
+                if (!filterText) {
+                  searchMenu();
+                }
+              }
+            "
+          >
+            <el-button
+              slot="append"
+              @click="searchMenu"
+              icon="el-icon-search"
+            ></el-button>
+          </el-input>
+        </div>
+        <div
+          v-loading="loading"
+          style="height: calc(100% - 200px); overflow-y: scroll"
+        >
+          <el-tree
+            ref="catalogTree"
+            class="tree-line"
+            :expand-on-click-node="true"
+            :auto-expand-parent="true"
+            :default-expand-all="true"
+            :props="defaultProps"
+            :data="menuList"
+            @node-click="nodeClick"
+            :filter-node-method="filterNode"
+            node-key="id"
+          >
+            <span class="custom-tree-node" slot-scope="{ node }">
+              <span>
+                <span style="color: #009cff" class="iconfont icon-wenjianjia"></span>
+                <!-- <span
+                  v-if="
+                    node.data.hasOwnProperty('children') &&
+                    node.data.children.length > 0
+                  "
+                  style="color: #009cff"
+                  class="iconfont icon-wenjianjia"
+                ></span> -->
+                <!-- <span
+                  v-else
+                  style="color: #fdb441"
+                  class="iconfont icon-wenjian"
+                ></span> -->
+                <span
+                  :style="
+                    node.data.hasOwnProperty('parent')
+                      ? 'font-size:14px;padding-left:5px'
+                      : 'font-size:12px;padding-left:5px'
+                  "
+                  >{{ node.data.title }}</span
+                >
+              </span>
+            </span>
+          </el-tree>
+        </div>
+        <div class="tree-action"></div>
+      </div>
+      <div class="inner-right">
+        <div v-if="actionName">
+          <div class="choice-style" style="width: 80%; margin: 15px auto">
+            <div class="ant-alert-info ant-alert">
+              <i style="color: #1890ff" class="el-icon-warning"></i>请编辑信息
+            </div>
+          </div>
+          <el-form
+            :model="formData"
+            :rules="rules"
+            ref="ruleForm"
+            label-width="100px"
+            class="demo-ruleForm"
+            style="width: 80%; margin: 50px auto"
+          >
+            <el-form-item label="目录名称" prop="title">
+              <el-input
+                v-model="formData.title"
+                placeholder="请输入标题"
+              ></el-input>
+            </el-form-item>
+            <el-form-item
+              prop="parentId"
+              v-if="actionName != 'add'"
+              label="父级编码"
+            >
+              <el-input
+                disabled
+                v-model="formData.parentId"
+                placeholder="请输入父级编码"
+              ></el-input>
+            </el-form-item>
+            <el-form-item
+              label="父级名称"
+              v-if="actionName != 'add'"
+              prop="parentName"
+            >
+              <el-input
+                disabled
+                v-model="formData.parentName"
+                readonly
+                placeholder="请输入父级名称"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="操作人" prop="createName">
+              <el-input
+                v-model="formData.createName"
+                readonly
+                placeholder="请输入操作人"
+              ></el-input>
+            </el-form-item>
+            <el-form-item>
+              <el-button type="primary" @click="submitForm('ruleForm')">{{
+                subType
+              }}</el-button>
+              <el-button @click="resetForm('ruleForm')">取消</el-button>
+            </el-form-item>
+          </el-form>
+        </div>
+        <div v-else style="text-align: center">
+          <img src="../../../assets/404.png" alt="" />
+          <div>请先选择一个目录</div>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+<script>
+export default {
+  data() {
+    return {
+      loading: false,
+      defaultExpand: true,
+      functionCode: "",
+      filterText: "", // tree搜索value
+      actionName: "", // 当前选择节点名称
+      menuList: [], // tree数据源
+      checkedMenu: [], // 选中节点的functionCode
+      checkedNodes: [], // 选中节点的node值
+      roleData: "", // 某一条数据
+      formData: {
+        id: "",
+        title: "",
+        createName: JSON.parse(sessionStorage.userInfo).loginName,
+        createId: JSON.parse(sessionStorage.userInfo).loginNo,
+        orgName: JSON.parse(sessionStorage.userInfo).groupName,
+        orgId: JSON.parse(sessionStorage.userInfo).groupId,
+        parentId: "",
+        parentName: "",
+      },
+      defaultProps: {
+        children: "children",
+        label: "title",
+      },
+      rules: {
+        title: [{ required: true, message: "请输入标题", trigger: "change" }],
+        parentId: [
+          { required: false, message: "请选择父级编码", trigger: "change" },
+        ],
+      },
+      subType: "",
+    };
+  },
+  methods: {
+    async submitForm(formName) {
+      let valid = await this.$refs[formName].validate().catch((err) => err);
+      if (valid) {
+        this.$http({
+          url:
+            this.subType == "保存"
+              ? "/market/mkKnowledgeCatalogZq/add"
+              : "/market/mkKnowledgeCatalogZq/update",
+          method: "post",
+          headers: {
+            "Content-Type": "application/json",
+          },
+          data: this.formData,
+        }).then((res) => {
+          if (res.data.result == 0) {
+            this.$message({
+              type: "success",
+              message: res.data.desc,
+            });
+            this.actionName = "";
+            this.getData();
+          }
+        });
+      } else {
+        console.log("error submit!!");
+        return false;
+      }
+    },
+    resetForm(formName) {
+      this.actionName = "";
+      this.$refs[formName].resetFields();
+    },
+    addMenu() {
+      if (!this.actionName) {
+        this.$message("请先点击选中要增加菜单的位置");
+      } else {
+        this.subType = "保存";
+        this.formData.parentId = this.formData.id;
+        this.formData.parentName = this.formData.title;
+        this.formData.title = "";
+        this.formData.id = "";
+      }
+    },
+    treeAction(val) {
+      val == 1 ? (this.defaultExpand = true) : (this.defaultExpand = false);
+      for (let i = 0; i < this.$refs.catalogTree.store._getAllNodes().length; i++) {
+        this.$refs.catalogTree.store._getAllNodes()[i].expanded = this.defaultExpand;
+      }
+    },
+    canelChoice() {
+      this.actionName = "";
+      this.formData.title = "";
+    },
+    delMenu() {
+      if (!this.formData.id) {
+        this.$message("请先点击选中要删除的菜单");
+      } else {
+        this.$confirm("即将删除此条数据, 是否删除?", "提示", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning",
+        })
+          .then(() => {
+            this.$http({
+              url: "/market/mkKnowledgeCatalogZq/del",
+              method: "post",
+              headers: {
+                "Content-Type": "application/json",
+              },
+              data: {
+                id: this.formData.id,
+              },
+            }).then((res) => {
+              if (res.data.result == 0) {
+                this.$notify({
+                  title: "成功",
+                  message: res.data.desc,
+                  type: "success",
+                });
+                this.actionName = "";
+                this.getData();
+              }
+            });
+          })
+          .catch(() => {});
+      }
+    },
+    // 添加一级菜单
+    firstMenu() {
+      this.actionName = "add";
+      this.subType = "保存";
+      this.formData.title = "";
+      this.formData.parentId = "";
+      this.formData.parentName = "";
+      this.formData.id = "";
+    },
+    // 搜索按钮事件
+    searchMenu() {
+      this.$refs.tree.filter(this.filterText);
+    },
+    // tree过滤方法
+    filterNode(value, data) {
+      if (!value) return true;
+      return data.functionName.indexOf(value) !== -1;
+    },
+    // 点击树节点事件
+    nodeClick(a, b, c, d) {
+      let nodeData = JSON.parse(JSON.stringify(b.data));
+      this.formData.title = nodeData.title;
+      this.formData.parentId = nodeData.parentId;
+      this.formData.parentName = nodeData.parentName;
+      this.formData.id = nodeData.id;
+      delete Object["children"];
+      this.actionName = nodeData.title;
+      this.subType = "修改";
+    },
+    closeDialog() {
+      this.actionName = "";
+      this.getTreeData({});
+    },
+    // 树形图 复选框监听事件
+    checkChange(a, b, c, d) {
+      this.checkedNodes = b.checkedNodes;
+    },
+    getData() {
+      this.$http({
+        url: "/market/mkKnowledgeCatalogZq/queryList",
+        method: "post",
+        headers: {
+          "Content-Type": "application/json",
+        },
+        data: {},
+      }).then((res) => {
+        this.menuList = res.data;
+      });
+    },
+  },
+  mounted() {
+    this.getData();
+  },
+};
+</script>
+<style lang="scss" scoped>
+.container {
+  background-color: #f0f2f5;
+
+  .el-col {
+    background-color: white;
+    padding: 0 20px;
+  }
+
+  .container-box {
+    padding: 0;
+    margin-top: 0;
+    height: 100%;
+  }
+
+  .main-box {
+    overflow: hidden;
+    display: flex;
+
+    > div {
+      background-color: white;
+    }
+
+    .inner-left {
+      width: 40%;
+      padding: 0 20px;
+
+      .canel-style {
+        color: #1890ff;
+        cursor: pointer;
+        padding-left: 10px;
+      }
+    }
+
+    .inner-right {
+      width: 58%;
+      margin-left: 2%;
+      overflow-y: auto;
+    }
+  }
+}
+
+.el-button + .el-button {
+  margin-left: 20px;
+}
+
+.button-list {
+  padding: 30px 0 10px 0;
+}
+
+.choice-style {
+  background: rgb(255, 255, 255);
+}
+
+.tree-action {
+  bottom: 0;
+  width: 100%;
+  // border-top: 1px solid #e8e8e8;
+  padding: 10px 16px;
+  text-align: left;
+  left: 0;
+  background: #fff;
+  border-radius: 0 0 2px 2px;
+}
+
+.tree-line {
+  .el-tree-node__content {
+    padding-left: 0 !important;
+  }
+
+  .el-tree-node__expand-icon.is-leaf {
+    display: none !important;
+  }
+
+  .el-tree-node {
+    position: relative;
+    padding-left: 16px; // 缩进量
+  }
+
+  .el-tree-node__children {
+    padding-left: 16px; // 缩进量
+  }
+
+  // 竖线
+  .el-tree-node::before {
+    content: "";
+    height: 100%;
+    width: 1px;
+    position: absolute;
+    left: -3px;
+    top: -17px;
+    border-width: 1px;
+    border-left: 1px dashed #52627c;
+  }
+
+  // 当前层最后一个节点的竖线高度固定
+  .el-tree-node:last-child::before {
+    height: 38px; // 可以自己调节到合适数值
+  }
+
+  // 横线
+  .el-tree-node::after {
+    content: "";
+    width: 24px;
+    height: 20px;
+    position: absolute;
+    left: -3px;
+    top: 20px;
+    border-width: 1px;
+    border-top: 1px dashed #52627c;
+  }
+
+  // 去掉最顶层的虚线,放最下面样式才不会被上面的覆盖了
+  & > .el-tree-node::after {
+    border-top: none;
+  }
+
+  & > .el-tree-node::before {
+    border-left: none;
+  }
+
+  // 展开关闭的icon
+  .el-tree-node__expand-icon {
+    font-size: 16px;
+
+    // 叶子节点(无子节点)
+    &.is-leaf {
+      color: transparent;
+      // display: none; // 也可以去掉
+    }
+  }
+}
+
+.ant-alert-info {
+  background-color: #e6f7ff;
+  border: 1px solid #91d5ff;
+}
+
+.ant-alert {
+  box-sizing: border-box;
+  margin: 0;
+  padding: 0;
+  color: rgb(0, 0, 0);
+  font-size: 14px;
+  font-variant: tabular-nums;
+  line-height: 1.5;
+  list-style: none;
+  font-feature-settings: "tnum";
+  position: relative;
+  padding: 8px 15px 8px 37px;
+  word-wrap: break-word;
+  border-radius: 4px;
+}
+</style>

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 2 - 0
src/pages/main/zqknowledgetop/data.js


+ 193 - 0
src/pages/main/zqknowledgetop/index.vue

@@ -0,0 +1,193 @@
+<template>
+    <fullscreen :fullscreen.sync="fullscreen" class="container">
+        <div class="container-box">
+            <h2 style="margin-top: 20px;">政企知识库</h2>
+            <div class="adv-type">
+                <div
+                    class="wfour"
+                    @click="jumpinfo('/zqknowledgeManagement', '知识库管理')"
+                >
+                    <span><i class="el-icon-folder-opened"></i></span>
+                    <span>知识库管理</span>
+                </div>
+                <!-- <div
+                    class="wfour"
+                    @click="jumpinfo('/knowledgeExaminetop', '知识库审核')"
+                >
+                    <span><i class="el-icon-folder-opened"></i></span>
+                    <span>知识库审核</span>
+                </div> -->
+                <div
+                    class="wfour"
+                    @click="jumpinfo('/zqknowledgeTypetop', '知识类型管理')"
+                    v-if="lockFlag == 'add'"
+                >
+                    <span><i class="el-icon-folder-opened"></i></span>
+                    <span>知识类型管理</span>
+                </div>
+                <div
+                    class="wfour"
+                    @click="
+                        jumpinfo('/zqknowledgeCatalogtop', '知识库目录管理')
+                    "
+                    v-if="lockFlag == 'add'"
+                >
+                    <span><i class="el-icon-folder-opened"></i></span>
+                    <span>知识库目录管理</span>
+                </div>
+            </div>
+        </div>
+    </fullscreen>
+</template>
+<script>
+import mySearch from "../../../components/search.vue";
+import myMessage from "../../../components/myMessage.vue";
+import toolList from "../../../components/toolList";
+import myUpload from "../../../components/upload";
+
+export default {
+    components: {
+        mySearch,
+        myMessage,
+        toolList,
+        myUpload
+    },
+    data() {
+        return {
+            fullscreen: false,
+            lockFlag: "see",
+            province: true
+        };
+    },
+    methods: {
+        jumpinfop(p, v, n) {
+            this.$router.push({
+                path: p,
+                query: {
+                    type: v
+                }
+            });
+            this.setabList(n, p + "?type=" + v);
+        },
+        jumpinfo(p, n) {
+            this.$router.push({
+                path: p
+            });
+            this.setabList(n, p);
+        },
+        setabList(n, p) {
+            let params = {
+                children: "",
+                name: n,
+                rountPath: p,
+                target: "_self"
+            };
+            for (let i = 0; i < this.$store.state.tabList.length; i++) {
+                if (this.$store.state.tabList[i].name === params.name) {
+                    this.$store.state.tabList[i] = params;
+                }
+            }
+            let set = new Set([...this.$store.state.tabList, params]);
+            set.add(params);
+            this.$store.commit("setDefaultActive", params.rountPath);
+            this.$store.commit("setTabList", Array.from(set));
+        },
+         getRole(){
+            this.$http({
+                url:"/market/mkNewknowledge/queryRole",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                },
+                data: {}
+            }).then(res => {
+                console.log("vue"+res.data);
+                if(res.data == "1"){
+                    this.lockFlag = 'add';//管理员
+                }else{
+                    this.lockFlag = 'updata';//普通员工
+                }
+            });
+        },
+        // getUser() {
+        //     this.userInfo = JSON.parse(window.sessionStorage.userInfo);
+        //     let Menus = JSON.parse(window.sessionStorage.childrenMenus);
+        //     for (let i = 0; i < Menus.length; i++) {
+        //         if (
+        //             Menus[i].systemflag == 1 &&
+        //             Menus[i].jspUrl == "/publicityAccount"
+        //         ) {
+        //             this.lockFlag = "add"; //省级
+        //         }
+        //         if (
+        //             Menus[i].systemflag == 1 &&
+        //             Menus[i].jspUrl == "/publicity"
+        //         ) {
+        //             this.lockFlag = "updata"; //管理员
+        //             i = Menus.length;
+        //         }
+        //     }
+        //     for (let i = 0; i < Menus.length; i++) {
+        //         if (
+        //             Menus[i].systemflag == 1 &&
+        //             Menus[i].jspUrl == "/province"
+        //         ) {
+        //             this.province = true; //省公司
+        //         }
+        //     }
+        // }
+    },
+    mounted() {
+        this.getRole();
+        // this.getUser();
+    },
+    created() {}
+};
+</script>
+<style scoped lang="scss">
+.container-box {
+    height: calc(100vh - 200px);
+    overflow-y: scroll;
+    padding-bottom: 20px;
+}
+.adv-type {
+    margin-top: 20px;
+    display: flex;
+    justify-content: space-between;
+    flex-wrap: wrap;
+    // border: 1px solid #ddd;
+    border-radius: 5px;
+    padding: 20px;
+    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
+    div {
+        width: 33%;
+        text-align: center;
+        height: 80px;
+        overflow: hidden;
+        min-width: 100px;
+        cursor: pointer;
+        padding-top: 10px;
+        margin: 10px 0;
+    }
+    div:hover {
+        background: #cfe8fc;
+        border-radius: 5px;
+    }
+    span {
+        width: 100%;
+        display: inline-block;
+        height: 40px;
+        // line-height: 40px;
+        i {
+            color: #0074d9;
+            font-size: 36px;
+        }
+    }
+    .wfour {
+        width: 25%;
+    }
+    .wfive {
+        width: 20%;
+    }
+}
+</style>

+ 568 - 0
src/pages/main/zqknowledgetop/knowledgeExamine.vue

@@ -0,0 +1,568 @@
+<template>
+
+    <fullscreen :fullscreen.sync="fullscreen" class="container">
+
+        <div class="container-box">
+            <toolList @iconCli='iconCli' :tooltit='tooltit'></toolList>
+            <div class="search">
+                <mySearch :searchList="searchList" @searchInfo="searchInfo"></mySearch>
+            </div>
+            <div class="tabbox">
+                <el-table height="calc(100% - 40px)" class="com-table" ref="multipleTable" :data="tableData"
+                    tooltip-effect="dark" size="small" border style="width: 100%" v-loading="loading">
+                    <el-table-column prop="knowledgeTitle" label="标题">
+                    </el-table-column>
+                    <el-table-column label="发布工号">
+                        <template slot-scope="scope">
+                            <span class="">{{scope.row.opNo}}</span>
+                        </template>
+                    </el-table-column>
+                    <el-table-column label="发布姓名">
+                        <template slot-scope="scope">
+                            <span>{{$desensitization(scope.row.opName,1)}}</span>
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="pubDeptName" label="发布部门">
+                    </el-table-column>
+                    <el-table-column prop="pubTypeName" label="发布类型">
+                    </el-table-column>
+                    <el-table-column prop="pubTime" label="发布时间">
+                    </el-table-column>
+                    <el-table-column prop="stsDesc" label="状态">
+                    </el-table-column>
+
+                    <el-table-column label="操作" width="100px" align="center">
+                        <template slot-scope="scope">
+                            <el-button size="mini" v-if="scope.row.sts == 2" :disabled="!btnctrlStatus" type="danger"
+                                @click="dialogCheck(scope.row)">审核</el-button>
+                        </template>
+                    </el-table-column>
+                </el-table>
+                <el-pagination class="pageBox" @current-change="currchange" layout="prev, pager, next" background
+                    :total="total">
+                </el-pagination>
+            </div>
+
+            <el-dialog title="审核知识" :visible.sync="dialogStatus" width="50%" :close-on-press-escape="false"
+                :show-close="true" :before-close="closedia" :destroy-on-close="true" :modal-append-to-body="false"
+                :close-on-click-modal="false">
+                <div v-loading="loadinged">
+                    <el-form style="height: 50vh;overflow-y: scroll;" :model="infolist" ref="infolist" :rules="rules">
+                        <div class="info-line">
+                            <el-form-item>
+                                <span>标题</span>
+                                <el-input v-model="infolist.knowledgeTitle" disabled></el-input>
+                            </el-form-item>
+                            <el-form-item>
+                                <span>发布类型</span>
+                                <el-input v-model="infolist.pubTypeName" disabled></el-input>
+                            </el-form-item>
+                            <el-form-item>
+                                <span>发布姓名</span>
+                                <el-input v-model="infolist.opName" disabled></el-input>
+                            </el-form-item>
+                            <el-form-item>
+                                <span>发布工号</span>
+                                <el-input v-model="infolist.opNo" disabled></el-input>
+                            </el-form-item>
+                        </div>
+                        <el-form-item class="info-line online">
+                            <span>发布部门</span>
+                            <el-input v-model="infolist.pubDeptName" disabled></el-input>
+                        </el-form-item>
+                        <el-form-item class="info-line online">
+                            <span>可见部门</span>
+                            <deptTree class="tree" @treeCheck="treeCheck" :defaultList="defaultList" :type="depttype"></deptTree>
+                        </el-form-item>
+                        <el-form-item class="info-line online">
+                            <span>备注</span>
+                            <el-input v-model="infolist.auditDesc" placeholder="备注" type="textarea" :rows="3">
+                            </el-input>
+                        </el-form-item>
+                        <div style="padding:0 20px 10px 100px">
+                            <uploadDown :datalist="datalist" :dialogStatus="uploadstatus"></uploadDown>
+                        </div>
+                    </el-form>
+                    <div class="dialog-footer myfooter">
+                        <el-button type="primary" @click="dialogCli(1)">通 过</el-button>
+                        <el-button type="primary" @click="dialogCli(3)">打 回</el-button>
+                        <el-button @click="dialogCli(2)">取 消</el-button>
+                    </div>
+                </div>
+            </el-dialog>
+        </div>
+    </fullscreen>
+
+</template>
+<script>
+    import myUpload from '../../../components/upload'
+    import uploadDown from '../../../components/uploadDown'
+    import mySearch from '../../../components/search'
+    import toolList from '../../../components/toolList'
+    import deptTree from '../../../components/deptTree.vue'
+
+    export default {
+        components: {
+            myUpload,
+            uploadDown,
+            mySearch,
+            toolList,
+            deptTree
+        },
+        data() {
+            const knowledgeTitle = (rule, value, callback) => {
+                if (!this.infolist.knowledgeTitle) {
+                    callback(new Error('不能为空'))
+                } else {
+                    callback()
+                }
+            }
+            const opName = (rule, value, callback) => {
+                if (!this.infolist.opName) {
+                    callback(new Error('不能为空'))
+                } else {
+                    callback()
+                }
+            }
+            const pubType = (rule, value, callback) => {
+                if (!this.infolist.pubType) {
+                    callback(new Error('不能为空'))
+                } else {
+                    callback()
+                }
+            }
+            const opNo = (rule, value, callback) => {
+                if (!this.infolist.opNo) {
+                    callback(new Error('不能为空'))
+                } else {
+                    callback()
+                }
+            }
+            return {
+                rules: {
+                    opNo: [{
+                        required: true,
+                        trigger: 'blur',
+                        validator: opNo
+                    }],
+                    pubType: [{
+                        required: true,
+                        trigger: 'change',
+                        validator: pubType
+                    }],
+                    opName: [{
+                        required: true,
+                        trigger: 'blur',
+                        validator: opName
+                    }],
+                    knowledgeTitle: [{
+                        required: true,
+                        trigger: 'blur',
+                        validator: knowledgeTitle
+                    }],
+                },
+                tooltit: '知识库审核',
+                fileInfo: {
+                    limit: 5,
+                    // url: '/market/cknowledgeZqatt/upload',//"/market/waf/uploadByMinio"
+                    url: '/market/waf/uploadByMinio',//"/market/waf/uploadByMinio"
+                    fileList: []
+                },
+                fullscreen: false,
+                total: 0,
+                pageSize: 1,
+                knowledge: {
+                    type: {
+                        value: '',
+                        options: []
+                    },
+                    startime: null,
+                    endtime: null,
+                },
+                tableData: [],
+                dialogStatus: false,
+                infolist: {},
+                titname: '',
+                disableStatus: false,
+                fileList: [],
+                visiblec: '',
+                visibleList: [],
+                attList: [],
+                datalist: {
+                    // url: '/market/compatt/downfile',//"/market/waf/downFileByMinio"
+                    url: '/market/waf/downFileByMinio',//"/market/waf/downFileByMinio"
+                    type: 1
+                },
+                uploadstatus: false,
+                userInfo: {},
+                searchList: [{
+                        type: 'sel',
+                        tit: '发布类型',
+                        value: '',
+                        width: '19%',
+                        options: []
+                    },
+                    {
+                        type: 'input',
+                        tit: '发布标题',
+                        value: '',
+                        width: '19%',
+                    },
+                    {
+                        type: 'date',
+                        tit: '开始时间',
+                        value: '',
+                        width: '19%',
+                    },
+                    {
+                        type: 'date',
+                        tit: '结束时间',
+                        value: '',
+                        width: '19%',
+                    },
+                    {
+                        type: 'input',
+                        tit: '关键字',
+                        value: '',
+                        width: '19%',
+                    },
+                ],
+                params: {},
+                centerDialogVisible: false,
+                messTit: '',
+                delid: '',
+                loading: false,
+                loadinged: false,
+                btnctrlStatus: false,
+                treeList: [],
+                defaultList:[],
+                depttype:0,
+            }
+        },
+        methods: {
+            treeCheck(v){
+                this.treeList = v;
+            },
+            closedia() {
+                this.infolist = {};
+                this.dialogStatus = false;
+                this.fileInfo.fileList = [];
+                this.defaultList = [];
+                this.depttype = 0;
+            },
+            //搜索数据
+            searchInfo(v) {
+                this.params = {};
+                v[0] ? this.params.pubType = v[0] : '';
+                v[1] ? this.params.knowledgeTitle = v[1] : '';
+                v[2] ? this.params.opTimeFrom = this.$formatDate(v[2], "YYYY-MM-DD") : '';
+                v[3] ? this.params.opTimeTo = this.$formatDate(v[3], "YYYY-MM-DD") : '';
+                if (v[4]) {
+                    this.params = {};
+                    this.params.keyWord = v[4]
+                }
+                this.getList(this.params, this.pageSize);
+            },
+            //获取列表
+            getList(v, n) {
+                this.pageSize = n;
+                let _this = this;
+                this.loading = true;
+                this.tableData = [];
+                this.$http({
+                    url: "/market/cknowledgeZq/queryChkPage",
+                    method: "post",
+                    headers: {
+                        "Content-Type": "application/json",
+                        "page": '{"pageNo":"' + n + '","pageSize":"10"}'
+                    },
+                    data: v,
+                }).then((res) => {
+                    this.tableData = res.data.data;
+                    this.total = res.data.totalRecord;
+                    this.loading = false;
+                });
+            },
+            //字典
+            getListype(v) {
+                this.$http({
+                    url: "/market/mkKnowledgePubMsgTypeZq/queryList",
+                    method: "post",
+                    headers: {
+                        "Content-Type": "application/json",
+                    },
+                    data: {
+                        dictCode: 'pubType'
+                    },
+                }).then((res) => {
+                    let listopt = [];
+                    res.data.forEach(item => {
+                        listopt.push({
+                            dataCode: item.id,
+                            dataName: item.pubType,
+                        })
+                    })
+                    this.searchList[0].options = listopt;
+                    this.knowledge.type.options = listopt;
+                });
+            },
+            //功能栏
+            iconCli(v) {
+                if (v === 1) {
+                    this.getList(this.params, this.pageSize);
+                }
+                if (v === 2) {
+                    this.fullscreen = !this.fullscreen
+                }
+            },
+            // 分页
+            currchange(v) {
+                this.pageSize = v;
+                this.getList(this.params, this.pageSize);
+            },
+            //查看 修改 新增
+            dialogCheck(v) {
+                this.dialogStatus = true;
+                this.visiblec = '';
+                this.infolist = {};
+                this.$http({
+                    url: "/market/cknowledgeZq/queryInfo",
+                    method: "post",
+                    headers: {
+                        "Content-Type": "application/json",
+                    },
+                    data: {
+                        id: v.id
+                    },
+                }).then((res) => {
+                    res.data.opName = this.$desensitization(res.data.opName,1);
+                    this.datalist.attList = res.data.attList;
+                    this.uploadstatus = true;
+                    this.infolist = res.data;
+                    this.fileInfo.fileList = [];
+                    this.attList = this.infolist.attList;
+                    this.treeList = this.infolist.visibleList;
+                    this.defaultList = [];
+                    res.data.attList.forEach(item => {
+                        this.fileInfo.fileList.push({
+                            name: item.fileName,
+                            url: '',
+                            id: item.id,
+                            fileName: item.fileName,
+                            fileCode: item.fileCode,
+                            opName: item.opName,
+                            opNo: item.opNo,
+                            opTime: item.opTime,
+                        });
+                    })
+                    res.data.visibleList.forEach(item => {
+                        this.defaultList.push(item.deptId);
+                    })
+                    this.depttype = 2;
+                    this.loadinged = false;
+                });
+            },
+            //添加 修改
+            dialogCli(v) {
+                this.uploadstatus = false;
+                this.datalist.attList = [];
+                this.fileInfo.fileList = [];
+                if (v === 2) {
+                    this.getUser();
+                    this.dialogStatus = false;
+                    this.defaultList = [];
+                    this.depttype = 0;
+                    return
+                }
+                this.infolist.sts = v;
+                v == 1 ? this.infolist.stsDesc = "通过" : this.infolist.stsDesc = "打回";
+                this.infolist.auditNo = this.userInfo.loginNo;
+                this.infolist.auditName = this.userInfo.loginName;
+                this.infolist.auditTime = this.$formatDate(new Date(), "YYYY-MM-DD");
+                this.submitInfo("/market/cknowledgeZq/update", v);
+            },
+            submitInfo(u, v) {
+                let _this = this;
+                this.loadinged = true;
+                this.$http({
+                    url: u,
+                    method: "post",
+                    headers: {
+                        "Content-Type": "application/json",
+                    },
+                    data: {
+                        knowledge: this.infolist,
+                        attList: this.attList,
+                        visibleList: this.treeList
+                    },
+                }).then((res) => {
+                    this.loadinged = false;
+                    if (res.data.result === 1) {
+                        _this.$message({
+                            message: res.data.desc,
+                            type: 'error'
+                        });
+                    } else {
+                        _this.$message({
+                            message: '成功',
+                            type: 'success'
+                        });
+                        _this.fileInfo.fileList = [];
+                        _this.infolist = {};
+                        _this.dialogStatus = false;
+                        _this.getList(_this.params, _this.pageSize);
+                        _this.defaultList = [];
+                        _this.depttype = 0;
+                    }
+                })
+            },
+            ctrlbtn() {
+                let v = JSON.parse(window.sessionStorage.childrenMenus);
+                for (let i = 0; i < v.length; i++) {
+                    if (v[i].jspUrl == this.$route.path && v[i].systemflag == '1') {
+                        this.btnctrlStatus = true;
+                        return
+                    }
+                }
+            },
+            getUser() {
+                this.userInfo = JSON.parse(window.sessionStorage.userInfo);
+            }
+        },
+        mounted() {
+            this.getList(this.params, this.pageSize);
+            this.getListype();
+            this.ctrlbtn();
+        },
+        created() {
+
+        }
+    }
+</script>
+<style scoped lang="scss">
+    @import "../../../assets/style";
+
+    .iconfont {
+        font-size: 42px;
+    }
+
+    .icon-excel {
+        color: #67DB63;
+    }
+
+    .icon-word {
+        color: #FF654E;
+    }
+
+    .icon-ppt {
+        color: #FF8943;
+    }
+
+    .icon-wenjian {
+        color: #ccc;
+    }
+
+    .el-icon-picture {
+        font-size: 36px;
+        color: #ccc;
+        background: #fff;
+        padding: 4px 2px;
+        margin-bottom: 2px;
+    }
+
+    .back-box {
+        margin-top: 20px;
+        background: #F2F2F2;
+        padding: 20px;
+
+        div {
+            display: inline-block;
+            text-align: center;
+            margin-right: 20px;
+            cursor: pointer;
+
+            span {
+                display: block;
+                width: 80px;
+                overflow: hidden;
+                padding-top: 10px;
+                margin: 0 10px;
+                overflow: hidden;
+                text-overflow: ellipsis;
+                display: -webkit-box;
+                /* 将对象作为弹性伸缩盒子模型显示 */
+                -webkit-line-clamp: 1;
+                /* 控制最多显示几行 */
+                -webkit-box-orient: vertical;
+                /* 设置或检索伸缩盒对象的子元素的排列方式 */
+            }
+        }
+    }
+
+    .titbox {
+        div {
+            float: right;
+
+            i {
+                font-size: 22px;
+                margin-left: 20px;
+                cursor: pointer;
+            }
+        }
+    }
+
+    .tabbox {
+        margin-top: 15px;
+    }
+
+    .pageBox {
+        text-align: right;
+        margin-top: 10px;
+    }
+
+    .info-line {
+        width: 100%;
+        display: block;
+        padding-left: 20px;
+
+        div {
+            width: 50%;
+            display: inline-block;
+        }
+
+        span {
+            width: 80px;
+            display: inline-block;
+            text-align: left;
+
+            i {
+                color: red;
+                display: inline-block;
+                padding-right: 5px;
+            }
+        }
+
+        .el-select,
+        .el-input {
+            width: calc(100% - 100px);
+        }
+        .tree{
+            width: calc(100% - 100px);
+        }
+    }
+
+    .online {
+        width: 100%;
+
+        .el-select {
+            width: calc(100% - 100px);
+        }
+        span {
+            vertical-align: top;
+        }
+
+        .el-textarea {
+            width: calc(100% - 100px);
+        }
+    }
+</style>

+ 990 - 0
src/pages/main/zqknowledgetop/knowledgeManagement.vue

@@ -0,0 +1,990 @@
+<template>
+  <fullscreen :fullscreen.sync="fullscreen" class="container">
+    <div class="container-box">
+      <toolList @iconCli="iconCli" :tooltit="tooltit"></toolList>
+      <el-row :gutter="20" style="height: 100%">
+        <el-col :span="4" style="height: 100%">
+          <el-input
+            style="margin-top: 20px"
+            placeholder="输入关键字进行过滤"
+            v-model="filterText"
+          >
+          </el-input>
+          <div class="choice-style">
+            <div class="ant-alert-info ant-alert">
+              <i style="color: #1890ff" class="el-icon-warning"></i>当前选择:{{
+                actionName || "无"
+              }}
+              <div class="canel-style" @click="canelChoice" v-show="actionName">
+                取消选择
+              </div>
+            </div>
+          </div>
+          <div class="tree-box">
+            <el-tree
+              class="filter-tree"
+              :data="treeData"
+              node-key="id"
+              :props="defaultProps"
+              default-expand-all
+              :filter-node-method="filterNode"
+              @node-click="checkNode"
+              ref="tree"
+            ><span class="custom-tree-node" slot-scope="{ node }">
+              <span>
+                <span style="color: #009cff" class="iconfont icon-wenjianjia"></span>
+                <!-- <span
+                  v-if="
+                    node.data.hasOwnProperty('children') &&
+                    node.data.children.length > 0
+                  "
+                  style="color: #009cff"
+                  class="iconfont icon-wenjianjia"
+                ></span> -->
+                <!-- <span
+                  v-else
+                  style="color: #fdb441"
+                  class="iconfont icon-wenjian"
+                ></span> -->
+                <span
+                  :style="
+                    node.data.hasOwnProperty('parent')
+                      ? 'font-size:14px;padding-left:5px'
+                      : 'font-size:12px;padding-left:5px'
+                  "
+                  >{{ node.data.title }}</span
+                >
+              </span>
+            </span>
+            </el-tree>
+          </div>
+        </el-col>
+        <el-col :span="20" style="height: 100%">
+          <div class="search">
+            <mySearch
+              :searchList="searchList"
+              @searchInfo="searchInfo"
+            ></mySearch>
+            <el-button
+              class="btn-check"
+              size="medium"
+              type="primary"
+              @click="dialogCheck(1)"
+              >添加
+            </el-button>
+          </div>
+          <div class="tabbox">
+            <el-table
+              height="calc(100% - 40px)"
+              class="com-table"
+              ref="multipleTable"
+              :data="tableData"
+              tooltip-effect="dark"
+              size="small"
+              border
+              style="width: 100%"
+              v-loading="loading"
+              @sort-change="sortChange"
+            >
+              <el-table-column prop="title" show-overflow-tooltip label="标题">
+              </el-table-column>
+              <el-table-column label="发布工号">
+                <template slot-scope="scope">
+                  <span class="">{{ scope.row.handlerId }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column label="发布姓名">
+                <template slot-scope="scope">
+                  <span>{{ $desensitization(scope.row.handler, 1) }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column
+                prop="orgName"
+                show-overflow-tooltip
+                label="发布部门"
+              >
+              </el-table-column>
+              <el-table-column prop="typeName" label="发布类型">
+              </el-table-column>
+              <el-table-column
+                prop="catalogName"
+                show-overflow-tooltip
+                label="归属目录"
+              >
+              </el-table-column>
+              <el-table-column
+                prop="createTime"
+                show-overflow-tooltip
+                label="发布时间"
+                width="140"
+              >
+              </el-table-column>
+              <!-- <el-table-column prop="stsDesc" label="状态"> </el-table-column> -->
+              <el-table-column
+                prop="hits"
+                width="90"
+                label="点击量"
+                sortable="custom"
+              >
+              </el-table-column>
+              <el-table-column label="操作" width="250px" align="center">
+                <template slot-scope="scope">
+                  <el-button
+                    size="mini"
+                    type="success"
+                    @click="collectionHandle(scope.row)"
+                    plain
+                    >{{
+                      scope.row.collection == "0" ? "点击收藏" : "取消收藏"
+                    }}</el-button
+                  >
+                  <el-button
+                    size="mini"
+                    type="primary"
+                    plain
+                    @click="dialogCheck(2, scope.row)"
+                    >查看</el-button
+                  >
+                  <el-button
+                    size="mini"
+                    v-if="scope.row.sts != 1"
+                    type="primary"
+                    plain
+                    @click="dialogCheck(3, scope.row)"
+                    >修改</el-button
+                  >
+                  <el-button
+                    size="mini"
+                    v-if="scope.row.sts != 1"
+                    type="danger"
+                    plain
+                    @click="delLine(scope.row)"
+                  >
+                    删除</el-button
+                  >
+                </template>
+              </el-table-column>
+            </el-table>
+            <el-pagination
+              class="pageBox"
+              @current-change="currchange"
+              layout="prev, pager, next"
+              background
+              :total="total"
+            >
+            </el-pagination></div
+        ></el-col>
+      </el-row>
+
+      <el-dialog
+        :title="titname + '知识'"
+        :visible.sync="dialogStatus"
+        width="50%"
+        :close-on-press-escape="false"
+        :show-close="true"
+        :fullscreen="fullscreen"
+        :before-close="closedia"
+        :destroy-on-close="true"
+        :modal-append-to-body="false"
+        :close-on-click-modal="false"
+      >
+        <div slot="title">
+          <div>
+            {{ titname + "知识"
+            }}<i
+              class="el-icon-full-screen"
+              style="float: right; margin-right: 30px"
+              @click="
+                () => {
+                  fullscreen = !fullscreen;
+                }
+              "
+            ></i>
+          </div>
+        </div>
+        <div v-loading="loadinged">
+          <el-form
+            v-if="titname != '查看'"
+            :model="infolist"
+            :style="fullscreen ? '' : 'height: 50vh; overflow-y: scroll'"
+            ref="infolist"
+            :rules="rules"
+          >
+            <div class="info-line">
+              <el-form-item prop="title">
+                <span>标题</span>
+                <el-input v-model="infolist.title" placeholder="标题">
+                </el-input>
+              </el-form-item>
+              <el-form-item prop="type">
+                <span>发布类型</span>
+                <el-select
+                  :popper-append-to-body="false"
+                  v-model="infolist.type"
+                  placeholder="发布类型"
+                  clearable
+                  @change="verifcheck(1)"
+                >
+                  <el-option
+                    v-for="item in knowledge.type.options"
+                    :key="item.dataCode"
+                    :label="item.dataName"
+                    :value="item.dataCode"
+                  >
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </div>
+            <el-form-item prop="catalogName" class="info-line online">
+              <span>目录</span>
+              <div class="treebox">
+                <el-select
+                  v-model="infolist.catalogName"
+                  placeholder="请选择报表路径"
+                  ref="selectReport"
+                >
+                  <el-option
+                    style="height:auto;background-color:#fff"
+                    :value="infolist.catalogName"
+                    :label="infolist.catalogName"
+                  >
+                    <el-tree
+                      :data="treeData"
+                      :props="defaultProps"
+                      @node-click="nodeClick"
+                    ></el-tree>
+                  </el-option>
+                </el-select>
+              </div>
+              <!-- <div class="treebox tree">
+                <p style="padding-left: 10px">
+                  当前选择: <span>{{ infolist.catalogName }}</span>
+                </p>
+                <el-tree
+                  class="tree"
+                  :data="treeData"
+                  node-key="id"
+                  :props="defaultProps"
+                  @node-click="nodeClick"
+                ></el-tree>
+              </div> -->
+            </el-form-item>
+            <el-form-item class="info-line online" prop="text">
+              <span>内容</span>
+              <p-editor-tiny
+                imgType="upload"
+                v-model="infolist.text"
+              ></p-editor-tiny>
+            </el-form-item>
+            <div style="padding-left: 80px">
+              <myUpload
+                @uploadBack="uploadBack"
+                :fileInfo="fileInfo"
+                :fileList="fileInfo.fileList"
+              >
+              </myUpload>
+            </div>
+          </el-form>
+          <div v-loading="loadinged" v-else>
+            <h3 style="text-align: center; margin: 10px 0">
+              {{ infolist.title }}
+            </h3>
+            <div style="font-size: 12px; color: grey; margin: 10px 0">
+              发布时间:{{ infolist.createTime || "暂无" }} 发布人:{{
+                infolist.handler || "暂无"
+              }}
+            </div>
+            <div v-html="infolist.text"></div>
+            <div style="margin: 10px 0">
+              附件:
+              <uploadDown
+                :datalist="datalist"
+                :dialogStatus="uploadstatus"
+              ></uploadDown>
+            </div>
+          </div>
+          <div class="dialog-footer myfooter">
+            <el-button
+              type="primary"
+              v-if="titname != '查看'"
+              @click="dialogCli(1)"
+              >保 存</el-button
+            >
+            <el-button @click="dialogCli(2)">取 消</el-button>
+          </div>
+        </div>
+      </el-dialog>
+      <myMessage
+        :messTit="messTit"
+        @closeMessage="closeMessage"
+        :centerDialogVisible="centerDialogVisible"
+        v-if="centerDialogVisible"
+      ></myMessage>
+    </div>
+  </fullscreen>
+</template>
+<script>
+import myUpload from "../../../components/upload";
+import uploadDown from "../../../components/uploadDown";
+import mySearch from "../../../components/search";
+import toolList from "../../../components/toolList";
+import myMessage from "../../../components/myMessage.vue";
+export default {
+  components: {
+    myMessage,
+    myUpload,
+    uploadDown,
+    mySearch,
+    toolList,
+    PEditorTiny: () =>
+      import(
+        /* webpackChunkName: "peditor-tiny" */ "../../../components/p-editor-tiny"
+      ),
+  },
+  data() {
+    const catalogName = (rule, value, callback) => {
+      if (!this.infolist.catalogName) {
+        callback(new Error("不能为空"));
+      } else {
+        callback();
+      }
+    };
+    return {
+      actionName: "",
+      htmlS: "",
+      filterText: "",
+      choiceName: "", // 点击树提示当前选择项
+      treeData: [], //  目录树数据
+      defaultProps: {
+        children: "children",
+        label: "title",
+      },
+      fullscreen: false, // 是否全屏控制按钮
+      rules: {
+        type: [
+          {
+            required: true,
+            trigger: "change",
+            message: "请选择类型",
+          },
+        ],
+        title: [
+          {
+            required: true,
+            trigger: "blur",
+            message: "请输入标题",
+          },
+        ],
+        text: [
+          {
+            required: true,
+            trigger: "blur",
+            message: "请输入内容",
+          },
+        ],
+        catalogName: [
+          {
+            required: true,
+            trigger: "blur",
+            message: "请选择目录",
+            validator: catalogName,
+          },
+        ],
+      },
+      tooltit: "知识库管理",
+      fileInfo: {
+        limit: 5,
+        // url: "/market/cknowledgeatt/upload",//"/market/waf/uploadByMinio"
+        url: "/market/waf/uploadByMinio",//"/market/waf/uploadByMinio"
+        fileList: [],
+      },
+      total: 0,
+      pageSize: 1,
+      knowledge: {
+        type: {
+          options: [],
+        },
+      },
+      tableData: [], // 表格数据源
+      dialogStatus: false, // 弹窗开启关闭
+      infolist: {}, // 提交表单数据源
+      typeOptions: [], // 类型数据源
+      titname: "", // 操作名称 -- 新增、修改、查看
+      fileList: [], // 回显附件数据源
+      attList: [], // 修改附件数据源
+      uploadstatus: false,
+      userInfo: {}, // 登录用户信息
+      searchList: [
+        {
+          type: "sel",
+          tit: "类型",
+          value: "",
+          width: "100%",
+          options: [],
+        },
+        {
+          type: "input",
+          tit: "标题",
+          value: "",
+          width: "100%",
+        },
+        {
+          type: "sel",
+          tit: "状态",
+          value: "",
+          width: "100%",
+          options: [
+            {
+              dataCode: "0",
+              dataName: "未收藏",
+            },
+            {
+              dataCode: "1",
+              dataName: "已收藏",
+            },
+          ],
+        },
+      ],
+      params: {},
+      centerDialogVisible: false,
+      messTit: "",
+      dataId: "",
+      loading: false,
+      loadinged: false,
+      datalist: {
+        // url: "/market/compatt/downfile",//"/market/waf/downFileByMinio"
+        url: "/market/waf/downFileByMinio",//"/market/waf/downFileByMinio"
+        type: 2,
+      },
+    };
+  },
+  methods: {
+    canelChoice() {
+      this.params.catalogId = "";
+      this.actionName = "";
+      this.getList(this.params, this.pageSize);
+    },
+    collectionHandle(val) {
+      this.$http({
+        url: "/market/cnewknowledgeZq/collection",
+        method: "post",
+        headers: {
+          "Content-Type": "application/json",
+        },
+        data: {
+          id: val.id,
+          collection: val.collection == "0" ? "1" : "0",
+        },
+      }).then((res) => {
+        if (res.data.result === 1) {
+          this.$message({
+            message: res.data.desc,
+            type: "error",
+          });
+        } else {
+          this.$message({
+            message: "成功",
+            type: "success",
+          });
+          this.getList(this.params, this.pageSize);
+        }
+      });
+    },
+    sortChange(val) {
+      if (val.prop == "hits") {
+        this.params.hits = val.order;
+      }
+      this.getList(this.params, this.pageSize);
+    },
+    checkNode(index, data, node) {
+      this.actionName = data.label;
+      this.searchList.map((item) => {
+        item.value = "";
+      });
+      this.params.type = "";
+      this.params.title = "";
+      this.params.collection = "";
+      this.params.catalogId = data.key;
+      this.getList(this.params, this.pageSize);
+    },
+    // 树筛选
+    filterNode(value, data) {
+      if (!value) return true;
+      return data.title.indexOf(value) !== -1;
+    },
+    // 树点击
+    nodeClick(index, data, node) {
+      this.infolist.catalogName = data.data.title;
+      this.infolist.catalogId = data.data.id;
+      this.$forceUpdate();
+    },
+    // 获取树
+    getTreeData() {
+      this.$http({
+        url: "/market/mkKnowledgeCatalogZq/queryList",
+        method: "post",
+        headers: {
+          "Content-Type": "application/json",
+        },
+        data: {},
+      }).then((res) => {
+        this.treeData = res.data;
+      });
+    },
+    // 关闭弹窗
+    closedia() {
+      this.fullscreen = false;
+      this.infolist = {};
+      this.dialogStatus = false;
+      this.fileInfo.fileList = [];
+      this.getList(this.params, this.pageSize);
+    },
+    // 上传回调
+    uploadBack(v) {
+      console.log(v);
+      this.attList = v;
+    },
+    //搜索数据
+    searchInfo(v) {
+      this.params = {};
+      v[0] ? (this.params.type = v[0]) : "";
+      v[1] ? (this.params.title = v[1]) : "";
+      v[2] ? (this.params.collection = v[2]) : "";
+      this.getList(this.params, this.pageSize);
+    },
+    //获取列表
+    getList(v, n) {
+      this.pageSize = n;
+      this.loading = true;
+      this.tableData = [];
+      this.$http({
+        url: "/market/mkNewknowledgeZq/queryPage",
+        method: "post",
+        headers: {
+          "Content-Type": "application/json",
+          page: '{"pageNo":"' + n + '","pageSize":"10"}',
+        },
+        data: v,
+      }).then((res) => {
+        this.tableData = res.data.data;
+        this.total = res.data.totalRecord;
+        this.loading = false;
+      });
+    },
+    //字典类型
+    getListype(v) {
+      this.$http({
+        url: "/market/mkKnowledgePubMsgTypeZq/queryList",
+        method: "post",
+        headers: {
+          "Content-Type": "application/json",
+        },
+        data: {
+          dictCode: "pubType",
+        },
+      }).then((res) => {
+        let listopt = [];
+        res.data.forEach((item) => {
+          listopt.push({
+            dataCode: item.id,
+            dataName: item.pubType,
+          });
+        });
+        this.searchList[0].options = listopt;
+        this.knowledge.type.options = listopt;
+      });
+    },
+    //功能栏
+    iconCli(v) {
+      if (v === 1) {
+        this.getList(this.params, this.pageSize);
+      }
+      if (v === 2) {
+        this.fullscreen = !this.fullscreen;
+        // let isFullscreen =
+        //   document.body.scrollHeight == window.screen.height &&
+        //   document.body.scrollWidth == window.screen.width;
+        // if (!isFullscreen) {
+        //   this.requestFullscreen();
+        // } else {
+        //   this.exitFullscreen();
+        // }
+      }
+    },
+    // 全屏
+    requestFullscreen() {
+      const element = element || document.documentElement;
+      if (element.requestFullscreen) {
+        element.requestFullscreen();
+      } else if (element.msRequestFullscreen) {
+        element.msRequestFullscreen();
+      } else if (element.mozRequestFullScreen) {
+        element.mozRequestFullScreen();
+      } else if (element.webkitRequestFullscreen) {
+        element.webkitRequestFullscreen();
+      }
+    },
+    // 退出全屏
+    exitFullscreen() {
+      const element = element || document.documentElement;
+      if (document.exitFullscreen) {
+        document.exitFullscreen();
+      } else if (document.msExitFullscreen) {
+        document.msExitFullscreen();
+      } else if (document.mozCancelFullScreen) {
+        document.mozCancelFullScreen();
+      } else if (document.webkitCancelFullScreen) {
+        document.webkitCancelFullScreen();
+      }
+    },
+    // 分页
+    currchange(v) {
+      this.pageSize = v;
+      this.getList(this.params, this.pageSize);
+    },
+    //查看 修改 新增
+    dialogCheck(v, n) {
+      this.dialogStatus = true;
+      this.infolist = {};
+      if (v === 1) {
+        this.titname = "新建";
+        this.infolist = {};
+        this.getUser();
+        return;
+      } else if (v === 2) {
+        this.titname = "查看";
+        this.loadinged = true;
+      } else if (v === 3) {
+        this.titname = "修改";
+        this.loadinged = true;
+      }
+      this.$http({
+        url: "/market/cnewknowledgeZq/queryInfo",
+        method: "post",
+        headers: {
+          "Content-Type": "application/json",
+        },
+        data: {
+          id: n.id,
+        },
+      }).then((res) => {
+        this.datalist.attList = res.data.attList;
+        this.uploadstatus = true;
+        this.infolist = res.data;
+        this.fileInfo.fileList = [];
+        this.attList = [];
+        res.data.attList.forEach((item) => {
+          this.fileInfo.fileList.push({
+            name: item.fileName,
+            url: "",
+            id: item.id,
+            fileName: item.fileName,
+            fileCode: item.fileCode,
+            opName: item.opName,
+            opNo: item.opNo,
+            opTime: item.opTime,
+          });
+          this.attList.push({
+            name: item.fileName,
+            url: "",
+            id: item.id,
+            fileName: item.fileName,
+            fileCode: item.fileCode,
+            opName: item.opName,
+            opNo: item.opNo,
+            opTime: item.opTime,
+          });
+        });
+        this.loadinged = false;
+      });
+    },
+    //添加 修改
+    dialogCli(v) {
+      this.uploadstatus = false;
+      this.fileInfo.fileList = [];
+      if (v === 2) {
+        this.getUser();
+        this.dialogStatus = false;
+        this.getList(this.params, this.pageSize);
+        return;
+      }
+      if (this.titname === "新建") {
+        this.submitInfo("/market/cnewknowledgeZq/addSave", v);
+      } else if (this.titname === "修改") {
+        this.submitInfo("/market/cnewknowledgeZq/update ", v);
+      }
+    },
+    submitInfo(u, v) {
+      this.$refs.infolist.validate((valid) => {
+        if (valid) {
+          let attList = [];
+          for (let i = 0; i < this.attList.length; i++) {
+            attList.push({
+              id: this.attList[i].id,
+              fileCode: this.attList[i].fileCode,
+              fileName: this.attList[i].fileName,
+              opName: this.attList[i].opName,
+              opNo: this.attList[i].opNo,
+              opTime: this.attList[i].opTime,
+            });
+          }
+          this.loadinged = true;
+          this.$http({
+            url: u,
+            method: "post",
+            headers: {
+              "Content-Type": "application/json",
+            },
+            data: {
+              newKnowleDge: this.infolist,
+              attList: attList,
+            },
+          }).then((res) => {
+            this.loadinged = false;
+            if (res.data.result === 1) {
+              this.$message({
+                message: res.data.desc,
+                type: "error",
+              });
+            } else {
+              this.$message({
+                message: "成功",
+                type: "success",
+              });
+              this.fileInfo.fileList = [];
+              this.infolist = {};
+              this.dialogStatus = false;
+              this.getList(this.params, this.pageSize);
+            }
+          });
+        }
+      });
+    },
+    //处理所需数据
+    verifcheck(v) {
+      if (v === 1) {
+        for (let i = 0; i < this.knowledge.type.options.length; i++) {
+          if (this.knowledge.type.options[i].dataCode == this.infolist.type) {
+            this.infolist.typeName = this.knowledge.type.options[i].dataName;
+          }
+        }
+      }
+    },
+    //删除
+    delLine(val) {
+      this.centerDialogVisible = true;
+      this.messTit = "即将删除此条数据, 是否删除?";
+      this.dataId = val.id;
+    },
+    closeMessage(v) {
+      this.centerDialogVisible = false;
+      if (v === 1) {
+        this.$http({
+          url: "/market/cnewknowledgeZq/delete",
+          method: "post",
+          headers: {
+            "Content-Type": "application/json",
+          },
+          data: { id: this.dataId },
+        }).then((res) => {
+          this.$message({
+            message: "删除成功",
+            type: "success",
+          });
+          this.getList(this.params, this.pageSize);
+        });
+      }
+    },
+    getUser() {
+      this.userInfo = JSON.parse(window.sessionStorage.userInfo);
+      this.infolist = {};
+      this.infolist.handler = this.userInfo.loginNo;
+      this.infolist.orgId = this.userInfo.groupId;
+      this.infolist.orgName = this.userInfo.groupName;
+      this.infolist.handlerId = this.userInfo.loginName;
+    },
+  },
+  watch: {
+    filterText(val) {
+      this.$refs.tree.filter(val);
+    },
+  },
+  mounted() {
+    this.getList(this.params, this.pageSize);
+    this.getListype();
+    this.getUser();
+    this.getTreeData();
+  },
+  created() {},
+};
+</script>
+<style>
+.el-select-dropdown__item {
+  /* padding: 0 !important; */
+}
+</style>
+<style scoped lang="scss">
+@import "../../../assets/style";
+
+// .iconfont {
+//   font-size: 42px;
+// }
+
+.icon-excel {
+  color: #67db63;
+}
+
+.icon-word {
+  color: #ff654e;
+}
+
+.icon-ppt {
+  color: #ff8943;
+}
+
+.icon-wenjian {
+  color: #ccc;
+}
+.tinymce-editor {
+  width: calc(100% - 100px) !important;
+}
+.el-icon-picture {
+  font-size: 36px;
+  color: #ccc;
+  background: #fff;
+  padding: 4px 2px;
+  margin-bottom: 2px;
+}
+.el-icon-full-screen {
+  cursor: pointer;
+}
+.back-box {
+  margin-top: 20px;
+  background: #f2f2f2;
+  padding: 20px;
+
+  div {
+    display: inline-block;
+    text-align: center;
+    margin-right: 20px;
+    cursor: pointer;
+
+    span {
+      display: block;
+      width: 80px;
+      overflow: hidden;
+      padding-top: 10px;
+      margin: 0 10px;
+      overflow: hidden;
+      text-overflow: ellipsis;
+      display: -webkit-box;
+      /* 将对象作为弹性伸缩盒子模型显示 */
+      -webkit-line-clamp: 1;
+      /* 控制最多显示几行 */
+      -webkit-box-orient: vertical;
+      /* 设置或检索伸缩盒对象的子元素的排列方式 */
+    }
+  }
+}
+.tree-box {
+  height: calc(100% - 170px);
+  overflow: auto;
+  border: 1px solid #dcdfe6;
+  border-top: none;
+}
+
+.titbox {
+  div {
+    float: right;
+
+    i {
+      font-size: 22px;
+      margin-left: 20px;
+      cursor: pointer;
+    }
+  }
+}
+
+.tabbox {
+  margin-top: 15px;
+}
+
+.pageBox {
+  text-align: right;
+  margin-top: 10px;
+}
+
+.info-line {
+  width: 100%;
+  display: block;
+  padding-left: 20px;
+
+  div {
+    width: 50%;
+    display: inline-block;
+  }
+
+  span {
+    width: 80px;
+    display: inline-block;
+    text-align: left;
+
+    i {
+      color: red;
+      display: inline-block;
+      padding-right: 5px;
+    }
+  }
+
+  .el-select,
+  .el-input {
+    width: calc(100% - 100px);
+  }
+  .tree {
+    width: calc(100% - 100px);
+  }
+}
+
+.online {
+  width: 100%;
+
+  .el-select {
+    width: calc(100% - 100px);
+  }
+
+  span {
+    vertical-align: top;
+  }
+
+  .el-textarea {
+    width: calc(100% - 100px);
+  }
+}
+.choice-style {
+  background: rgb(255, 255, 255);
+}
+.ant-alert-info {
+  background-color: #e6f7ff;
+  border: 1px solid #91d5ff;
+}
+.ant-alert {
+  box-sizing: border-box;
+  margin: 0;
+  padding: 0;
+  color: rgb(0, 0, 0);
+  font-size: 14px;
+  font-variant: tabular-nums;
+  line-height: 1.5;
+  list-style: none;
+  font-feature-settings: "tnum";
+  position: relative;
+  padding: 5px 0;
+  word-wrap: break-word;
+  border-radius: 4px;
+}
+.canel-style {
+  color: #1890ff;
+  cursor: pointer;
+  padding-left: 10px;
+}
+</style>

+ 374 - 0
src/pages/main/zqknowledgetop/knowledgeType.vue

@@ -0,0 +1,374 @@
+<template>
+
+    <fullscreen :fullscreen.sync="fullscreen" class="container">
+        <div class="container-box">
+            <toolList @iconCli='iconCli' :tooltit='tooltit'></toolList>
+            <div class="search">
+                <mySearch :searchList="searchList" @searchInfo="searchInfo"></mySearch>
+                <el-button class="btn-check" size="medium" type="primary" @click="dialogCheck(3)">添加
+                </el-button>
+            </div>
+            <div class="tabbox">
+                <el-table height="calc(100% - 40px)" class="com-table" ref="multipleTable" :data="tableData"
+                    tooltip-effect="dark" size="small" border style="width: 100%" v-loading="loading">
+                    <el-table-column prop="pubType" label="知识类型">
+                    </el-table-column>
+                    <el-table-column prop="createName" label="配置姓名">
+                        <template slot-scope="scope">
+                            <span>{{$desensitization(scope.row.createName,1)}}</span>
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="createNo" label="配置工号">
+                        <template slot-scope="scope">
+                            <span class="">{{scope.row.createNo}}</span>
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="createTime" label="配置时间">
+                    </el-table-column>
+                    <el-table-column label="操作" width="160px" align="center">
+                        <template slot-scope="scope">
+                            <el-button size="mini" type="primary" @click="dialogCheck(1,scope.row)">查看</el-button>
+                            <el-button size="mini" type="primary" @click="dialogCheck(2,scope.row)">修改</el-button>
+                            <el-button size="mini" type="danger" @click="delLine(scope.row)">删除</el-button>
+                        </template>
+                    </el-table-column>
+                </el-table>
+                <el-pagination class="pageBox" @current-change="currchange" layout="prev, pager, next" background
+                    :total="total">
+                </el-pagination>
+            </div>
+        </div>
+
+        <el-dialog :title="titname + '知识类型'" :visible.sync="dialogStatus" width="50%" :destroy-on-close="true"
+            :modal-append-to-body="false" :close-on-click-modal="false" :before-close="closedia">
+            <div v-loading="loadinged">
+                <el-form :model="infolist" ref="infolist" :rules="rules">
+                    <div class="info-line">
+                        <el-form-item prop="pubType">
+                            <span>知识类型</span>
+                            <el-input v-model="infolist.pubType" placeholder="知识类型" :disabled="disableStatus"></el-input>
+                        </el-form-item>
+                        <el-form-item>
+                            <span>创建时间</span>
+                            <el-date-picker v-model="infolist.createTime" type="date" placeholder="创建时间" disabled>
+                            </el-date-picker>
+                        </el-form-item>
+                    </div>
+
+                    <div class="info-line">
+                        <el-form-item>
+                            <span>创建工号</span>
+                            <el-input v-model="infolist.createNo" placeholder="创建工号" disabled></el-input>
+                        </el-form-item>
+                        <el-form-item>
+                            <span>创建姓名</span>
+                            <el-input v-model="infolist.createName" placeholder="" disabled></el-input>
+                        </el-form-item>
+                    </div>
+                </el-form>
+
+                <div slot="footer" class="dialog-footer myfooter">
+                    <el-button type="primary" @click="dialogCli(2)" v-if="titname !== '查看'">确 定</el-button>
+                    <el-button @click="dialogCli(1)" v-if="titname === '查看'">确 定</el-button>
+                    <el-button @click="dialogCli(1)">取 消</el-button>
+                </div>
+            </div>
+        </el-dialog>
+
+        <myMessage :messTit='messTit' @closeMessage="closeMessage" :centerDialogVisible="centerDialogVisible" v-if="centerDialogVisible"></myMessage>
+    </fullscreen>
+
+</template>
+<script>
+    import mySearch from "../../../components/search.vue";
+    import myUpload from '../../../components/upload'
+    import myMessage from "../../../components/myMessage.vue"
+    import toolList from '../../../components/toolList'
+
+    export default {
+        components: {
+            mySearch,
+            myUpload,
+            myMessage,
+            toolList
+        },
+        data() {
+            const pubType = (rule, value, callback) => {
+                if (!this.infolist.pubType) {
+                    callback(new Error('不能为空'))
+                } else {
+                    callback()
+                }
+            }
+            return {
+                rules: {
+                    pubType: [{
+                        required: true,
+                        trigger: 'blur',
+                        validator: pubType
+                    }],
+                },
+                searchList: [
+                    {
+                        type: 'input',
+                        tit: '知识类型',
+                        value: '',
+                        width: '98%',
+                    },
+                ],
+                tooltit:'知识类型管理',
+                fullscreen: false,
+                total: 0,
+                pageSize: 1,
+                tableData: [{}],
+                dialogStatus: false,
+                disableStatus: false,
+                titname: '',
+                infolist: {},
+                userInfo: {},
+                params: {},
+                centerDialogVisible: false,
+                messTit: '',
+                delid: '',
+                loading:false,
+                loadinged:false,
+            }
+        },
+        methods: {
+            closedia() {
+                this.infolist = {};
+                this.dialogStatus = false;
+            },
+            //搜索数据
+            searchInfo(v) {
+                this.params = {};
+                v[0] ? this.params.pubType = v[0] : '';
+                this.getList(this.params, this.pageSize);
+            },
+            //获取列表
+            getList(v, n) {
+                this.pageSize = n;
+                let _this = this;
+                this.loading = true;
+                this.tableData = [];
+                this.$http({
+                    url: "/market/mkKnowledgePubMsgTypeZq/queryPage",
+                    method: "post",
+                    headers: {
+                        "Content-Type": "application/json",
+                        "page": '{"pageNo":"' + n + '","pageSize":"10"}'
+                    },
+                    data: v,
+                }).then((res) => {
+                    this.tableData = res.data.data;
+                    this.total = res.data.totalRecord;
+                    this.loading = false;
+                });
+            },
+            // 分页
+            currchange(v) {
+                this.pageSize = v;
+                this.getList(this.params, this.pageSize);
+            },
+            //申请
+            dialogCheck(v, n) {
+                this.dialogStatus = true;
+                this.infolist = Object.assign({}, n);
+                this.infolist.createNo = this.userInfo.loginNo;
+                this.infolist.createName = this.userInfo.loginName;
+                if (v === 1) {
+                    this.titname = '查看';
+                    this.disableStatus = true;
+                } else if (v === 2) {
+                    this.titname = '修改';
+                    this.disableStatus = false;
+                } else if (v === 3) {
+                    this.titname = '添加';
+                    this.disableStatus = false;
+                    return
+                }
+                this.infolist.createName = this.$desensitization(this.infolist.createName,1);
+            },
+            //添加
+            dialogCli(v) {
+                if (v === 1) {
+                    this.infolist = {};
+                    this.dialogStatus = false;
+                    return
+                } else {
+                    this.infolist.createNo = this.userInfo.loginNo;
+                    this.infolist.createName = this.userInfo.loginName;
+                    this.infolist.createTime = this.$formatDate(new Date(), "YYYY-MM-DD");
+                    if (this.titname === '添加') {
+                        this.submitInfo("/market/cpubMsgZqType/add");
+                    } else if (this.titname === '修改') {
+                        this.submitInfo("/market/mkKnowledgePubMsgTypeZq/update", v);
+                    }
+
+                }
+            },
+            submitInfo(u) {
+                let _this = this;
+                this.$refs.infolist.validate(valid => {
+                    if (valid) {
+                        this.loadinged = true;
+                        this.$http({
+                            url: u,
+                            method: "post",
+                            headers: {
+                                "Content-Type": "application/json",
+                            },
+                            data: this.infolist,
+                        }).then((res) => {
+                            this.loadinged = false;
+                            if (res.data.result === 1) {
+                                _this.$message({
+                                    message: res.data.desc,
+                                    type: 'error'
+                                });
+                            } else {
+                                _this.$message({
+                                    message: '成功',
+                                    type: 'success'
+                                });
+                                _this.infolist = {};
+                                _this.dialogStatus = false;
+                                _this.getList({}, _this.pageSize);
+                            }
+
+                        });
+                    }
+                })
+            },
+            closeMessage(v) {
+                this.centerDialogVisible = false;
+                let _this = this;
+                if (v === 1) {
+                    _this.$http({
+                        url: "/market/mkKnowledgePubMsgTypeZq/del",
+                        method: "post",
+                        headers: {
+                            "Content-Type": "application/json",
+                        },
+                        data: {
+                            id: this.delid
+                        },
+                    }).then((res) => {
+                        if (res.data.result === 1) {
+                            _this.$message({
+                                message: res.data.desc,
+                                type: 'error'
+                            });
+                        } else {
+                            _this.$message({
+                                message: '删除成功',
+                                type: 'success'
+                            });
+                            _this.getList(this.params, this.pageSize);
+                        }
+                    });
+                }
+            },
+            //删除
+            delLine(v) {
+                this.centerDialogVisible = true;
+                this.messTit = '即将删除此条数据, 是否删除?';
+                this.delid = v.id;
+            },
+            //文件返回值
+            uploadBack(v) {
+                console.log(v)
+            },
+            //功能栏
+            iconCli(v) {
+                if (v === 1) {
+                    this.getList(this.params, this.pageSize);
+                }
+                if (v === 2) {
+                    this.fullscreen = !this.fullscreen
+                }
+            },
+            getUser() {
+                this.userInfo = JSON.parse(window.sessionStorage.userInfo);
+            }
+        },
+        mounted() {
+            this.getList({}, 1);
+            this.getUser();
+        },
+        created() {
+
+        }
+    }
+</script>
+<style scoped lang="scss">
+    .onetab {
+        margin-bottom: 20px;
+        padding: 0 20px;
+    }
+
+    .titbox {
+        div {
+            float: right;
+
+            i {
+                font-size: 22px;
+                margin-left: 20px;
+                cursor: pointer;
+            }
+        }
+    }
+
+    .tabbox {
+        margin-top: 15px;
+    }
+
+    .pageBox {
+        text-align: right;
+        margin-top: 10px;
+    }
+
+    .info-line {
+        width: 100%;
+        display: block;
+        padding-left: 20px;
+
+        div {
+            width: 50%;
+            display: inline-block;
+        }
+
+        span {
+            width: 80px;
+            display: inline-block;
+            text-align: left;
+
+            i {
+                color: red;
+                display: inline-block;
+                padding-right: 5px;
+            }
+        }
+
+        .el-select,
+        .el-input {
+            width: calc(100% - 100px);
+        }
+    }
+
+    .online {
+        width: 100%;
+
+        .el-select {
+            width: calc(100% - 100px);
+        }
+
+        span {
+            vertical-align: top;
+        }
+
+        .el-textarea {
+            width: calc(100% - 100px);
+        }
+    }
+</style>

+ 77 - 8
src/router/index.js

@@ -22,12 +22,24 @@ const routes = [{
             component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/onlineOffice/index.vue'], resolve)
         },
         {
-            meta: { name: '在线onlineOfficeExcel', keepAlive: false },
+            meta: { name: '在线onlineOfficeExcel(IT)', keepAlive: false },
             path: '/onlineOfficeExcel',
             name: 'onlineOfficeExcel',
             component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/onlineOfficeExcel/index.vue'], resolve)
         },
         {
+            meta: { name: '在线onlineOfficeExcel(ZQ)', keepAlive: false },
+            path: '/onlineOfficeExcelZQ',
+            name: 'onlineOfficeExcelZQ',
+            component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/onlineOfficeExcelZQ/index.vue'], resolve)
+        },
+        {
+            meta: { name: '在线onlineOfficeExcel(市场)', keepAlive: false },
+            path: '/onlineOfficeExcelSC',
+            name: 'onlineOfficeExcelSC',
+            component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/onlineOfficeExcelSC/index.vue'], resolve)
+        },
+        {
             meta: { name: '绩效', keepAlive: false },
             path: '/performance',
             name: 'performance',
@@ -1240,6 +1252,12 @@ const routes = [{
             component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/fullcalendar/calendarnet'], resolve)
         },
         {
+            meta: { name: '政企工作台日历', keepAlive: true },
+            path: '/calendarZQ',
+            name: 'calendarZQ',
+            component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/fullcalendar/calendarZQ'], resolve)
+        },
+        {
             meta: { name: '公告', keepAlive: false },
             path: '/noticec',
             name: 'noticec',
@@ -1821,6 +1839,57 @@ const routes = [{
         },
         {
             meta: {
+                name: 'ZQ知识库',
+                keepAlive: false
+            },
+            path: '/zqknowledgetop',
+            name: 'zqknowledgetop',
+            component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/zqknowledgetop/index'], resolve)
+        },
+        {
+            meta: {
+                name: 'ZQ知识库',
+                keepAlive: false
+            },
+            path: '/zqknowledgeManagement',
+            name: 'zqknowledgeManagement',
+            component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/zqknowledgetop/knowledgeManagement'], resolve)
+        }, {
+            meta: {
+                name: '新增ZQ知识库',
+                keepAlive: false
+            },
+            path: '/addzqknowledgetop',
+            name: 'addzqknowledgetop',
+            component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/zqknowledgetop/addKnowledge'], resolve)
+        },
+        {
+            meta: {
+                name: 'ZQ知识库目录',
+                keepAlive: false
+            },
+            path: '/zqknowledgeCatalogtop',
+            name: 'zqknowledgeCatalogtop',
+            component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/zqknowledgetop/catalog'], resolve)
+        }, {
+            meta: {
+                name: 'ZQ知识库审核',
+                keepAlive: false
+            },
+            path: '/zqknowledgeExaminetop',
+            name: 'zqknowledgeExaminetop',
+            component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/zqknowledgetop/knowledgeExamine'], resolve)
+        }, {
+            meta: {
+                name: 'ZQ知识库类型',
+                keepAlive: false
+            },
+            path: '/zqknowledgeTypetop',
+            name: 'zqknowledgeTypetop',
+            component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/zqknowledgetop/knowledgeType'], resolve)
+        },
+        {
+            meta: {
                 name: 'IT知识库',
                 keepAlive: false
             },
@@ -2345,49 +2414,49 @@ const routes = [{
                 ['../pages/main/accountPermissions/accountApplication.vue'], resolve)
         },
         {
-            meta: { name:  '系统资源申请', keepAlive: false },
+            meta: { name: '系统资源申请', keepAlive: false },
             path: '/resourceApply',
             name: 'resourceApply',
             component: (resolve) => require( /* webpackChunkName: "system" */
                 ['../pages/main/applyFor/resourceApply.vue'], resolve)
         },
         {
-            meta: { name:  '应急预案审批', keepAlive: false },
+            meta: { name: '应急预案审批', keepAlive: false },
             path: '/emergencyPlan',
             name: 'emergencyPlan',
             component: (resolve) => require( /* webpackChunkName: "system" */
                 ['../pages/main/applyFor/emergencyPlan.vue'], resolve)
         },
         {
-            meta: { name:  '安全审计计划管理', keepAlive: false },
+            meta: { name: '安全审计计划管理', keepAlive: false },
             path: '/securityAudit',
             name: 'securityAudit',
             component: (resolve) => require( /* webpackChunkName: "system" */
                 ['../pages/main/applyFor/securityAudit.vue'], resolve)
         },
         {
-            meta: { name:  '用户使用者变更', keepAlive: false },
+            meta: { name: '用户使用者变更', keepAlive: false },
             path: '/userChange',
             name: 'userChange',
             component: (resolve) => require( /* webpackChunkName: "system" */
                 ['../pages/main/applyFor/userChange.vue'], resolve)
         },
         {
-            meta: { name:  '口令授权', keepAlive: false },
+            meta: { name: '口令授权', keepAlive: false },
             path: '/authoriZation',
             name: 'authoriZation',
             component: (resolve) => require( /* webpackChunkName: "system" */
                 ['../pages/main/applyFor/authoriZation.vue'], resolve)
         },
         {
-            meta: { name:  '互联网端口访问', keepAlive: false },
+            meta: { name: '互联网端口访问', keepAlive: false },
             path: '/internetAccess',
             name: 'internetAccess',
             component: (resolve) => require( /* webpackChunkName: "system" */
                 ['../pages/main/applyFor/internetAccess.vue'], resolve)
         },
         {
-            meta: { name:  '备份需求及变更', keepAlive: false },
+            meta: { name: '备份需求及变更', keepAlive: false },
             path: '/backupRequire',
             name: 'backupRequire',
             component: (resolve) => require( /* webpackChunkName: "system" */