Jelajahi Sumber

Merge branch 'master' of https://git.agilestar.cn/spfm/spfm-market-front into hjw-onlineofficeexcel

hujunwei@agilestar.cn 2 tahun lalu
induk
melakukan
c1d3cda84e
51 mengubah file dengan 30166 tambahan dan 841 penghapusan
  1. 5 2
      public/index.html
  2. TEMPAT SAMPAH
      public/static/file/f.xlsx
  3. TEMPAT SAMPAH
      public/static/file/g.xlsx
  4. TEMPAT SAMPAH
      public/static/file/h.xlsx
  5. 3 2
      src/assets/js/common.js
  6. 14 8
      src/components/deptTreeUserNew.vue
  7. 30 78
      src/components/el-form.vue
  8. 179 0
      src/components/el-formfour.vue
  9. 311 0
      src/components/uploadfour.vue
  10. 21 23
      src/components/workDeptThree.vue
  11. 13 2
      src/components/workflowBase.vue
  12. 10 11
      src/components/workflowBasexcwls.vue
  13. 127 35
      src/config/dev.js
  14. 2 2
      src/http/api.js
  15. 1928 0
      src/pages/main/accountPermissions/accountApplication.vue
  16. 1160 0
      src/pages/main/accountPermissions/accountPermissions.vue
  17. 1426 0
      src/pages/main/accountPermissions/accountdel.vue
  18. 1194 0
      src/pages/main/accountPermissions/aqbgsyList.vue
  19. 1235 0
      src/pages/main/accountPermissions/klhfsqList.vue
  20. 1248 0
      src/pages/main/accountPermissions/rltzjlList.vue
  21. 1563 0
      src/pages/main/accountPermissions/sjkdbList.vue
  22. 1253 0
      src/pages/main/accountPermissions/tyshList.vue
  23. 2 2
      src/pages/main/advertising/index.vue
  24. 143 144
      src/pages/main/advertising/materialApplication.vue
  25. 89 104
      src/pages/main/advertising/materialApplicationadd.vue
  26. 121 138
      src/pages/main/advertising/materialApplicationds.vue
  27. 211 116
      src/pages/main/advertising/materiel.vue
  28. 1420 0
      src/pages/main/applyFor/authoriZation.vue
  29. 1206 0
      src/pages/main/applyFor/backupRequire.vue
  30. 1486 0
      src/pages/main/applyFor/emergencyPlan.vue
  31. 1218 0
      src/pages/main/applyFor/internetAccess.vue
  32. 1219 0
      src/pages/main/applyFor/resourceApply.vue
  33. 1181 0
      src/pages/main/applyFor/securityAudit.vue
  34. 1588 0
      src/pages/main/applyFor/userChange.vue
  35. 12 11
      src/pages/main/bfsj/bfsjList.vue
  36. 860 0
      src/pages/main/firewall/formTable.vue
  37. 983 0
      src/pages/main/firewall/index.vue
  38. 1831 0
      src/pages/main/internetAssessment/internetAssessment.vue
  39. 398 0
      src/pages/main/leader/rli.vue
  40. 60 9
      src/pages/main/memberFamily/dataStatistics.vue
  41. 193 110
      src/pages/main/memberFamily/empInfoFilling.vue
  42. 30 4
      src/pages/main/memberFamily/employeeInfo.vue
  43. 5 2
      src/pages/main/memberFamily/haveInHand.vue
  44. 48 20
      src/pages/main/memberFamily/index.vue
  45. 629 0
      src/pages/main/opcode/formTables.vue
  46. 957 0
      src/pages/main/opcode/index.vue
  47. 1210 0
      src/pages/main/userList/docAppr.vue
  48. 1196 0
      src/pages/main/userList/userList.vue
  49. 1 0
      src/pages/main/workflowdef/index.vue
  50. 146 9
      src/router/index.js
  51. 1 9
      vue.config.js

+ 5 - 2
public/index.html

@@ -9,6 +9,9 @@
   <title>市场经营管理平台</title>
   <script src="static/js/crypoto-js.js"></script>
  
+  <link rel='xlsx' href='./static/f.xlsx' />
+  <link rel='xlsx' href='./static/g.xlsx' />
+  <link rel='xlsx' href='./static/h.xlsx' />
   <link rel='xlsx' href='./static/a.xlsx' />
   <link rel='xlsx' href='./static/b.xlsx' />
   <link rel='xlsx' href='./static/c.xlsx' />
@@ -32,8 +35,8 @@
   <div id="app"></div>
   <!-- built files will be auto injected -->
   <script type="text/javascript">
-    // window.staticHost = 'http://10.230.26.15:8000/mkt/'; // 正式
-    window.staticHost = 'http://10.149.85.91:8000/spfm/'; // 测试
+    window.staticHost = 'http://10.230.26.15:8000/mkt/'; // 正式
+    // window.staticHost = 'http://10.149.85.91:8000/spfm/'; // 测试
     // window.staticHost = 'http://192.168.2.92:9600';
     // window.staticHost = 'http://43.138.50.94:9600/';
 

TEMPAT SAMPAH
public/static/file/f.xlsx


TEMPAT SAMPAH
public/static/file/g.xlsx


TEMPAT SAMPAH
public/static/file/h.xlsx


+ 3 - 2
src/assets/js/common.js

@@ -261,13 +261,14 @@ let common = {
         if (obj.type == 'post') {
             bus.$axios['post'](obj.url + '?t=' + Math.random(), obj.data, header)
                 .then(function (response) {
-                    console.log(response.data)
+                    console.log(response)
                     if (!obj.disableLoading) {
                         loading.close()
                     }
                     if (process.env.VUE_APP_ENV == 'development' || process.env.VUE_APP_ENV == 'devs') {
+                        console.log(11111111111);
                         if (response.code === 1 || response.code == '1') {
-                            bus.$message.success(response.data.message)
+                            bus.$message.success(response.message)
                             loading.close()
                             success(response.data)
                             return response

+ 14 - 8
src/components/deptTreeUserNew.vue

@@ -3,17 +3,20 @@
         <el-input placeholder="输入关键字进行过滤" v-model="filterText"></el-input>
         <el-tree :highlight-current="true" :check-strictly="true" ref="tree" @check-change="handleCheckChange"
             :data="treeList" node-key="id" :default-checked-keys="defaultListc" :default-expanded-keys="defaultListc"
-            @node-click="handleNodeClick" @node-expand="handleNodeClick" :filter-node-method="filterNode">
+            @node-click="handleNodeClick"  :filter-node-method="filterNode">
             <span class="custom-tree-node" slot-scope="{ node, data }" @click="cs(node)">
                 <em style="display: inline-block;width: 20px;" v-if="node.data.haveUserFlag == 'N'&& node.data.children.length == 0"></em>
                 <i class="el-icon-caret-right" v-if="node.data.haveUserFlag == 'Y' && node.data.children.length == 0"></i>
                 <el-checkbox style="margin-right: 10px" v-model="node.checked" v-if="node.data.type == 1"></el-checkbox>
                 <span>{{ node.label }}</span>
+                <!-- @node-expand="handleNodeClick" -->
             </span>
         </el-tree>
     </div>
 </template>
+
 <script>
+import loginInitVue from '../pages/main/userId/loginInit.vue';
     export default {
         props: ["defaultList", "type", "closeList","fillLists"],
         data() {
@@ -112,14 +115,15 @@
                 
                     
                 });
+                // console.log(v.children);
                  
-                    node.childNodes.forEach(m=>{
-                         this.fillLists.forEach(n=>{
-                            if(m.data.loginNoStr == n.fillNo){
-                                m.checked = true
-                            }
-                         })
-                     })
+                    // node.childNodes.forEach(m=>{
+                    //      this.fillLists.forEach(n=>{
+                    //         if(m.data.loginNoStr == n.fillNo){
+                    //             m.checked = true
+                    //         }
+                    //      })
+                    //  })
                      
                 for (let i = 0; i < this.$refs.tree.store._getAllNodes().length; i++) {
                     if (s && v.o == this.$refs.tree.store._getAllNodes()[i].data.o) {
@@ -130,6 +134,8 @@
             },
         },
         created() {
+            console.log(this.fillLists);
+            console.log(this.closeList);
             this.getTree();
             this.defaultListc = this.defaultList;
         },

+ 30 - 78
src/components/el-form.vue

@@ -1,56 +1,24 @@
 <template>
   <div>
     <slot :name="list.name"></slot>
-    <el-table
-      ref="table"
-      style="width: 100%"
-      :data="list.data"
-      :height="list.height + 'px'"
-      :max-height="list.height + 'px'"
-      @row-click="getRowData"
-      @selection-change="selectionChange"
-      empty-text="暂无数据"
-      @cell-click="getRowList"
-      :cell-style="columnbackgroundStyle"
-      :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
-    >
+    <el-table ref="table" style="width: 100%" :data="list.data" :height="list.height + 'px'"
+      :max-height="list.height + 'px'" @row-click="getRowData" @selection-change="selectionChange" empty-text="暂无数据"
+      @cell-click="getRowList" :cell-style="columnbackgroundStyle"
+      :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
       <!-- 是否多选 -->
-      <el-table-column
-        v-if="list.isSelection"
-        :selecttable="list"
-        type="selection"
-        :width="list.width || 50"
-        align="center"
-      />
+      <el-table-column v-if="list.isSelection" :selecttable="list" type="selection" :width="list.width || 50"
+        align="center" />
 
       <!-- 是否需要序号 -->
-      <el-table-column
-        v-if="list.isIndex"
-        type="index"
-        label="序号"
-        width="55"
-        align="center"
-      />
+      <el-table-column v-if="list.isIndex" type="index" label="序号" width="55" align="center" />
       <template v-for="item in list.titledata">
-        <el-table-column
-          :key="item.prop"
-          :prop="item.prop"
-          :label="item.label"
-          align="center"
-          show-overflow-tooltip
-          :width="item.width || 100"
-        />
+        <el-table-column :key="item.prop" :prop="item.prop" :label="item.label" align="center" show-overflow-tooltip
+          :width="item.width || 100" />
       </template>
       <!-- 操作列 -->
-      <el-table-column
-        v-if="list.isOperation"
-        v-bind="list.data && list.data.length ? { fixed: 'right' } : null"
-        style="margin-right: 20px"
-        class-name="handle-td"
-        label-class-name="tc"
-        :label="list.operation.label"
-        align="center"
-      >
+      <el-table-column v-if="list.isOperation" v-bind="list.data && list.data.length ? { fixed: 'right' } : null"
+        style="margin-right: 20px" class-name="handle-td" label-class-name="tc" :label="list.operation.label"
+        align="center">
         <!-- UI统一一排放3个,4个以上出现更多 -->
         <template slot-scope="scope">
           <!-- 三个一排的情况,去掉隐藏的按钮后的长度 -->
@@ -58,23 +26,15 @@
             <div class="btn">
               <div v-for="item in list.operation.data" :key="item.label">
                 <template v-if="item.type !== 'icon'">
-                  <el-button
-                    v-bind="item"
-                    :type="item.type ? item.type : ''"
-                    size="mini"
-                    @click.native.prevent="
-                      item.handleRow(scope.$index, scope.row, item.label)
-                    "
-                  >
+                  <el-button v-bind="item" :type="item.type ? item.type : ''" size="mini" @click.native.prevent="
+                    item.handleRow(scope.$index, scope.row, item.label)
+                  ">
                     {{ item.label }}
                   </el-button>
                 </template>
                 <template v-else>
-                  <i
-                    :class="[icon, item.icon]"
-                    v-bind="item"
-                    @click="item.handleRow(scope.$index, scope.row, item.label)"
-                  />
+                  <i :class="[icon, item.icon]" v-bind="item"
+                    @click="item.handleRow(scope.$index, scope.row, item.label)" />
                 </template>
               </div>
             </div>
@@ -83,28 +43,20 @@
       </el-table-column>
     </el-table>
     <div class="page">
-      <el-pagination
-        style="display: flex; flex-direction: row-reverse"
-        v-if="list.pageData.total > 0"
-        :current-page.sync="page"
-        :page-sizes="
+      <el-pagination style="display: flex; flex-direction: row-reverse" v-if="list.pageData.total > 0"
+        :current-page.sync="page" :page-sizes="
           list.pageData.pageSizes ? list.pageData.pageSizes : [5, 10, 15, 20]
-        "
-        :page-size="list.pageData.pageSize"
-        layout="total, sizes, prev, pager, next, jumper"
-        :total="list.pageData.total"
-        @size-change="handleSizeChange"
-        @current-change="handleCurrentChange"
-      />
+        " :page-size="list.pageData.pageSize" layout="total, sizes, prev, pager, next, jumper"
+        :total="list.pageData.total" @size-change="handleSizeChange" @current-change="handleCurrentChange" />
     </div>
   </div>
 </template>
 
 <script>
 export default {
-  data(){
-    return{
-     page:1
+  data() {
+    return {
+      page: 1
     }
   },
   props: {
@@ -121,11 +73,11 @@ export default {
     columnbackgroundStyle({ row, column, rowIndex, columnIndex }) {
       if (column.type == "default") {
         if (column.type == "default") {
-        if (column.property === "need_name"||column.property === "needName"||column.property === "doc_title"||column.property === "document_title") {
-          return "color:#0682CD;";
+          if (column.property === "need_name" || column.property === "needName" || column.property === "doc_title" || column.property === "document_title" || column.property === "title") {
+            return "color:#0682CD;";
+          }
         }
       }
-      }
     },
     selectionChange(val) {
 
@@ -133,11 +85,11 @@ export default {
       this.$emit("num", val);
     },
     handleAdd(name) {
-     
+
       this.$emit("toolMsg", name);
     },
     handleRow(index, row, lable) {
-     
+
     },
     handleSizeChange(val) {
       this.$emit("changeSize", val);
@@ -159,7 +111,7 @@ export default {
 </script>
 
 <style lang="scss" scoped>
-.btn{
+.btn {
   display: flex;
   justify-content: center;
 }

+ 179 - 0
src/components/el-formfour.vue

@@ -0,0 +1,179 @@
+<template>
+  <div>
+    <slot :name="list.name"></slot>
+    <el-table
+      ref="table"
+      style="width: 100%"
+      :data="list.data"
+      :height="list.height + 'px'"
+      :max-height="list.height + 'px'"
+      @row-click="getRowData"
+      @selection-change="selectionChange"
+      empty-text="暂无数据"
+      @cell-click="getRowList"
+      :cell-style="columnbackgroundStyle"
+      row-key="id"
+      :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
+    >
+      <!-- 是否多选 -->
+      <el-table-column
+        v-if="list.isSelection"
+        :selecttable="list"
+        type="selection"
+        :width="list.width || 50"
+        align="center"
+      />
+
+      <!-- 是否需要序号 -->
+      <el-table-column
+        v-if="list.isIndex"
+        type="index"
+        label="序号"
+        width="55"
+        align="center"
+      />
+      <template v-for="item in list.titledata">
+        <el-table-column
+          :key="item.prop"
+          :prop="item.prop"
+          :label="item.label"
+          align="center"
+          show-overflow-tooltip
+          :width="item.width || 100"
+        />
+      </template>
+      <!-- 操作列 -->
+      <el-table-column
+        v-if="list.isOperation"
+        v-bind="list.data && list.data.length ? { fixed: 'right' } : null"
+        style="margin-right: 20px"
+        class-name="handle-td"
+        label-class-name="tc"
+        :label="list.operation.label"
+        align="center"
+      >
+        <!-- UI统一一排放3个,4个以上出现更多 -->
+        <template slot-scope="scope">
+          <!-- 三个一排的情况,去掉隐藏的按钮后的长度 -->
+          <template v-if="list.operation.data.length > 0">
+            <div class="btn">
+              <div v-for="item in list.operation.data" :key="item.label">
+                <template v-if="item.type !== 'icon'">
+                  <el-button
+                    v-bind="item"
+                    :type="item.type ? item.type : ''"
+                    size="mini"
+                    @click.native.prevent="
+                      item.handleRow(scope.$index, scope.row, item.label)
+                    "
+                  >
+                    {{ item.label }}
+                  </el-button>
+                </template>
+                <template v-else>
+                  <i
+                    :class="[icon, item.icon]"
+                    v-bind="item"
+                    @click="item.handleRow(scope.$index, scope.row, item.label)"
+                  />
+                </template>
+              </div>
+            </div>
+          </template>
+        </template>
+      </el-table-column>
+    </el-table>
+    <div class="page">
+      <el-pagination
+        style="display: flex; flex-direction: row-reverse"
+        v-if="list.pageData.total > 0"
+        :current-page.sync="page"
+        :page-sizes="
+          list.pageData.pageSizes ? list.pageData.pageSizes : [5, 10, 15, 20]
+        "
+        :page-size="list.pageData.pageSize"
+        layout="total,  prev, pager, next, jumper"
+        :total="list.pageData.total"
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+      />
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  data(){
+    return{
+     page:1
+    }
+  },
+  props: {
+    //  表格数据和表格部分属性的对象
+    // eslint-disable-next-line vue/require-default-prop
+    list: {
+      type: Object,
+    },
+  },
+  created() {
+
+  },
+  methods: {
+    // columnbackgroundStyle({ row, column, rowIndex, columnIndex }) {
+    //   if (column.type == "default") {
+    //     if (column.label === "文件标题") {
+    //       return "color:#0682CD;";
+    //     }
+    //   }
+    // },
+    columnbackgroundStyle({ row, column, rowIndex, columnIndex }) {
+      if (column.type == "default") {
+        if (column.type == "default") {
+        // if (column.property === "need_name"||column.property === "needName"||column.property === "doc_title"||column.property === "document_title") {
+        //   return "color:#0682CD;";
+        // }
+        if(columnIndex == 0){
+               return "color:#0682CD;";
+             
+            }
+      }
+      
+      }
+    },
+    selectionChange(val) {
+
+      //多选数字回调
+      this.$emit("num", val);
+    },
+    handleAdd(name) {
+     
+      this.$emit("toolMsg", name);
+    },
+    handleRow(index, row, lable) {
+     
+    },
+    handleSizeChange(val) {
+      this.$emit("changeSize", val);
+      console.log(`每页 ${val} 条`);
+    },
+    handleCurrentChange(val) {
+      this.$emit("changeNum", val);
+      console.log(`当前页: ${val}`);
+    },
+    // 点击行即可选中
+    getRowData(row) {
+      this.$refs.table.toggleRowSelection(row);
+    },
+    getRowList(row, column, event, cell) {
+      this.$emit("clickDemand", column.label, row);
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.btn{
+  display: flex;
+  justify-content: center;
+}
+</style>

+ 311 - 0
src/components/uploadfour.vue

@@ -0,0 +1,311 @@
+<template>
+  <div v-loading="loading">
+    <el-upload
+      class="upload-demo"
+      :drag="fileInfo.type !== 'btn'"
+      multiple
+      :limit="fileInfo.limit"
+      ref="upload"
+      action="string"
+      :on-remove="handleRemove"
+      :on-exceed="handleExceed"
+      :file-list="attList"
+      :auto-upload="true"
+      :show-file-list="fileInfo.type !== 'btn'"
+      :before-upload="deforeUp"
+      :http-request="signUpload"
+      :on-preview="defUp"
+      :disabled="disabled"
+
+    >
+      <div v-if="fileInfo.type !== 'btn'">
+        <i class="el-icon-upload"></i>
+        <div class="el-upload__text">点击上传</div>
+      </div>
+      <div v-if="fileInfo.type === 'btn'">
+        <el-button
+          :size="fileInfo.size ? fileInfo.size : 'medium'"
+          :type="fileInfo.btntype"
+          >{{ fileInfo.typename }}</el-button
+        >
+      </div>
+    </el-upload>
+  </div>
+</template>
+<script>
+export default {
+  // props: ["fileInfo", "fileList", "type"],
+  props: {
+    fileInfo: {
+      type: Object,
+      default: () => {}
+    },
+    fileList: {
+      type: Array,
+      default: () => []
+    },
+    type: {
+      type: Array,
+      default: () => []
+    },
+    disabled: {
+      type: Boolean,
+      default: () => {},
+    },
+  },
+  data() {
+    return {
+      fileLists: [],
+      attList: [
+        // {
+        //   attchFileId: "",
+        //   fileCode: "202209271105276441",
+        //   name: "1231233333333333.xlsx",
+        //   id: "202209271105276441",
+        //   opName: "范岩",
+        //   opNo: "fanyan",
+        //   opTime: "2022-09-27 11:05:27",
+        //   type: 'success',
+        // },
+      ],
+      loading: false,
+      num: 0,
+      s: false,
+    };
+  },
+  // props:{
+  //    disabled: {
+  //     type: Boolean,
+  //     default: () => {},
+  //   },
+  // },
+  methods: {
+    signUpload() {},
+    //删除
+    handleRemove(file) {
+      // console.log(file);
+      // console.log(this.attList);
+      for (let i = 0; i < this.attList.length; i++) {
+        if (this.attList[i].name === file.name) {
+          this.attList.splice(i, 1);
+          
+           
+         
+          // this.$emit("clickDownload",this.attList);
+        }
+      }
+    //  console.log(this.attList)
+    this.$emit("uploadBack", this.attList);
+    },
+   
+    //数量限制
+    handleExceed(files, fileList) {
+      this.$message.warning(
+        `当前限制选择 ${this.fileInfo.limit} 个文件,本次选择了 ${
+          files.length
+        } 个文件,共选择了 ${files.length + fileList.length} 个文件`
+      );
+    },
+    defUp(file){
+        this.$emit("clickDownload",this.attList);
+    },
+    deforeUp(file) {
+      const isLt2M = file.size / 1024 / 1024 < 100;
+      if (!isLt2M) {
+        this.$message.error("上传文件大小不能超过 20MB!");
+        return false;
+      }
+      if (this.fileInfo.type == "img") {
+        const isImg = file.type.split("/")[0] == "image";
+        if (!isImg) {
+          this.$message.error("请上传图片格式文件!");
+          return false;
+        }
+      }
+      if (this.fileInfo.typexz == "ppt") {
+        const isImg = file.name.split(".")[1] == "pptx";
+        // console.log(file.name.split(".")[1] == "pptx");
+        if (!isImg) {
+          this.$message.error("请上传ppt格式文件!");
+          return false;
+        }
+      }
+      if (this.fileInfo.typexz == "csv") {
+        const isImg = file.name.split(".")[1] == "csv";
+        if (!isImg) {
+          this.$message.error("请上传csv格式文件!");
+          return false;
+        }
+      }
+      if (this.fileInfo.typexz == "xlsx") {
+        const isImg = file.name.split(".")[1] == "xlsx";
+        if (!isImg) {
+          this.$message.error("请上传xlsx格式文件!");
+          return false;
+        }
+      }
+      this.loading = true;
+      let query = new FormData();
+      query.append("file", file);
+      if (this.fileInfo.typename == "新增素材") {
+        query.append("advType", this.fileInfo.advType);
+        query.append("advTypeName", this.fileInfo.advTypeName);
+      }
+      if (
+        this.fileInfo.url == "/market/cIllegalCallTask/importTempByProv" ||
+        this.fileInfo.url ==
+          "/market/cChannelInfo/cIllegalCallTask/importTempByProv"
+      ) {
+        query.append("taskId", this.fileInfo.taskId);
+        query.append("tempId", this.fileInfo.tempId);
+      }
+      //违规外呼
+      if (this.fileInfo.uploadType == "outCall") {
+        query.append("uploadType", "outCall");
+        query.append("relId", this.fileInfo.relId);
+      }
+      if (this.fileInfo.uploadType == "train") {
+        query.append("uploadType", "train");
+        query.append("relId", this.fileInfo.relId);
+      }
+      //运营类项目考核及结算
+      if (this.fileInfo.url == "/market/cmkAttachInfo/upload") {
+        query.append("uploadType", this.fileInfo.uploadType);
+      }
+      if (this.fileInfo.url == "/market/cStoreOutWo/importData") {
+        query.append("woNo", this.fileInfo.woNo);
+      }
+      if (this.fileInfo.url == "/market/cStoreScheTrainEva/importDataEva") {
+        query.append("evaId", this.fileInfo.evaId);
+      }
+      this.num++;
+      let _this = this;
+      this.$http({
+        url: this.fileInfo.url,
+        method: "post",
+        headers: {
+          "Content-Type": "application/json",
+        },
+        data: query,
+      })
+        .then((res) => {
+          if (this.fileInfo.type === "btn") {
+            this.$refs["upload"].clearFiles();
+            this.$emit("uploadBack", res);
+            
+            this.$emit("clickDownload",res);
+            if (res.data.result == 0) {
+              this.$emit("onSuccess", file);
+              _this.$message({
+                message: res.data.desc,
+                type: "success",
+              });
+            } else if (res.data.result == 1) {
+              _this.$message({
+                message: res.data.desc,
+                type: "error",
+              });
+            } else if (res.data.result == 2) {
+              _this.$message({
+                message: res.data.desc,
+                type: "warning",
+              });
+            } else if (res.data.result == 3) {
+              _this.$message({
+                message: res.data.desc,
+                type: "info",
+              });
+            } else {
+              _this.$message({
+                message: res.data.desc,
+                type: "success",
+              });
+            }
+            this.num--;
+            if (this.num == 0) {
+              this.loading = false;
+            }
+            return;
+          }
+          if (this.fileInfo.type === "voice") {
+            this.attList = res.data;
+          } else {
+            this.attList.push({
+              id: res.data.body.id,
+              name: res.data.body.fileName,
+              fileCode: res.data.body.fileCode,
+              opName: res.data.body.opName,
+              opNo: res.data.body.opNo,
+              opTime: res.data.body.opTime,
+              attchFileId: res.data.body.attchFileId,
+              type: res.data.body.type,
+            });
+          }
+          this.$emit("uploadBack", this.attList);
+          // this.$emit("clickDownload",this.attList);
+          this.num--;
+          if (this.num == 0) {
+            this.loading = false;
+          }
+          return true;
+        })
+        .catch((res) => {
+          this.$message({
+            message: file.name + "上传失败",
+            type: "error",
+          });
+          this.num--;
+          if (this.num == 0) {
+            this.loading = false;
+          }
+          for (let i = 0; i < this.$refs["upload"].uploadFiles.length; i++) {
+            if (file.name == this.$refs["upload"].uploadFiles[i].name) {
+              this.$refs["upload"].uploadFiles.splice(i, 1);
+            }
+          }
+          return false;
+        });
+    },
+  },
+  mounted() {},
+  created() {
+    this.attList = [];
+    // console.log(this.fileList);
+    if(this.fileList){
+      for (let i = 0; i < this.fileList.length; i++) {
+        this.attList.push({
+            id: this.fileList[i].id,
+            name: this.fileList[i].fileName,
+            fileCode: this.fileList[i].fileCode,
+            opName: this.fileList[i].opName,
+            opNo: this.fileList[i].opNo,
+            opTime: this.fileList[i].opTime,
+            attchFileId: this.fileList[i].attchFileId,
+            type: this.fileList[i].type,
+        })
+    }
+    }
+    
+    // console.log(this.attList);
+  },
+  watch: {
+    fileList() {
+      this.attList = [];
+      for (let i = 0; i < this.fileList.length; i++) {
+        this.attList.push({
+          id: this.fileList[i].id,
+          name: this.fileList[i].fileName,
+          fileCode: this.fileList[i].fileCode,
+          opName: this.fileList[i].opName,
+          opNo: this.fileList[i].opNo,
+          opTime: this.fileList[i].opTime,
+          attchFileId: this.fileList[i].attchFileId,
+          type: this.fileList[i].type,
+        });
+      }
+    },
+  },
+};
+</script>
+<style scoped lang="scss">
+</style>

+ 21 - 23
src/components/workDeptThree.vue

@@ -11,8 +11,6 @@
       node-key="id"
       :default-checked-keys="defaultListc"
       :default-expanded-keys="defaultListc"
-      @node-click="handleNodeClick"
-      @node-expand="handleNodeClick"
     >
       <span
         class="custom-tree-node"
@@ -113,27 +111,27 @@ export default {
       ) {
         return;
       }
-      this.$http({
-        url: "/sysmgr/sysuserinfo/queryList",
-        method: "post",
-        headers: {
-          "Content-Type": "application/json",
-        },
-        data: {
-          groupId: v.o,
-        },
-      }).then((res) => {
-        res.data.forEach((item) => {
-          v.children.push({
-            id: item.id,
-            label: item.loginNameStr,
-            type: 1,
-            displayname: v.displayname,
-            groupId: item.groupId,
-            loginNoStr: item.loginNoStr,
-          });
-        });
-      });
+      // this.$http({
+      //   url: "/sysmgr/sysuserinfo/queryList",
+      //   method: "post",
+      //   headers: {
+      //     "Content-Type": "application/json",
+      //   },
+      //   data: {
+      //     groupId: v.o,
+      //   },
+      // }).then((res) => {
+      //   res.data.forEach((item) => {
+      //     v.children.push({
+      //       id: item.id,
+      //       label: item.loginNameStr,
+      //       type: 1,
+      //       displayname: v.displayname,
+      //       groupId: item.groupId,
+      //       loginNoStr: item.loginNoStr,
+      //     });
+      //   });
+      // });
       for (let i = 0; i < this.$refs.tree.store._getAllNodes().length; i++) {
         if (s && v.o == this.$refs.tree.store._getAllNodes()[i].data.o) {
           this.$refs.tree.store._getAllNodes()[i].expanded = true;

+ 13 - 2
src/components/workflowBase.vue

@@ -77,7 +77,7 @@
     </div>
     <div class="flex-footer-botton">
       <div class="flex-button">
-        <el-button type="primary" @click="submitWork()">提交</el-button>
+        <el-button type="primary" @click="submitWork()" :loading="buttonLoading">提交</el-button>
       </div>
     </div>
     <el-dialog title="修改常用意见" :visible.sync="editStatus" width="100%" :before-close="editCloses" :modal="false"
@@ -105,6 +105,7 @@ export default {
   data() {
     return {
       active: "",
+      buttonLoading: false, //按钮loadding
       manyPeopleStatus: false, //多人处理下发任务
       editStatus: false, //常用意见控制
       transferStatus: false, //转派按钮控制
@@ -212,6 +213,7 @@ export default {
       }
     },
     submitWork() {
+      this.buttonLoading = true
       //多人会签处理环节
       let list = {
         userId: JSON.parse(window.sessionStorage.userInfo).loginNo, //人员id
@@ -274,6 +276,8 @@ export default {
           }
           if (this.isLastManStatus == true) {
             list.lastman = "yes";
+            list.lastManDecision = "yes";
+            list.resourceId = this.nodes.currentShape[0].resourceId
           }
           if (this.nodes.currentShape) {
             list.resolution = this.nodes.currentShape[0].condition.resolution;
@@ -314,6 +318,7 @@ export default {
       });
     },
     async nextWork(list) {
+      console.log(list);
       //e:yes||no,list:传入数组,title:结束标签,res:驳回标签,id:工单更新id
       let _this = this;
       let copylist = list
@@ -334,6 +339,7 @@ export default {
       await this.common.httpPost(obj, success);
       function success(data) {
         if (data != null) {
+          console.log(123);
           if (_this.TransferStatus === true) {
             let list = {
               taskId: data.taskid,
@@ -361,6 +367,9 @@ export default {
             _this.setUpdate(list);
           }
         } else {
+          console.log(_this.list.id);
+          console.log(_this.requestForm.processDefinitionKey);
+          console.log(456);
           let list = {
             taskName: "结束",
             id: _this.list.id,
@@ -380,6 +389,7 @@ export default {
         data: e,
       }).then((res) => {
         this.$emit("updateForm", true);
+        this.buttonLoading = false
       });
     },
     //查询路径接口
@@ -514,10 +524,11 @@ export default {
       this.$refs.defTree.userList = [];
       this.backThree = [];
       this.copyUser = [];
-      this.CopyStatus = false;
+      // this.CopyStatus = false;
       this.TransferStatus = false;
       //   this.clickTaskName = e.properties.name;
       this.clicknextName = e.properties.name;
+      console.log(this.clicknextName);
       this.seleIndex = index;
       this.getNextPath(e.resourceId, 3); //1 为点击后获取线
     },

+ 10 - 11
src/components/workflowBasexcwls.vue

@@ -355,7 +355,7 @@ export default {
       });
     },
     async nextWork(list) {
-      console.log(list);
+  
       //e:yes||no,list:传入数组,title:结束标签,res:驳回标签,id:工单更新id
       let _this = this;
       let obj = {
@@ -374,7 +374,7 @@ export default {
       }
       await this.common.httpPost(obj, success);
       function success(data) {
-        console.log(data);
+     
         if (data != null) {
           if (_this.TransferStatus === true) {
             let list = {
@@ -422,15 +422,14 @@ export default {
         },
         data: e,
       }).then((res) => {
-        console.log(res.data.body[0].resourceId);
+     
         this.list.resourceId = res.data.body[0].resourceId;
         this.$emit("updateForm", true);
       });
     },
     //查询路径接口
     getNextPath(e, status) {
-      console.log(e);
-      console.log(this.requestForm);
+     
       let { fresourceId, processDefinitionKey } = this.requestForm;
       let list = {
         fresourceId: fresourceId,
@@ -445,7 +444,7 @@ export default {
         },
         data: list,
       }).then((res) => {
-        console.log(res.data.body);
+       
         if (status === 1) {
           //第一次进入取路径
           this.initialList = res.data.body;
@@ -485,7 +484,7 @@ export default {
           if (res.data.body.nextShapes[0].condition !== null) {
             this.node = res.data.body;
           } else {
-            console.log(res.data.body.nextShapes[0].resourceId);
+          
             this.getNextPath(res.data.body.nextShapes[0].resourceId, 2);
           }
         }
@@ -512,7 +511,7 @@ export default {
         e.nextShapes[0].properties.documentation === createdId
           ? this.list.createId
           : e.nextShapes[0].properties.documentation;
-      console.log(id);
+     
       this.$http({
         url: "/market/api/user/info/queryNodePers?params=" + id,
         method: "post",
@@ -521,14 +520,14 @@ export default {
         },
         data: "",
       }).then((res) => {
-        console.log(status);
+      
         if (status === 2) {
           this.treeCopyList = res.data; //抄送
           //  this.$refs.defTrees.treeList = res.data;
         } else {
           this.treeList = res.data; //抄送
           // this.$refs.defTree.treeList = res.data;
-          console.log(this.treeList);
+          // console.log(this.treeList);
         }
       });
     },
@@ -600,7 +599,7 @@ export default {
           dictCodePks: "approval",
         },
       }).then((res) => {
-        console.log(res);
+     
         this.commonlyList = res.data;
       });
     },

+ 127 - 35
src/config/dev.js

@@ -1,58 +1,150 @@
 'use strict'
 let devs = {
-    TITLE:'本地环境',
-    BASE_URL:"http://43.138.50.94:9600/", //本地环境
-    BASE_API:"http://43.138.50.94:8880/api",//工作流本地环境
-    EXCEL_URL:"http://43.138.50.94:7777", //本地excel路径
+    TITLE: '本地环境',
+    BASE_URL: "http://43.138.50.94:9600/", //本地环境
+    BASE_API: "http://43.138.50.94:8880/api",//工作流本地环境
+    EXCEL_URL: "http://43.138.50.94:7777", //本地excel路径
     OFFICE_URL:'http://43.138.50.94:7779',  //在线office路径
-    provincialWorkOrderAreafresourceId:'a682dc9f-2fea-11ed-a6ed-02427ba2d388',//通用工单地市
-    provincialWorkOrderfresourceId:'08368848-2fde-11ed-a6ed-02427ba2d388',//通用工单省
-    riskMaterialsfresourceId:'c9104902-6575-11ed-8e1e-d6cd97160e00',//风险防控
+    provincialWorkOrderAreafresourceId: 'a682dc9f-2fea-11ed-a6ed-02427ba2d388',//通用工单地市
+    provincialWorkOrderfresourceId: '08368848-2fde-11ed-a6ed-02427ba2d388',//通用工单省
+    riskMaterialsfresourceId: 'c9104902-6575-11ed-8e1e-d6cd97160e00',//风险防控
+    materialApplicationfresourceId:'6cc2a037-a750-11ed-886f-d6cd97160e00',//宣传物料省
+    materialApplicationdsfresourceId:'241efa62-a816-11ed-886f-d6cd97160e00',//宣传物料地市
+    accountApplicationfresourceId: 'b3e6cc47-b1a9-11ed-886f-d6cd97160e00',//账号申请流程
+    accountdelfresourceId: '6a5fc7b5-b290-11ed-886f-d6cd97160e00',//账号删除
+    accountPermissionsfresourceId: '14c60ff0-b1a8-11ed-886f-d6cd97160e00',//账号权限申请流程
+    aqbgsyListfresourceId: '014cf465-b31c-11ed-886f-d6cd97160e00',//安全报告审阅
+    klhfsqList: '4a9e20e8-b33c-11ed-886f-d6cd97160e00',//口令恢复申请流程
+    rltzjlList: '7395620f-b33d-11ed-886f-d6cd97160e00',//容量调整记录流程
+    sjkdbList: '78e1edce-b319-11ed-886f-d6cd97160e00',//数据库导表流程
+    tyshList: '345a2955-b321-11ed-886f-d6cd97160e00',//通用审核流程
+    userList: '65791a1e-b1ac-11ed-886f-d6cd97160e00',//用户清单流程
+    internetAssessment: '87753452-c2f3-11ed-9c8b-d6cd97160e00',//互联网电视
+    authoriZation: '1db52dc3-b328-11ed-886f-d6cd97160e00',//口令授权
+    backupRequire: '4e2aaa61-b339-11ed-886f-d6cd97160e00',//备份需求
+    emergencyPlan: '238f139e-b28f-11ed-886f-d6cd97160e00',//应急预案
+    internetAccess: '2c4fd13a-b32a-11ed-886f-d6cd97160e00',//互联网端口
+    resourceApply: '569ffe50-b25a-11ed-886f-d6cd97160e00',//资源申请
+    securityAudit: 'd7dd8e5e-b320-11ed-886f-d6cd97160e00',//安全审计
+    userChange: 'c4624dbc-b322-11ed-886f-d6cd97160e00',//用户使用者变更
+    bfsjList: '524e01f7-b25d-11ed-886f-d6cd97160e00',//备份数据
+    docAppr: '47b27979-b250-11ed-886f-d6cd97160e00',//文件审批流程
+    firewall: '9d7c2f92-b251-11ed-886f-d6cd97160e00',//防火墙
+    opcode: 'b79206a9-b258-11ed-886f-d6cd97160e00',//opcode
 }
 let dev = {
-    TITLE:'本地环境',
+    TITLE: '本地环境',
     OFFICE_URL:'http://43.138.50.94:7779',  //在线office路径
-    BASE_URL:"http://127.0.0.1:8080", //本地环境
-    BASE_API:"http://43.138.50.94:8880/api",//工作流本地环境
-    EXCEL_URL:"http://43.138.50.94:7777", //本地excel路径
-    provincialWorkOrderAreafresourceId:'a682dc9f-2fea-11ed-a6ed-02427ba2d388',//通用工单地市
-    provincialWorkOrderfresourceId:'08368848-2fde-11ed-a6ed-02427ba2d388',//通用工单省
-    riskMaterialsfresourceId:'c9104902-6575-11ed-8e1e-d6cd97160e00',//风险防控
+    BASE_URL: "http://127.0.0.1:8080", //本地环境
+    BASE_API: "http://43.138.50.94:8880/api",//工作流本地环境
+    EXCEL_URL: "http://43.138.50.94:7777", //本地excel路径
+    provincialWorkOrderAreafresourceId: 'a682dc9f-2fea-11ed-a6ed-02427ba2d388',//通用工单地市
+    provincialWorkOrderfresourceId: '08368848-2fde-11ed-a6ed-02427ba2d388',//通用工单省
+    riskMaterialsfresourceId: 'c9104902-6575-11ed-8e1e-d6cd97160e00',//风险防控
+    materialApplicationfresourceId:'6cc2a037-a750-11ed-886f-d6cd97160e00',//宣传物料省
+    materialApplicationdsfresourceId:'241efa62-a816-11ed-886f-d6cd97160e00',//宣传物料地市
+    accountApplicationfresourceId: 'b3e6cc47-b1a9-11ed-886f-d6cd97160e00',//账号申请流程
+    accountdelfresourceId: '6a5fc7b5-b290-11ed-886f-d6cd97160e00',//账号删除
+    accountPermissionsfresourceId: '14c60ff0-b1a8-11ed-886f-d6cd97160e00',//账号权限申请流程
+    aqbgsyListfresourceId: '014cf465-b31c-11ed-886f-d6cd97160e00',//安全报告审阅
+    klhfsqList: '4a9e20e8-b33c-11ed-886f-d6cd97160e00',//口令恢复申请流程
+    rltzjlList: '7395620f-b33d-11ed-886f-d6cd97160e00',//容量调整记录流程
+    sjkdbList: '78e1edce-b319-11ed-886f-d6cd97160e00',//数据库导表流程
+    tyshList: '345a2955-b321-11ed-886f-d6cd97160e00',//通用审核流程
+    userList: '65791a1e-b1ac-11ed-886f-d6cd97160e00',//用户清单流程
+    internetAssessment: '87753452-c2f3-11ed-9c8b-d6cd97160e00',//互联网电视
+    authoriZation: '1db52dc3-b328-11ed-886f-d6cd97160e00',//口令授权
+    backupRequire: '4e2aaa61-b339-11ed-886f-d6cd97160e00',//备份需求
+    emergencyPlan: '238f139e-b28f-11ed-886f-d6cd97160e00',//应急预案
+    internetAccess: '2c4fd13a-b32a-11ed-886f-d6cd97160e00',//互联网端口
+    resourceApply: '569ffe50-b25a-11ed-886f-d6cd97160e00',//资源申请
+    securityAudit: 'd7dd8e5e-b320-11ed-886f-d6cd97160e00',//安全审计
+    userChange: 'c4624dbc-b322-11ed-886f-d6cd97160e00',//用户使用者变更
+    bfsjList: '524e01f7-b25d-11ed-886f-d6cd97160e00',//备份数据
+    docAppr: '47b27979-b250-11ed-886f-d6cd97160e00',//文件审批流程
+    firewall: '9d7c2f92-b251-11ed-886f-d6cd97160e00',//防火墙
+    opcode: 'b79206a9-b258-11ed-886f-d6cd97160e00',//opcode
 }
 let test = {
-    TITLE:'测试环境',
+    TITLE: '测试环境',
     OFFICE_URL:'http://10.149.85.91:8000',  //在线office路径
-    BASE_URL:"http://10.149.85.91:8000/spfm", //测试环境
-    BASE_API:"http://10.149.85.91:8000/api",//工作流测试环境
-    EXCEL_URL:"http://10.149.85.91:7777", //测试excel路径
-    provincialWorkOrderAreafresourceId:'33b0af93-b1ce-11ed-be6b-00505687dcd3',//通用工单地市
-    provincialWorkOrderfresourceId:'4fdbb96e-8bfd-11ed-8988-00505687dcd3',//通用工单省
-    riskMaterialsfresourceId:'3124a2d4-7209-11ed-8d6f-00505687dcd3',//风险防控
+    BASE_URL: "http://10.149.85.91:8000/spfm", //测试环境
+    BASE_API: "http://10.149.85.91:8000/api",//工作流测试环境
+    EXCEL_URL: "http://10.149.85.91:7777", //测试excel路径
+    provincialWorkOrderAreafresourceId: '33b0af93-b1ce-11ed-be6b-00505687dcd3',//通用工单地市
+    provincialWorkOrderfresourceId: '4fdbb96e-8bfd-11ed-8988-00505687dcd3',//通用工单省
+    riskMaterialsfresourceId: '3124a2d4-7209-11ed-8d6f-00505687dcd3',//风险防控
+    materialApplicationfresourceId:'8f0e9c49-b348-11ed-be6b-00505687dcd3',//宣传物料省
+    materialApplicationdsfresourceId:'a7f127b7-b348-11ed-be6b-00505687dcd3',//宣传物料地市
+    accountApplicationfresourceId: '9acf34bf-b24d-11ed-be6b-00505687dcd3',//账号申请流程
+    accountdelfresourceId: 'e907b062-b33f-11ed-be6b-00505687dcd3',//账号删除
+    accountPermissionsfresourceId: '2b9e648d-b24d-11ed-be6b-00505687dcd3',//账号权限申请流程
+    aqbgsyListfresourceId: 'bc3402ee-b33f-11ed-be6b-00505687dcd3',//安全报告审阅
+    klhfsqList: 'd4101040-b33e-11ed-be6b-00505687dcd3',//口令恢复申请流程
+    rltzjlList: 'b9283efe-b33e-11ed-be6b-00505687dcd3',//容量调整记录流程
+    sjkdbList: 'd36c60c0-b33f-11ed-be6b-00505687dcd3',//数据库导表流程
+    tyshList: '4a4153db-b33f-11ed-be6b-00505687dcd3',//通用审核流程
+    userList: '4edefb21-b24f-11ed-be6b-00505687dcd3',//用户清单流程
+    internetAssessment: 'd4092f5e-c49b-11ed-a8d3-00505687dcd3',//互联网电视
+    authoriZation: '1ecbaf96-b33f-11ed-be6b-00505687dcd3',//口令授权
+    backupRequire: 'ed1f02d2-b33e-11ed-be6b-00505687dcd3',//备份需求
+    emergencyPlan: '03be5f93-b340-11ed-be6b-00505687dcd3',//应急预案
+    internetAccess: '094631e4-b33f-11ed-be6b-00505687dcd3',//互联网端口
+    resourceApply: '1f6a7842-b25c-11ed-be6b-00505687dcd3',//资源申请
+    securityAudit: '93dc4075-b33f-11ed-be6b-00505687dcd3',//安全审计
+    userChange: '3626d7d9-b33f-11ed-be6b-00505687dcd3',//用户使用者变更
+    bfsjList: 'dbd83414-b25f-11ed-be6b-00505687dcd3',//备份数据
+    docAppr: '3b21cf73-b251-11ed-be6b-00505687dcd3',//文件审批流程
+    firewall: '86e7c09e-b256-11ed-be6b-00505687dcd3',//防火墙
+    opcode: '1245d300-b25a-11ed-be6b-00505687dcd3',//opcode
 }
 let prod = {
-    TITLE:'线上环境',
+    TITLE: '线上环境',
     OFFICE_URL:'http://10.230.26.15:8000',  //在线office路径
-    BASE_URL:"http://10.230.26.15:8000/mkt", //线上环境
-    BASE_API:"http://10.230.26.15:8000/api",//工作流线上环境
-    EXCEL_URL:"http://10.230.26.15:7777", //线上excel路径
-    provincialWorkOrderAreafresourceId:'db26384e-b984-11ed-afb6-e00084564cce',//通用工单地市
-    provincialWorkOrderfresourceId:'9b83efc7-b984-11ed-afb6-e00084564cce',//通用工单省
-    riskMaterialsfresourceId:'canvas',//风险防控
+    BASE_URL: "http://10.230.26.15:8000/mkt", //线上环境
+    BASE_API: "http://10.230.26.15:8000/api",//工作流线上环境
+    EXCEL_URL: "http://10.230.26.15:7777", //线上excel路径
+    provincialWorkOrderAreafresourceId: 'db26384e-b984-11ed-afb6-e00084564cce',//通用工单地市
+    provincialWorkOrderfresourceId: '9b83efc7-b984-11ed-afb6-e00084564cce',//通用工单省
+    riskMaterialsfresourceId: 'canvas',//风险防控
+    materialApplicationfresourceId:'b58e5e25-ce13-11ed-afb6-e00084564cce',//宣传物料省
+    materialApplicationdsfresourceId:'cd072057-ce13-11ed-afb6-e00084564cce',//宣传物料地市
+    authoriZation: 'a4c88c4e-d99e-11ed-8255-e00084564cce',//口令授权
+    backupRequire: 'b5c62d50-d99d-11ed-8255-e00084564cce',//备份需求
+    emergencyPlan: '8bcdfa43-d9a0-11ed-8255-e00084564cce',//应急预案
+    internetAccess: '5e83a807-d99e-11ed-8255-e00084564cce',//互联网端口
+    resourceApply: '428f1a81-d9a1-11ed-8255-e00084564cce',//资源申请
+    securityAudit: '99fa2bcc-d99f-11ed-8255-e00084564cce',//安全审计
+    userChange: 'e6eaf005-d99e-11ed-8255-e00084564cce',//用户使用者变更
+    bfsjList: 'f458d35a-d9a0-11ed-8255-e00084564cce',//备份数据
+    accountApplicationfresourceId: '27a9dbbf-d742-11ed-8255-e00084564cce',//账号申请流程
+    accountdelfresourceId: '8a519886-d742-11ed-8255-e00084564cce',//账号删除
+    accountPermissionsfresourceId: '2e508b91-d741-11ed-8255-e00084564cce',//账号权限申请流程
+    aqbgsyListfresourceId: '19bed1f4-d743-11ed-8255-e00084564cce',//安全报告审阅
+    klhfsqList: '9f3ab9d2-d743-11ed-8255-e00084564cce',//口令恢复申请流程
+    rltzjlList: 'd38ce419-d743-11ed-8255-e00084564cce',//容量调整记录流程
+    sjkdbList: 'd874ccdd-d742-11ed-8255-e00084564cce',//数据库导表流程
+    tyshList: '5b87cb0b-d743-11ed-8255-e00084564cce',//通用审核流程
+    userList: '81bc22d8-d741-11ed-8255-e00084564cce',//用户清单流程
+    internetAssessment: '433402bb-d52d-11ed-afb6-e00084564cce',//互联网电视
+    docAppr: '917d8bf9-d918-11ed-8255-e00084564cce',//文件审批流程
+    firewall: '3c3df7fb-d918-11ed-8255-e00084564cce',//防火墙
+    opcode: '6b9e1cb2-d918-11ed-8255-e00084564cce',//opcode
 }
-export const getConfig  = () =>{
-    switch(process.env.VUE_APP_ENV){
+export const getConfig = () => {
+    switch (process.env.VUE_APP_ENV) {
         case "development":
-            window.sessionStorage.setItem('getConfig',JSON.stringify(dev) )
+            window.sessionStorage.setItem('getConfig', JSON.stringify(dev))
             return dev;
         case 'test':
-            window.sessionStorage.setItem('getConfig',JSON.stringify(test))
+            window.sessionStorage.setItem('getConfig', JSON.stringify(test))
             return test;
         case 'production':
-            window.sessionStorage.setItem('getConfig',JSON.stringify(prod))
+            window.sessionStorage.setItem('getConfig', JSON.stringify(prod))
             return prod
         case 'devs':
-            window.sessionStorage.setItem('getConfig',JSON.stringify(devs))
-            return devs; 
+            window.sessionStorage.setItem('getConfig', JSON.stringify(devs))
+            return devs;
     }
 }
 export default getConfig;

+ 2 - 2
src/http/api.js

@@ -80,10 +80,10 @@ export function getNowdata(e) {
     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()
-    let hh = new Date().getHours()
+    let hh = new Date().getHours() < 10 ? '0' + new Date().getHours() : new Date().getHours()
     let mf = new Date().getMinutes() < 10 ? '0' + new Date().getMinutes() : new Date().getMinutes()
     let ss = new Date().getSeconds() < 10 ? '0' + new Date().getSeconds() : new Date().getSeconds()
     let time = yy + e.a + mm + e.a + dd + e.b + hh + e.c + mf + e.c + ss
     return time
 }
-export default { getTodoBase, getDoneBase, getInitiateBase, updateBase, getNowdata, queryReadBase,queryReadDoneBase };
+export default { getTodoBase, getDoneBase, getInitiateBase, updateBase, getNowdata, queryReadBase, queryReadDoneBase };

File diff ditekan karena terlalu besar
+ 1928 - 0
src/pages/main/accountPermissions/accountApplication.vue


File diff ditekan karena terlalu besar
+ 1160 - 0
src/pages/main/accountPermissions/accountPermissions.vue


File diff ditekan karena terlalu besar
+ 1426 - 0
src/pages/main/accountPermissions/accountdel.vue


File diff ditekan karena terlalu besar
+ 1194 - 0
src/pages/main/accountPermissions/aqbgsyList.vue


File diff ditekan karena terlalu besar
+ 1235 - 0
src/pages/main/accountPermissions/klhfsqList.vue


File diff ditekan karena terlalu besar
+ 1248 - 0
src/pages/main/accountPermissions/rltzjlList.vue


File diff ditekan karena terlalu besar
+ 1563 - 0
src/pages/main/accountPermissions/sjkdbList.vue


File diff ditekan karena terlalu besar
+ 1253 - 0
src/pages/main/accountPermissions/tyshList.vue


+ 2 - 2
src/pages/main/advertising/index.vue

@@ -21,11 +21,11 @@
 			<div class="adv-type">
 				 <div class="wfour" @click="jumpinfo('/materialApplication','宣传物料申请及审批-省代地市下单')">
 			        <span><i class="el-icon-folder-opened"></i></span>
-			        <span>宣传物料申请及审批-省代地市下单</span>
+			        <span>宣传物料申请及审批-省公司发起</span>
 			    </div>
 				 <div class="wfour" @click="jumpinfo('/materialApplicationds','宣传物料申请及审批-地市下单')">
 			        <span><i class="el-icon-folder-opened"></i></span>
-			        <span>宣传物料申请及审批-地市下单</span>
+			        <span>宣传物料申请及审批-地市发起</span>
 			    </div>
 				<!-- <div class="wfour" @click="jumpinfo('/materialApplicationc','市级物料申请')">
 				        <span><i class="el-icon-folder-opened"></i></span>

+ 143 - 144
src/pages/main/advertising/materialApplication.vue

@@ -25,6 +25,7 @@
                     ref="TableList"
                     @clickDemand="clickDemand"
                     @changeNum="changeNum"
+                    @changeSize="changeSize"
                 ></tableList>
             </div>
             <div class="tabbox" v-if="this.childname == 'three'">
@@ -53,12 +54,12 @@
                             <!-- <el-table-column label="结算金额" prop="replyContent"></el-table-column> -->
                             <el-table-column label="麦穗" prop="gys1Price"></el-table-column>
                             <el-table-column label="神笔" prop="gys2Price"></el-table-column>
-                            <el-table-column label="状态" prop="taskName"></el-table-column>
+                            <el-table-column label="状态" prop="taskname"></el-table-column>
                             <el-table-column label="操作"  fixed="right" align="center">
                                 <template slot-scope="scope">
-                                    <el-button size="mini" type="text" @click="getinform(scope.row)" v-if="scope.row.taskName == null">
+                                    <el-button size="mini" type="text" @click="getinform(scope.row)" v-if="scope.row.taskname == null || scope.row.taskname == '起草'">
                                         任务下发</el-button>
-                                    <el-button size="mini" type="text" @click="chakanfaqi(scope.row)" v-if="scope.row.taskName != null">
+                                    <el-button size="mini" type="text" @click="chakanfaqi(scope.row)" v-if="scope.row.taskname != null && scope.row.taskname != '起草'">
                                         查看</el-button>
                                 </template>
                                  <!-- <template slot-scope="scope">
@@ -100,6 +101,7 @@
         <el-dialog
         title="处理操作"
         :visible.sync="dialogVisible1"
+        v-if="dialogVisible1"
         :before-close="handleCloses"
         width="100%"
         height="100vh"
@@ -137,6 +139,7 @@
         class="dialogClass"
         top="0"
         :modal="false"
+        :show-close="false"
         :modal-append-to-body="true"
       >
         <span class="dialog-body">
@@ -205,7 +208,7 @@
             </el-col>
             <el-col :span="8" style="width: 410px">
              <el-form-item prop="gys" label="供应商">
-            <!-- <span>供应商</span> -->
+            <!-- <span>供应商</span>省公司宣传负责人 -->
             <el-select
                @change="gysMing(1, $event)"
               clearable
@@ -307,7 +310,7 @@
                       </div>
                     </template> -->
                   </el-table-column>
-                   <el-table-column label="操作"  fixed="right" align="center" v-if="this.infolist.tabletaskName == '起草'">
+                   <el-table-column label="操作"  fixed="right" align="center" v-if="this.infolist.tabletaskName == '起草' || this.infolist.tabletaskName == '地市宣传负责人'">
                                 <template slot-scope="scope">
                                     <el-button size="mini" type="text" @click="updatexiuform(scope.row)"  :disabled="xiugaizhuan">
                                         修改</el-button>
@@ -401,7 +404,8 @@
       width="50%"
       :destroy-on-close="true"
       :modal-append-to-body="false"
-      :close-on-click-modal="false"
+      
+      :show-close="false"
       :before-close="closedia"
     >
       <el-form
@@ -418,6 +422,7 @@
               clearable
               v-model="rulelist.useCase"
               placeholder="使用场景"
+              disabled
             >
               <el-option
                 v-for="(items, index) in useCaseopt"
@@ -432,6 +437,7 @@
             <el-select
               v-model="rulelist.formType"
               placeholder="请选择表单类型"
+              disabled
             >
               <el-option
                 v-for="(item, index) in optionList"
@@ -447,6 +453,7 @@
               clearable
               v-model="rulelist.material"
               placeholder="物料名称"
+              disabled
             >
               <el-option
                 v-for="(items, index) in metirialOpt"
@@ -462,6 +469,7 @@
                         v-model="rulelist.quantity"
                         placeholder="数量"
                         type="number"
+                        oninput="value=value.replace(/^(0+)|[^\d]+/g,'')"
                         style="width:256px"
                         >
             </el-input>
@@ -483,7 +491,7 @@
       <div class="t-footer">
         <!--  -->
         <el-button type="primary" @click="gengxinge">确 定</el-button>
-        <el-button @click="closediaform">取 消</el-button>
+        <!-- <el-button @click="closediaform">取 消</el-button> -->
       </div>
     </el-dialog>
         <el-dialog
@@ -532,9 +540,10 @@
     import mySearch from "../../../components/search.vue";
     import myMessage from "../../../components/myMessage.vue"
     import toolList from '../../../components/toolList'
-	import myUpload from '../../../components/upload'
-    import tableList from "../../../components/el-form";
+	  import myUpload from '../../../components/uploadfour'
+    import tableList from "../../../components/el-formfour";
     import Workflow from "../../../components/workflowBase";
+    import getConfig from '../../../config/dev.js'
 // import Workflow from "../../../components/workflow";
     // import WorkflowEntrance from "../../../components/workflowEntrance";
    import {
@@ -547,7 +556,7 @@
             mySearch,
             myMessage,
             toolList,
-			myUpload,
+			      myUpload,
             eltabs,
             tableList,
             Workflow,
@@ -570,7 +579,7 @@
             // }
             return {
                   requestForm: {
-                    fresourceId: "6cc2a037-a750-11ed-886f-d6cd97160e00",
+                    fresourceId: getConfig().materialApplicationfresourceId,
                     processDefinitionKey: "xcwl_pro_process",
                     taskId:"",
                     },
@@ -691,7 +700,7 @@
           },
            {
             label: "状态",
-            prop: "taskName",
+            prop: "taskname",
             width: 200,
           },
         ], //表格头
@@ -723,9 +732,7 @@
                             label: "任务下发", // 操作名称
                             type: "", //按钮类型
                             handleRow: function (e, r, o) {
-                                console.log(e);
-                                console.log(r);
-                                console.log(o);
+                               
                                 // getinform
                                 // this.getinform(r);
                             }, // 自定义事件
@@ -815,7 +822,7 @@
           },
            {
             label: "状态",
-            prop: "taskName",
+            prop: "taskname",
             width: 200,
           },
         ], //表格头
@@ -847,9 +854,7 @@
                             label: "任务下发", // 操作名称
                             type: "", //按钮类型
                             handleRow: function (e, r, o) {
-                                console.log(e);
-                                console.log(r);
-                                console.log(o);
+                             
                                 // getinform
                                 // this.getinform(r);
                             }, // 自定义事件
@@ -1010,7 +1015,7 @@
                 updisabled:false,
 				fileInfo: {
 				    limit: 10,
-				    url: '/market/waf/upload',
+				    url: '/market/waf/uploadByMinio',
 				    fileList: []
 				},
 				infoApply:{},
@@ -1033,8 +1038,7 @@
         watch:{
           'infolist.tabletaskName':{
           handler(newVal,oldVal){
-            // console.log(this.ruleForm);
-            console.log(newVal);
+           
             let rule1 = {
              gys: [
                 { required: true, validator: this.validatorFile , trigger: "blur" },
@@ -1047,12 +1051,12 @@
                 { required: true, validator: this.validatorLianjie , trigger: "blur" },],
             }
             if(newVal === '省公司宣传负责人'){
-              console.log(121);
+        
               this.rules = { ...this.rules, ...rule1 }
-              console.log(111);
+           
               }
               else if(newVal === '区县公司负责人'){
-                console.log(1234);
+             
                this.rules = { ...this.rules, ...rule2 }
               }
           },
@@ -1061,15 +1065,14 @@
           },
           //  'infolist.tabletaskName':{
           // handler(newVal,oldVal){
-          //   // console.log(this.ruleForm);
-          //   // console.log(newVal);
+        
           //   let rule2 = {
           //    districtScore: [
           //       { required: true, validator: this.validatorDafen , trigger: "blur" },],
           //     materialUrl: [
           //       { required: true, validator: this.validatorLianjie , trigger: "blur" },],
           //   }
-          //   if(newVal === '市公司主管宣传副主任'){
+          //   if(newVal === '省公司宣传负责人'){
           //     this.rules = { ...this.rules, ...rule }
           //     }
           // },
@@ -1079,7 +1082,7 @@
         },
         methods: {
             clickTabs(name){
-                console.log(name);
+             
                 this.pageNo = "1";
                 this.page = "1";
                 this.childname = name;
@@ -1097,8 +1100,27 @@
               changeNum(val) {
                 this.page = val;
                 this.pageNo = val;
-                console.log(this.page);
-                console.log(this.childname);
+             
+                switch (this.childname) {
+                    case "first":
+                    this.getTodoList();
+                    // this.iniTiate();
+
+                    break;
+                    case "two":
+                        this.haveDone();
+
+                    break;
+                    case "three":
+
+                    // this.iniTiate();
+                    // this.Table = this.thirdTable;
+                }
+                },
+                  changeSize(val) {
+                this.size = val;
+                this.pageSize = val;
+              
                 switch (this.childname) {
                     case "first":
                     this.getTodoList();
@@ -1116,7 +1138,7 @@
                 }
                 },
                   clickDemand(e, r) {
-      //  console.log(e,r);
+    
       if (e === "业务名称") {
         if(this.childname == "first"){
           
@@ -1153,7 +1175,12 @@
     chakanfaqi(r){
 
         this.operationZuo(r); //点标题
-         this.deal = false;
+         
+         if(r.taskname == "起草" || r.taskname == "地市宣传负责人"){
+          this.deal = true;
+         }else{
+          this.deal = false;
+         }
          this.baocun = false;
         this.clickForm1(r)
     },
@@ -1162,10 +1189,10 @@
     // },
       //点击标题
          operationZuo(r){
-          console.log(r);
+      
           let list = {}
           list.id = r.id,
-          // console.log(row)
+        
           this.$http({
             url:"/market/xcwlProcess/query",
             method:"post",
@@ -1187,18 +1214,19 @@
             this.infolist.taskId = r.taskId;
             this.infolist.id = r.id;
             this.infolist.createId = r.createId;
-            this.infolist.tabletaskName = r.taskName;
-            // console.log(this.infolist.tabletaskname);
+            this.infolist.tabletaskName = r.taskname;
+          
             this.infolist.gys = res.data.xcwlProProcessList[0].selectedGys;
             this.infolist.districtScore = res.data.xcwlProProcessList[0].districtScore;
             this.infolist.materialUrl = res.data.xcwlProProcessList[0].materialUrl;
-            if(r.taskName != "起草"){
+            this.infolist.id1 = res.data.xcwlProProcessList[0].xcwlId;
+            if(r.taskName != "起草" ||r.taskName != "地市宣传负责人"){
               this.disableStatus = true;
                this.updisabled = true;  //上传附件
             }else{
               this.updisabled = false;
             }
-             if(this.infolist.tabletaskName === "起草" || this.infolist.tabletaskName === "省公司宣传负责人" || this.infolist.tabletaskName === "区县公司负责人"){
+             if(this.infolist.tabletaskName === "起草" || this.infolist.tabletaskName === "省公司宣传负责人" || this.infolist.tabletaskName === "区县公司负责人" ||this.infolist.tabletaskName === "地市宣传负责人"){
             
             this.baocun = true;
             
@@ -1213,9 +1241,9 @@
                     },
                     data:{},
                   }).then((res) => {
-                  // console.log(res.data);
+              
                   this.gysopt = res.data;
-                  // console.log( this.infolist.gysopt);
+                
                     // this.infomaterType = res.data;
                     // if(res.data){
                     //  this.typests = false;
@@ -1226,24 +1254,24 @@
         },
          uploadBack(v) {
           this.attList = v;
-          console.log(this.attList);
+          // console.log(this.attList);
 
     },
     gysMing(n,ev){
         let that = this;
-            // console.log(that);
+        
             let hh = that.gysopt.filter(function (c, i, a) {
-              // console.log(c,i,a);
+            
            if (c.name == that.infolist.gys) {
           return c;
            }
           });
          this.selectLetter = hh[0].code;
-         console.log(this.selectLetter);
+        //  console.log(this.selectLetter);
     },
     dealwith(){
       if(this.infolist.tabletaskName == "省公司宣传负责人" || this.infolist.tabletaskName == "区县公司负责人"){
-       console.log(this.teshuhuanjie);
+     
        if(this.teshuhuanjie.length == 0){
            this.$message.error("请先点击保存");
         }else{
@@ -1255,7 +1283,7 @@
       
     },
     updatexiuform(r){
-      console.log(r);
+   
       this.typests = true;
       this.rulelist = r;
     },
@@ -1265,26 +1293,30 @@
     //更新表格
     gengxinge(){
        this.typests = false;
-        // this.$http({
-        //             url: "/market/xcwlProcess/update",
-        //             method: "post",
-        //             headers: {
-        //               "Content-Type": "application/json",
-        //             },
+         let rulelistform = {}
+         rulelistform.metirialName = this.rulelist.material;
+         rulelistform.quantity = this.rulelist.quantity;
+         rulelistform.ratio = this.rulelist.coefficient;
+        this.$http({
+                    url: "/market/xcwlProcessImport/getPriByMetirialName",
+                    method: "post",
+                    headers: {
+                      "Content-Type": "application/json",
+                    },
                   
-        //             data: this.rulelist,
-        //           }).then((res) => {
-        //           console.log(res.data);
-        //             // this.infomaterType = res.data;
-        //             if(res.data){
-        //              this.typests = false;
-        //               return;
-        //             }
-        //           });
+                    data: rulelistform,
+                  }).then((res) => {
+                
+
+                    this.infomaterType[0].gys1Price = res.data.body.gys1Price;
+                    this.infomaterType[0].gys2Price = res.data.body.gys2Price;
+
+                   
+                  });
     },
       validatorFile(rule,value,callback){
       if(this.infolist.gys == null){
-        // console.log(this.ruleForm.addJobNumber);
+       
         callback(new Error('请选择供应商'));
       }else{
         
@@ -1293,7 +1325,7 @@
     },
       validatorDafen(rule,value,callback){
       if(this.infolist.districtScore == null || ""){
-        console.log(this.infolist.districtScore);
+     
         callback(new Error('请输入区县打分'));
       }else{
         
@@ -1302,7 +1334,7 @@
     },
      validatorLianjie(rule,value,callback){
       if(this.infolist.materialUrl == null || ""){
-        console.log(this.infolist.materialUrl);
+     
         callback(new Error('请输入物料验证材料链接'));
       }else{
         
@@ -1311,38 +1343,14 @@
     },
     //任务下发
     getinform(r){
-      console.log(r);
+   
       this.infolist = r;
       this.infolist.id = r.id;
       this.request_form.businessKey = r.id;
       this.getUserIds();
-    //   console.log(this.request_form);
-    //   this.infolist.userId = this.request_form.userId;
-    //   this.infolist.userName = this.request_form.userName;
-    //   console.log(r);
-    //   this.clickHandle(r);
+   
     },
-       //获取userID
-    //   getUserIds() {
-    //     this.$http({
-    //     url: "/market/waf/queryRoleByName",
-    //     method: "post",
-    //     headers: {
-    //      "Content-Type": "application/json",
-    //     },
-    //      data: {
-    //       userCode: JSON.parse(window.sessionStorage.userInfo).loginNo,
-    //    },
-    //   }).then((res) => {
-    //     // console.log(res.data.data.rows[0].name);
-    //     // console.log(res.data.data.rows[0].userCode);
-    //     this.request_form.userName = res.data.data.rows[0].name;
-    //     this.request_form.userId = res.data.data.rows[0].userCode;
-    //     this.request_form.title = this.infolist.needName;
-    //     console.log(this.request_form);
-    //     this.clickHandle(this.infolist);
-    //    });
-    //  },
+    
         getUserIds() {
         let id = JSON.parse(window.sessionStorage.userInfo).loginNo
         this.$http({
@@ -1355,18 +1363,16 @@
           // params: JSON.parse(window.sessionStorage.userInfo).loginNo,
        },
       }).then((res) => {
-        // console.log(res.data.data.rows[0].name);
-        // console.log(res.data.data.rows[0].userCode);
-        // console.log(res.data[0].children);
+    
         this.request_form.userName = res.data[0].children[0].loginNameStr;
         this.request_form.userId = res.data[0].children[0].loginNoStr;
         this.request_form.title = '[市场工作台]-'+'省宣传物料申请及审批-'+ this.infolist.needName;
-        // console.log(this.request_form);
+      
         this.clickHandle(this.infolist);
        });
      },
      async clickHandle(e) {
-        console.log(this.request_form);
+    
       let _this = this;
       let obj = {
       url: this.$url.formList.startWork, //开始工作流接口
@@ -1379,12 +1385,7 @@
       
       let res = await this.common.httpPost(obj, success);
       function success(data) {
-        console.log(data);
-//         _this.ruleForm.taskId = _this.ruleForm.taskId;
-        // a = a 
-//         _this.taskId = data.data;
-      //  console.log(data);
-      //  console.log(data.code);
+     
       _this.infolist.processId = data.data;
        let list = {
          id: e.id,
@@ -1394,15 +1395,14 @@
           
           // resourceId: _this.nextPath.currentShape[0].resourceId,
        };
-        // console.log(processDefinitionKey);
-        console.log(list);
+        
          _this.setUpdate(list);
       }
      },
     //更新工作流接口
 
     setUpdate(e) {
-      console.log(e);
+  
       this.$http({
        url: "/market/waf/updateBase",
         method: "post",
@@ -1417,7 +1417,7 @@
     },
      //是否最后一个人
     async getLastName() {
-      console.log(this.infolist);
+   
       let list = {
         procinstid: this.infolist.processId,
         taskid: this.infolist.taskId,
@@ -1436,7 +1436,7 @@
 
       let res = await this.common.httpPost(obj, success);
       function success(data) {
-        console.log(data);
+      
         if (data.lastMan == true) {
           _this.adminResourceId = data.adminResourceId;
         }
@@ -1445,7 +1445,7 @@
         _this.isWorkflowStatus = data.lastMan == false ? false : true;
         _this.lastManList = data;
 
-        // console.log(_this.isWorkflowStatus);
+      
       }
     },
      getNextPath(e) {
@@ -1471,20 +1471,20 @@
         data: list,
       }).then((res) => {
         if (res.data.body.nextShapes[0].multi) {
-          console.log('这是mulit节点');
+          // console.log('这是mulit节点');
           if (res.data.body.nextShapes[0].multi.multi === "true") {
-             console.log('这是mulit节点');
+            //  console.log('这是mulit节点');
             this.getLastName();
           } else {
             this.adminResourceId = ''
-            console.log('这不是mulit节点');
+            // console.log('这不是mulit节点');
             this.destroy = true;
             this.dialogVisible1 = true;
             // this.getMetirialType();
           }
         } else {
           this.adminResourceId = ''
-          console.log('这不是mulit节点');
+          // console.log('这不是mulit节点');
           this.destroy = true;
           this.dialogVisible1 = true;
         //   this.getMetirialType();
@@ -1497,8 +1497,7 @@
     },
     //处理按钮,开始工作流接口
     clickHandles() {
-      //   console.log(this.infolist.resourceId);
-      // this.getNextPath(this.infolist.resourceId || "");
+     
       this.dialogVisible1 = true;
     },
       async clickForm(r) {
@@ -1555,36 +1554,39 @@
       this.dialogVisible1 = false;
       this.dialogVisible = false;
       this.getIssueList();
+      this.getTodoList();
+      this.haveDone();
     //   this.refreshbtn();
     },
-    //  changeNum(e) {
-    //         console.log(e)
-    //         this.pageNo = e;
-    //         this.page = e;
-    //         this.firstTable.pageData.pageNum = e;
-    //         this.getTodoList()
-    //     },
+    
             adminhandleSizeChange(val) {
-            console.log(`每页 ${val} 条`);
+            // console.log(`每页 ${val} 条`);
         },
          adminhandleCurrentChange(val) {
-            // console.log(e)
+         
             this.pageNo = val;
 
             this.getIssueList()
-            console.log(`当前页: ${val}`);
+            // console.log(`当前页: ${val}`);
         },
         handleCloses() {
           this.treeList = [];
           this.textarea = "";
           this.dialogVisible1 = false;
-
+          this.getTodoList();
+          this.haveDone();
+          this.getIssueList();
     },
     close(){
      this.dialogVisible = false;
+     this.tableData1 = [];
     },
     //我发起列表
        getIssueList(e) {
+        let list = {
+              
+              applyType: "省"
+            };
             this.loading2 = true;
             this.$http({
                 url: "/market/xcwlProcessImport/queryPage",
@@ -1593,7 +1595,7 @@
                     "Content-Type": "application/json",
                     page: '{"pageNo":"' + this.pageNo + '","pageSize":"10"}',
                 },
-               data:this.searchBox,
+               data:list,
             }).then((res) => {
                 this.tableData = res.data.data;
                  this.tabList[2].number = res.data.totalRecord;
@@ -1648,7 +1650,7 @@
       //  this.twoTable.pageData.total = res.data.totalRecord;
       //   this.tabList[1].number = res.data.totalRecord;
       //   this.Table = this.twoTable;
-      // //  console.log(this.Table);
+   
       // //  this.tabList[1].number = res.data.totalRecord;
       // })
        let list = {
@@ -1667,18 +1669,18 @@
               this.twoTable.data = res.data.data;
              this.twoTable.pageData.total = res.data.totalRecord;
               this.tabList[1].number = res.data.totalRecord;
-              this.Table = this.twoTable;
+              // this.Table = this.twoTable;
                 
             });
     },
     saveform(){
-      // console.log(this.$refs.infolist);
+     
        this.$refs.infolist.validate((valid) => {
-          console.log(valid);
+    
           if (valid) {
                this.$message.success("保存成功");
               let list = {}
-              list.id = this.infolist.id;
+              list.id = this.infolist.id1;
               list.businessName = this.infolist.businessName;//业务名称
               list.cycleList = [this.$util.datetimeFormat(this.infolist.cycle[0]),this.$util.datetimeFormat(this.infolist.cycle[1])];
               list.needCode = this.infolist.needCode;
@@ -1686,7 +1688,7 @@
               list.gys = this.infolist.gys;
               list.materialUrl = this.infolist.materialUrl;
               list.xcwlProProcessList = this.infomaterType;
-              list.gysCode = this.selectLetter;
+              list.gysCode = this.infolist.tabletaskName == '省公司宣传负责人' ? this.selectLetter:null;
               // list.xcwlProProcessList = this.multipleSelection;
              
               if(this.attList == null){
@@ -1703,7 +1705,7 @@
                   
                     data: list,
                   }).then((res) => {
-                  console.log(res.data);
+                
                      this.teshuhuanjie = res.data;
                      
                     // this.infomaterType = res.data;
@@ -1721,11 +1723,10 @@
    
     },
       download(u) {
-      console.log(u);
-
+  
       // if (this.ruleForm.wfFileShareAttachList.length > 1) {
         this.$http({
-          url: "/market/waf/downAllFile",
+          url: "/market/waf/downAllFileByMinio",
           method: "post",
           headers: {
             "Content-Type": "application/json",
@@ -1866,7 +1867,7 @@
                 }).then((res) => {
                     this.tableData = res.data.body.pageList.data;
                     this.total = res.data.body.pageList.totalRecord;
-                    // console.log(this.tableData);
+                  
                     this.loading = false;
 
                 });
@@ -2003,7 +2004,7 @@
             },
             //文件返回值
             uploadBack(v) {
-                console.log(v)
+            
                 this.attList = v;
             },
             //功能栏
@@ -2024,13 +2025,11 @@
         mounted() {
             // this.getList({}, 1);
             this.getUser();
-        },
-        created() {
-          // console.log(this.$route); 
-            
             this.getTodoList();
+        },
+        created() { 
             this.Table = this.firstTable;
-            // this.haveDone();
+            this.haveDone();
             this.getIssueList();
         }
     }

+ 89 - 104
src/pages/main/advertising/materialApplicationadd.vue

@@ -139,12 +139,15 @@
 
           <div style="width: 100%">
             <div>
+              <el-form-item label="附件:"  prop="wfFileShareAttachList" class="info-line online1">
               <myUpload
                 @uploadBack="uploadBack"
                 :fileInfo="fileInfo"
                 :fileList="fileInfo.fileList"
+                style="width: 100% ;height: 120px !important"
               >
               </myUpload>
+               </el-form-item>
             </div>
           </div>
         </div>
@@ -413,7 +416,7 @@
 </template>
 <script>
 import mySearch from "../../../components/search.vue";
-import myUpload from "../../../components/upload.vue";
+import myUpload from "../../../components/uploadfour.vue";
 import deptTreeOnly from "../../../components/deptTreeOnly.vue";
 import myMessage from "../../../components/myMessage.vue";
 import { MessageBox } from "element-ui";
@@ -499,7 +502,19 @@ export default {
       ruless: {
         cycle: [{type: "array",required: true,trigger: "blur",message: "下单周期不能为空"}],
         needCode: [{required: true,trigger: "blur",message: "需求编号不能为空"}],
-        businessName: [{required: true,trigger: "blur",message: "业务名称不能为空"}],},
+        businessName: [{required: true,trigger: "blur",message: "业务名称不能为空"}],
+        // wfFileShareAttachList:[
+        //                 { required: true, validator: this.validatormk, trigger: "blur"},
+        //               ],
+        },
+         rulesss: {
+        cycle: [{type: "array",required: true,trigger: "blur",message: "下单周期不能为空"}],
+        needCode: [{required: true,trigger: "blur",message: "需求编号不能为空"}],
+        businessName: [{required: true,trigger: "blur",message: "业务名称不能为空"}],
+        wfFileShareAttachList:[
+                        { required: true, validator: this.validatormk, trigger: "blur"},
+                      ],
+        },
       rules: {
         useCase: [{required: true,trigger: "change",message: "请选择使用场景"}],
         formType: [{required: true,trigger: "change",message: "请选择表单类型"}],
@@ -514,7 +529,7 @@ export default {
       tableData: [{}],
       disableStatus: false,
       infolist: {},
-      needCode: "",
+      // needCode: "",
       pickerOptions0: {
         disabledDate(time) {
           return time.getTime() < Date.now() - 8.64e7; //如果没有后面的-8.64e7就是不可以选择今天的
@@ -604,57 +619,14 @@ export default {
       fileInfo: {
         // type: "img",
         limit: 50,
-        url: "/market/waf/upload",
+        url: "/market/waf/uploadByMinio",
         fileList: [],
       },
       infotype: "01",
       // checkList: [],
-      infomaterType: [
-        // {riqi:'2023-02-08',
-        //  formType:'自有渠道',
-        //  region:'大庆市',
-        //  district:'萨尔图',
-        //  useCase:'小区',
-        //  material:'哈哈哈哈哈',
-        //  quantity:2,
-        //  channelCode:'5425658621',
-        //  channelQuartersSchool:'发到华盛顿',
-        //  materialNo:'A01',
-        //  unit:'米',
-        //  spec:'10*10',
-        //  chang:'120',
-        //  kuan:'100',
-        //  hengShu:'150',
-        //  coefficient:2,
-        //  priority:3,
-        //  gys1Price:70,
-        //  gys2Price:30,
-       
-        // },
-         {riqi:'2023-02-09',
-         formType:'自有渠道',
-         region:'齐齐哈尔市',
-         district:'萨尔图',
-         channelCode:'1212121212',
-         useCase:'小区',
-         material:'哈哈哈哈哈',
-         quantity:3,
-         channelQuartersSchool:'发动机盖艰苦奋斗',
-         materialNo:'A02',
-         unit:'厘米',
-         spec:'10*10*10',
-         chang:'130',
-         kuan:'110',
-         hengShu:'150',
-         coefficient:3,
-         priority:4,
-         gys1Price:20,
-         gys2Price:30,
-        
-        }
-      ],
+      infomaterType: [],
       multipleSelection: [],
-      centarapply:{},
+      // centarapply:{},
       centerDialogVisible: false,
       delid: "",
       uploadstatus: false,
@@ -717,6 +689,7 @@ export default {
       }).then((res) => {
        
         this.infolist.needCode = res.data;
+        console.log(this.infolist.needCode);
       });
     },
     //后台返部门
@@ -729,15 +702,24 @@ export default {
          },
         
       }).then((res) => {
-       console.log(res.data);
+   
         this.applydept = res.data;
         // this.ruleForm.applyNew = res.data;
       });
     },
     tableSelectionChange(val) {
-      console.log(val);
+   
       this.multipleSelection = val;
     },
+      validatormk(rule,value,callback){
+      // console.log(this.ruleForm.wfFileShareAttachList)
+      if(this.infolist.wfFileShareAttachList == null){
+         console.log(111);
+        callback(new Error('请上传附件'));
+      }else{
+        callback();
+      }
+    },
     //物料名称联动
     changeMing(v,ev){
       if(v == 1){
@@ -751,26 +733,22 @@ export default {
                   sceneName: ev,
               },
         }).then((res) => {
-          console.log(res.data);
+       
           this.metirialOpt = res.data;
         });
        }else{
-        console.log(ev);
+      
           let that = this;
-            // console.log(that);
+        
             let hh = that.metirialOpt.filter(function (c, i, a) {
-              // console.log(c,i,a);
+           
            if (c.metirialName == that.formlist.material) {
           return c;
            }
           });
          this.selectLetter = hh[0];
-         console.log(this.selectLetter);
-        // this.infolian.spec = ev.size;
-        // this.infolian.unit = ev.unit;
-        // this.infolian.materialNo = ev.metirialCode;
-        // this.infolian.material = ev.metirialName;
-        // this.infolian.material = ev.metirialName;
+        //  console.log(this.selectLetter);
+       
        }
     },
     //物料筛选条件
@@ -905,7 +883,7 @@ export default {
       }
     },
     verifcheck(v, ev) {
-      console.log(v,ev);
+    
       if (v == 2) {
         if (ev.length === this.countyOpt.length) {
           this.isSelAllCounty = true;
@@ -956,7 +934,7 @@ export default {
     },
     verifcheck1(v,ev){
       if(v == 1){
-        console.log(ev);
+     
          this.$http({
                 url: "/sysmgr/regionComp/queryList",
                 method: "post",
@@ -967,7 +945,7 @@ export default {
                   parentCompId: ev,
                 },
               }).then((res) => {
-                // console.log(res.data);
+              
                 this.countyOpt = res.data;
               });
         this.$http({
@@ -980,19 +958,19 @@ export default {
                   regionCode: ev,
                 },
               }).then((res) => {
-                // console.log(res.data);
-                // this.countyOpt = res.data;
+              
+              
               });
                let that = this;
-            // console.log(that);
+          
             let hh = that.regionOpt.filter(function (c, i, a) {
-              // console.log(c,i,a);
+              
            if (c.compId == that.formlist.region) {
           return c;
            }
           });
          this.selectLettercurrent = hh[0].compName;
-         console.log(this.selectLettercurrent);
+        //  console.log(this.selectLettercurrent);
       }else{
          this.$http({
                 url: "/market/cadvBusiMetirial/queryList",
@@ -1004,8 +982,8 @@ export default {
                   countyName: ev,
                 },
               }).then((res) => {
-                console.log(res.data);
-                // this.countyOpt = res.data;
+               
+              
               });
       }
     },
@@ -1015,12 +993,7 @@ export default {
       this.getRegion();
       
       
-      // let obj1 = {id:2};
-      // let obj2 = {name:'hhhhh'};
-      // let obj3 = {...obj1,...obj2};
-      // console.log(obj3);
-      // this.arrger.push({obj3})
-      // console.log(this.arrger);
+      
     },
     //下单信息, 获取地市
     getRegion() {
@@ -1039,15 +1012,15 @@ export default {
           this.shijinyong = true;
            this.formlist.region = this.userInfo.cityName;
            let that = this;
-            // console.log(that);
+          
             let hh = that.regionOpt.filter(function (c, i, a) {
-              // console.log(c,i,a);
+            
            if (c.compName == that.formlist.region) {
           return c;
            }
           });
          this.selectcurrent = hh[0].compId;
-         console.log(this.selectcurrent);
+        //  console.log(this.selectcurrent);
          this.$http({
                 url: "/sysmgr/regionComp/queryList",
                 method: "post",
@@ -1058,7 +1031,7 @@ export default {
                   parentCompId: this.selectcurrent,
                 },
               }).then((res) => {
-                // console.log(res.data);
+              
                 this.countyOpt = res.data;
               });
                this.$http({
@@ -1071,8 +1044,7 @@ export default {
                   regionCode: this.selectcurrent,
                 },
               }).then((res) => {
-                // console.log(res.data);
-                // this.countyOpt = res.data;
+                
               });
         }
        
@@ -1118,6 +1090,7 @@ export default {
   
     //选择类型 填写下单信息
     typestscheck() {
+    
       this.$refs.formlist.validate((valid) => {
         if (valid) {
           let from = {}
@@ -1132,14 +1105,16 @@ export default {
             },
             data: from,
           }).then((res) => {
-           console.log(res.data.body);
+         
+           this.centarapply = {};
             this.centarapply.useCase = this.formlist.useCase;
           this.centarapply.material = this.formlist.material;
           this.centarapply.riqi = this.$util.dateFormat(this.formlist.riqi);
           this.centarapply.quantity = this.formlist.quantity;
           this.centarapply.formType = this.formlist.formType;
           this.centarapply.channelQuartersSchool = this.formlist.channelQuartersSchool;
-          this.centarapply.region = this.formlist.region;
+          // this.centarapply.region = this.formlist.region;
+          this.centarapply.region = this.$route.query.applyType == "地市" ? this.applydept : this.selectLettercurrent;
           this.centarapply.district = this.formlist.district;
            this.centarapply.spec = this.selectLetter.size;
           this.centarapply.unit = this.selectLetter.unit;
@@ -1158,13 +1133,10 @@ export default {
           });
           this.typests = false;
           
-          console.log(this.infomaterType);
+    
         }
       });
-      // setTimeout(function () {
-      //   console.log(111111111);
-      //    let formlist = {};
-      //    }, 500);
+
     },
     shanchu(){
        this.fileInfo.fileList = [];
@@ -1174,12 +1146,12 @@ export default {
     },
     //添加
     dialogCli(v) {
-      // console.log(tianjia);
+   
       this.$refs.infolist.validate((valid) => {
         if (valid) {
-          // console.log(tianjia);
+    
           if (v === 1) {
-            // console.log(tianjia);
+         
             this.fileInfo.fileList = [];
             this.infolist = {};
             return;
@@ -1221,9 +1193,9 @@ export default {
     },
     //保存
     wuliaoadd(){
-      // console.log(this.infolist);
+   
        this.$refs.infolist.validate((valid) => {
-          console.log(valid);
+      
           if (valid) {
              
               if(this.multipleSelection.length == 0){
@@ -1232,7 +1204,7 @@ export default {
                 this.$message.success("保存成功");
                   let list = {}
               list.businessName = this.infolist.businessName;//业务名称
-              console.log(this.infolist.cycle);
+          
               list.cycleList = [this.$util.dateFormat(this.infolist.cycle[0]),this.$util.dateFormat(this.infolist.cycle[1])];
               list.needCode = this.infolist.needCode;
               // list.xcwlProProcessList = this.infomaterType;
@@ -1251,7 +1223,7 @@ export default {
                   
                     data: list,
                   }).then((res) => {
-                  console.log(res.data);
+                
                     // this.infomaterType = res.data;
                     if(res.data){
                       this.$router.go(-1); 
@@ -1405,7 +1377,8 @@ export default {
     },
     uploadBack(v) {
       this.attList = v;
-      console.log(this.attList);
+      this.infolist.wfFileShareAttachList = v;
+      console.log(this.infolist.wfFileShareAttachList);
 
     },
    
@@ -1472,11 +1445,17 @@ export default {
     this.getTermianl();
     this.getUser();
     this.getList();
-    this.getNeedCode();
+    
   },
   created() {
-   console.log(this.$route.query); 
-   console.log(this.$route.query.applyType); 
+    this.getNeedCode();
+    // console.log(this.infolist.needCode);
+  //  console.log(this.$route.query); 
+   console.log(this.$route.query.applyType);
+    if(this.$route.query.applyType == "地市"){
+      // this.ruless = { ...this.ruless, ...rulesss }
+      this.ruless = this.rulesss
+    }
     this.getDept();
   },
 };
@@ -1531,7 +1510,7 @@ export default {
     border-radius: 3px;
     background: #fff;
     position: relative;
-    height: 100px;
+    height: 150px;
 
     img {
       width: 100%;
@@ -1670,13 +1649,19 @@ export default {
   }
 }
 ::v-deep.online .el-form-item__content {
-  width: 98%;
+  width: 100%;
   margin-left: 0 !important;
+  line-height: 28px;
+}
+::v-deep.online1 .el-form-item__content {
+  width: 100%;
+  margin-left: 0 !important;
+  line-height: 28px;
 }
-
 ::v-deep.el-upload {
   width: 98% !important;
   padding: 0 !important;
+  height: 150% !important;
 }
 .el-row {
   margin: 0 !important;

+ 121 - 138
src/pages/main/advertising/materialApplicationds.vue

@@ -53,12 +53,12 @@
                             <!-- <el-table-column label="结算金额" prop="replyContent"></el-table-column> -->
                             <el-table-column label="麦穗" prop="gys1Price"></el-table-column>
                             <el-table-column label="神笔" prop="gys2Price"></el-table-column>
-                            <el-table-column label="状态" prop="taskName"></el-table-column>
+                            <el-table-column label="状态" prop="taskname"></el-table-column>
                             <el-table-column label="操作"  fixed="right" align="center">
                                 <template slot-scope="scope">
-                                    <el-button size="mini" type="text" @click="getinform(scope.row)" v-if="scope.row.taskName == null">
+                                    <el-button size="mini" type="text" @click="getinform(scope.row)" v-if="scope.row.taskname == null || scope.row.taskname == '起草'">
                                         任务下发</el-button>
-                                    <el-button size="mini" type="text" @click="chakanfaqi(scope.row)" v-if="scope.row.taskName != null">
+                                    <el-button size="mini" type="text" @click="chakanfaqi(scope.row)" v-if="scope.row.taskname != null && scope.row.taskname != '起草'">
                                         查看</el-button>
                                 </template>
                                  <!-- <template slot-scope="scope">
@@ -100,6 +100,7 @@
         <el-dialog
         title="处理操作"
         :visible.sync="dialogVisible1"
+        v-if="dialogVisible1"
         :before-close="handleCloses"
         width="100%"
         height="100vh"
@@ -137,6 +138,7 @@
         class="dialogClass"
         top="0"
         :modal="false"
+        :show-close="false"
         :modal-append-to-body="true"
       >
         <span class="dialog-body">
@@ -344,6 +346,7 @@
 
           <div style="width: 96%; margin:20px 0 0 38px">
             <div>
+              
               <myUpload
                 @uploadBack="uploadBack"
                 @clickDownload = "download"
@@ -352,6 +355,7 @@
                 :fileList="fileInfo.fileList"
               >
               </myUpload>
+              
             </div>
           </div>
         </div>
@@ -401,7 +405,7 @@
       width="50%"
       :destroy-on-close="true"
       :modal-append-to-body="false"
-      :close-on-click-modal="false"
+      :show-close="false"
       :before-close="closedia"
     >
       <el-form
@@ -418,6 +422,7 @@
               clearable
               v-model="rulelist.useCase"
               placeholder="使用场景"
+              disabled
             >
               <el-option
                 v-for="(items, index) in useCaseopt"
@@ -432,6 +437,7 @@
             <el-select
               v-model="rulelist.formType"
               placeholder="请选择表单类型"
+              disabled
             >
               <el-option
                 v-for="(item, index) in optionList"
@@ -447,6 +453,7 @@
               clearable
               v-model="rulelist.material"
               placeholder="物料名称"
+              disabled
             >
               <el-option
                 v-for="(items, index) in metirialOpt"
@@ -462,6 +469,7 @@
                         v-model="rulelist.quantity"
                         placeholder="数量"
                         type="number"
+                        oninput="value=value.replace(/^(0+)|[^\d]+/g,'')"
                         style="width:256px"
                         >
             </el-input>
@@ -483,7 +491,7 @@
       <div class="t-footer">
         <!--  -->
         <el-button type="primary" @click="gengxinge">确 定</el-button>
-        <el-button @click="closediaform">取 消</el-button>
+        <!-- <el-button @click="closediaform">取 消</el-button> -->
       </div>
     </el-dialog>
         <el-dialog
@@ -532,9 +540,10 @@
     import mySearch from "../../../components/search.vue";
     import myMessage from "../../../components/myMessage.vue"
     import toolList from '../../../components/toolList'
-	import myUpload from '../../../components/upload'
-    import tableList from "../../../components/el-form";
+	import myUpload from '../../../components/uploadfour'
+    import tableList from "../../../components/el-formfour";
     import Workflow from "../../../components/workflowBasexcwls";
+    import getConfig from '../../../config/dev.js'
 // import Workflow from "../../../components/workflow";
     // import WorkflowEntrance from "../../../components/workflowEntrance";
    import {
@@ -570,7 +579,7 @@
             // }
             return {
                   requestForm: {
-                    fresourceId: "241efa62-a816-11ed-886f-d6cd97160e00",
+                    fresourceId: getConfig().materialApplicationdsfresourceId,
                     processDefinitionKey: "xcwl_cit_process",
                     processDefinitionKey1: "xcwl_pro_process",
                     // processDefinitionKeys: "xcwl_cit_process",
@@ -695,7 +704,7 @@
           },
            {
             label: "状态",
-            prop: "taskName",
+            prop: "taskname",
             width: 200,
           },
         ], //表格头
@@ -727,9 +736,7 @@
                             label: "任务下发", // 操作名称
                             type: "", //按钮类型
                             handleRow: function (e, r, o) {
-                                console.log(e);
-                                console.log(r);
-                                console.log(o);
+                            
                                 // getinform
                                 // this.getinform(r);
                             }, // 自定义事件
@@ -819,7 +826,7 @@
           },
            {
             label: "状态",
-            prop: "taskName",
+            prop: "taskname",
             width: 200,
           },
         ], //表格头
@@ -851,9 +858,7 @@
                             label: "任务下发", // 操作名称
                             type: "", //按钮类型
                             handleRow: function (e, r, o) {
-                                console.log(e);
-                                console.log(r);
-                                console.log(o);
+                           
                                 // getinform
                                 // this.getinform(r);
                             }, // 自定义事件
@@ -969,10 +974,6 @@
                     cycle: [{type: "array",required: true,trigger: "blur",message: "下单周期不能为空"}],
                     needCode: [{required: true,trigger: "blur",message: "需求编号不能为空"}],
                     businessName: [{required: true,trigger: "blur",message: "业务名称不能为空"}],
-                    // districtScore: [{required: true,trigger: "blur",message: "区县打分不能为空"}],
-                    // gys: [{required: true,trigger: "change",message: "请选择供应商"}],
-                    // materialUrl: [{required: true,trigger: "blur",message: "物料验证材料链接不能为空"}],
-
                 },
                 childname:"first",
                 tooltit:'物料申请管理',
@@ -998,6 +999,7 @@
                 deal: true,
                 baocun: true,
                 rulelist:[],
+                wfFileShareAttachList:[],
                 teshuhuanjie: [],
                 isWorkflowStatus:false,
                 titname: '',
@@ -1014,7 +1016,7 @@
                 updisabled:false,
 				fileInfo: {
 				    limit: 10,
-				    url: '/market/waf/upload',
+				    url: '/market/waf/uploadByMinio',
 				    fileList: []
 				},
 				infoApply:{},
@@ -1037,8 +1039,7 @@
         watch:{
           'infolist.tabletaskName':{
           handler(newVal,oldVal){
-            // console.log(this.ruleForm);
-            console.log(newVal);
+          
             let rule1 = {
              gys: [
                 { required: true, validator: this.validatorFile , trigger: "blur" },
@@ -1051,39 +1052,23 @@
                 { required: true, validator: this.validatorLianjie , trigger: "blur" },],
             }
             if(newVal === '省公司宣传负责人'){
-              console.log(121);
+           
               this.rules = { ...this.rules, ...rule1 }
-              console.log(111);
+           
               }
               else if(newVal === '区县公司负责人'){
-                console.log(1234);
+             
                this.rules = { ...this.rules, ...rule2 }
               }
           },
           deep:true,
           
           },
-          //  'infolist.tabletaskName':{
-          // handler(newVal,oldVal){
-          //   // console.log(this.ruleForm);
-          //   // console.log(newVal);
-          //   let rule2 = {
-          //    districtScore: [
-          //       { required: true, validator: this.validatorDafen , trigger: "blur" },],
-          //     materialUrl: [
-          //       { required: true, validator: this.validatorLianjie , trigger: "blur" },],
-          //   }
-          //   if(newVal === '市公司主管宣传副主任'){
-          //     this.rules = { ...this.rules, ...rule }
-          //     }
-          // },
-          // deep:true,
-          
-          // },
+        
         },
         methods: {
             clickTabs(name){
-                console.log(name);
+              
                 this.pageNo = "1";
                 this.page = "1";
                 this.childname = name;
@@ -1101,8 +1086,7 @@
               changeNum(val) {
                 this.page = val;
                 this.pageNo = val;
-                console.log(this.page);
-                console.log(this.childname);
+             
                 switch (this.childname) {
                     case "first":
                     this.getTodoList();
@@ -1120,7 +1104,7 @@
                 }
                 },
                   clickDemand(e, r) {
-      //  console.log(e,r);
+    
       if (e === "业务名称") {
         if(this.childname == "first"){
           
@@ -1166,10 +1150,10 @@
     // },
       //点击标题
          operationZuo(r){
-          console.log(r);
+        
           let list = {}
           list.id = r.id,
-          // console.log(row)
+      
           this.$http({
             url:"/market/xcwlProcess/query",
             method:"post",
@@ -1191,8 +1175,8 @@
             this.infolist.taskId = r.taskId;
             this.infolist.id = r.id;
             this.infolist.createId = r.createId;
-            this.infolist.tabletaskName = r.taskName;
-            // console.log(this.infolist.tabletaskname);
+            this.infolist.tabletaskName = r.taskname;
+        
             this.infolist.gys = res.data.xcwlProProcessList[0].selectedGys;
             this.infolist.districtScore = res.data.xcwlProProcessList[0].districtScore;
             this.infolist.materialUrl = res.data.xcwlProProcessList[0].materialUrl;
@@ -1217,37 +1201,43 @@
                     },
                     data:{},
                   }).then((res) => {
-                  // console.log(res.data);
-                  this.gysopt = res.data;
-                  // console.log( this.infolist.gysopt);
-                    // this.infomaterType = res.data;
-                    // if(res.data){
-                    //  this.typests = false;
-                    //   return;
-                    // }
+                this.gysopt = res.data;
+                
                   });
           });
         },
          uploadBack(v) {
+
           this.attList = v;
-          console.log(this.attList);
+          this.ruleForm.wfFileShareAttachList = v;
+          console.log(this.ruleForm.wfFileShareAttachList);
+          // console.log(this.attList);
 
     },
+     validatormk(rule,value,callback){
+      console.log(this.ruleForm.wfFileShareAttachList)
+      if(this.ruleForm.wfFileShareAttachList == null){
+         console.log(111);
+        callback(new Error('请上传附件'));
+      }else{
+        callback();
+      }
+    },
     gysMing(n,ev){
         let that = this;
-            // console.log(that);
+           
             let hh = that.gysopt.filter(function (c, i, a) {
-              // console.log(c,i,a);
+             
            if (c.name == that.infolist.gys) {
           return c;
            }
           });
          this.selectLetter = hh[0].code;
-         console.log(this.selectLetter);
+        //  console.log(this.selectLetter);
     },
     dealwith(){
       if(this.infolist.tabletaskName == "省公司宣传负责人" || this.infolist.tabletaskName == "区县公司负责人"){
-       console.log(this.teshuhuanjie);
+   
        if(this.teshuhuanjie.length == 0){
            this.$message.error("请先点击保存");
         }else{
@@ -1259,7 +1249,7 @@
       
     },
     updatexiuform(r){
-      console.log(r);
+    
       this.typests = true;
       this.rulelist = r;
     },
@@ -1269,26 +1259,30 @@
     //更新表格
     gengxinge(){
        this.typests = false;
-        // this.$http({
-        //             url: "/market/xcwlProcess/update",
-        //             method: "post",
-        //             headers: {
-        //               "Content-Type": "application/json",
-        //             },
+        let rulelistform = {}
+         rulelistform.metirialName = this.rulelist.material;
+         rulelistform.quantity = this.rulelist.quantity;
+         rulelistform.ratio = this.rulelist.coefficient;
+        this.$http({
+                    url: "/market/xcwlProcessImport/getPriByMetirialName",
+                    method: "post",
+                    headers: {
+                      "Content-Type": "application/json",
+                    },
                   
-        //             data: this.rulelist,
-        //           }).then((res) => {
-        //           console.log(res.data);
-        //             // this.infomaterType = res.data;
-        //             if(res.data){
-        //              this.typests = false;
-        //               return;
-        //             }
-        //           });
+                    data: rulelistform,
+                  }).then((res) => {
+              
+
+                    this.infomaterType[0].gys1Price = res.data.body.gys1Price;
+                    this.infomaterType[0].gys2Price = res.data.body.gys2Price;
+
+                   
+                  });
     },
       validatorFile(rule,value,callback){
       if(this.infolist.gys == null){
-        // console.log(this.ruleForm.addJobNumber);
+       
         callback(new Error('请选择供应商'));
       }else{
         
@@ -1297,7 +1291,7 @@
     },
       validatorDafen(rule,value,callback){
       if(this.infolist.districtScore == null || ""){
-        console.log(this.infolist.districtScore);
+       
         callback(new Error('请输入区县打分'));
       }else{
         
@@ -1306,7 +1300,7 @@
     },
      validatorLianjie(rule,value,callback){
       if(this.infolist.materialUrl == null || ""){
-        console.log(this.infolist.materialUrl);
+    
         callback(new Error('请输入物料验证材料链接'));
       }else{
         
@@ -1315,16 +1309,12 @@
     },
     //任务下发
     getinform(r){
-      console.log(r);
+  
       this.infolist = r;
       this.infolist.id = r.id;
       this.request_form.businessKey = r.id;
       this.getUserIds();
-    //   console.log(this.request_form);
-    //   this.infolist.userId = this.request_form.userId;
-    //   this.infolist.userName = this.request_form.userName;
-    //   console.log(r);
-    //   this.clickHandle(r);
+  
     },
        //获取userID
        getUserIds() {
@@ -1339,18 +1329,17 @@
           // params: JSON.parse(window.sessionStorage.userInfo).loginNo,
        },
       }).then((res) => {
-        // console.log(res.data.data.rows[0].name);
-        // console.log(res.data.data.rows[0].userCode);
-        console.log(res.data[0].children);
+       
+        // console.log(res.data[0].children);
         this.request_form.userName = res.data[0].children[0].loginNameStr;
         this.request_form.userId = res.data[0].children[0].loginNoStr;
         this.request_form.title = '[市场工作台]-'+'地市宣传物料申请及审批-'+ this.infolist.needName;
-        console.log(this.request_form);
+       
         this.clickHandle(this.infolist);
        });
      },
      async clickHandle(e) {
-        console.log(this.request_form);
+      
       let _this = this;
       let obj = {
       url: this.$url.formList.startWork, //开始工作流接口
@@ -1363,12 +1352,7 @@
       
       let res = await this.common.httpPost(obj, success);
       function success(data) {
-        console.log(data);
-//         _this.ruleForm.taskId = _this.ruleForm.taskId;
-        // a = a 
-//         _this.taskId = data.data;
-      //  console.log(data);
-      //  console.log(data.code);
+    
       _this.infolist.processId = data.data;
        let list = {
          id: e.id,
@@ -1378,15 +1362,13 @@
           
           // resourceId: _this.nextPath.currentShape[0].resourceId,
        };
-        // console.log(processDefinitionKey);
-        console.log(list);
+      
          _this.setUpdate(list);
       }
      },
     //更新工作流接口
 
     setUpdate(e) {
-      console.log(e);
       this.$http({
        url: "/market/waf/updateBase",
         method: "post",
@@ -1401,7 +1383,7 @@
     },
      //是否最后一个人
     async getLastName() {
-      console.log(this.infolist);
+  
       let list = {
         procinstid: this.infolist.processId,
         taskid: this.infolist.taskId,
@@ -1420,7 +1402,7 @@
 
       let res = await this.common.httpPost(obj, success);
       function success(data) {
-        console.log(data);
+    
         if (data.lastMan == true) {
           _this.adminResourceId = data.adminResourceId;
         }
@@ -1429,7 +1411,7 @@
         _this.isWorkflowStatus = data.lastMan == false ? false : true;
         _this.lastManList = data;
 
-        // console.log(_this.isWorkflowStatus);
+      
       }
     },
      getNextPath(e) {
@@ -1455,20 +1437,20 @@
         data: list,
       }).then((res) => {
         if (res.data.body.nextShapes[0].multi) {
-          console.log('这是mulit节点');
+          // console.log('这是mulit节点');
           if (res.data.body.nextShapes[0].multi.multi === "true") {
-             console.log('这是mulit节点');
+            //  console.log('这是mulit节点');
             this.getLastName();
           } else {
             this.adminResourceId = ''
-            console.log('这不是mulit节点');
+            // console.log('这不是mulit节点');
             this.destroy = true;
             this.dialogVisible1 = true;
             // this.getMetirialType();
           }
         } else {
           this.adminResourceId = ''
-          console.log('这不是mulit节点');
+          // console.log('这不是mulit节点');
           this.destroy = true;
           this.dialogVisible1 = true;
         //   this.getMetirialType();
@@ -1481,8 +1463,7 @@
     },
     //处理按钮,开始工作流接口
     clickHandles() {
-      //   console.log(this.infolist.resourceId);
-      // this.getNextPath(this.infolist.resourceId || "");
+    
       this.dialogVisible1 = true;
     },
       async clickForm(r) {
@@ -1539,36 +1520,39 @@
       this.dialogVisible1 = false;
       this.dialogVisible = false;
       this.getIssueList();
+      this.getTodoList();
+      this.haveDone();
     //   this.refreshbtn();
     },
-    //  changeNum(e) {
-    //         console.log(e)
-    //         this.pageNo = e;
-    //         this.page = e;
-    //         this.firstTable.pageData.pageNum = e;
-    //         this.getTodoList()
-    //     },
+  
             adminhandleSizeChange(val) {
-            console.log(`每页 ${val} 条`);
+            // console.log(`每页 ${val} 条`);
         },
          adminhandleCurrentChange(val) {
-            // console.log(e)
+           
             this.pageNo = val;
 
             this.getIssueList()
-            console.log(`当前页: ${val}`);
+            // console.log(`当前页: ${val}`);
         },
         handleCloses() {
           this.treeList = [];
           this.textarea = "";
           this.dialogVisible1 = false;
-
+          // this.getIssueList();
+          this.getTodoList();
+          this.haveDone();
+          this.getIssueList();
     },
     close(){
      this.dialogVisible = false;
+     this.tableData1 = [];
     },
     //我发起列表
        getIssueList(e) {
+        let list = { 
+              applyType: "地市"
+            };
             this.loading2 = true;
             this.$http({
                 url: "/market/xcwlProcessImport/queryPage",
@@ -1577,7 +1561,7 @@
                     "Content-Type": "application/json",
                     page: '{"pageNo":"' + this.pageNo + '","pageSize":"10"}',
                 },
-               data:this.searchBox,
+               data:list,
             }).then((res) => {
                 this.tableData = res.data.data;
                  this.tabList[2].number = res.data.totalRecord;
@@ -1632,7 +1616,7 @@
       //  this.twoTable.pageData.total = res.data.totalRecord;
       //   this.tabList[1].number = res.data.totalRecord;
       //   this.Table = this.twoTable;
-      // //  console.log(this.Table);
+     
       // //  this.tabList[1].number = res.data.totalRecord;
       // })
        let list = {
@@ -1651,13 +1635,13 @@
               this.twoTable.data = res.data.data;
              this.twoTable.pageData.total = res.data.totalRecord;
               this.tabList[1].number = res.data.totalRecord;
-              this.Table = this.twoTable;
+              // this.Table = this.twoTable;
                 
             });
     },
     saveform(){
        this.$refs.infolist.validate((valid) => {
-          console.log(valid);
+        
           if (valid) {
                this.$message.success("保存成功");
               let list = {}
@@ -1669,7 +1653,7 @@
               list.gys = this.infolist.gys;
               list.materialUrl = this.infolist.materialUrl;
               list.xcwlProProcessList = this.infomaterType;
-              list.gysCode = this.selectLetter;
+              list.gysCode = this.infolist.tabletaskName == '省公司宣传负责人' ? this.selectLetter:null;
               // list.xcwlProProcessList = this.multipleSelection;
              
               if(this.attList == null){
@@ -1686,7 +1670,7 @@
                   
                     data: list,
                   }).then((res) => {
-                  console.log(res.data);
+              
                      this.teshuhuanjie = res.data;
                      
                     // this.infomaterType = res.data;
@@ -1704,11 +1688,11 @@
    
     },
       download(u) {
-      console.log(u);
+   
 
       // if (this.ruleForm.wfFileShareAttachList.length > 1) {
         this.$http({
-          url: "/market/waf/downAllFile",
+          url: "/market/waf/downAllFileByMinio",
           method: "post",
           headers: {
             "Content-Type": "application/json",
@@ -1849,7 +1833,7 @@
                 }).then((res) => {
                     this.tableData = res.data.body.pageList.data;
                     this.total = res.data.body.pageList.totalRecord;
-                    // console.log(this.tableData);
+                  
                     this.loading = false;
 
                 });
@@ -1986,8 +1970,8 @@
             },
             //文件返回值
             uploadBack(v) {
-                console.log(v)
-                this.attList = v;
+            this.attList = v;
+            this.ruleForm.wfFileShareAttachList = v;    
             },
             //功能栏
             iconCli(v) {
@@ -2007,13 +1991,12 @@
         mounted() {
             // this.getList({}, 1);
             this.getUser();
+             
+             this.getTodoList();
         },
         created() {
-          // console.log(this.$route); 
-            
-            this.getTodoList();
             this.Table = this.firstTable;
-            // this.haveDone();
+            this.haveDone();
             this.getIssueList();
         }
     }

+ 211 - 116
src/pages/main/advertising/materiel.vue

@@ -40,13 +40,6 @@
                     </el-table-column>
                     <el-table-column prop="proviceFlagName" label="下单模式">
                     </el-table-column>
-                    <!-- <el-table-column prop="metirialType" label="细分类型">
-					</el-table-column> -->
-
-<!--                    <el-table-column prop="metirialType" label="类别">-->
-<!--                    </el-table-column>-->
-<!--                    <el-table-column prop="isAsic" label="基础数据">-->
-<!--                    </el-table-column>-->
                     <el-table-column
                         prop="metirialCode"
                         label="物料编码"
@@ -55,16 +48,7 @@
                     </el-table-column>
                     <el-table-column prop="metirialName" label="物料名称">
                     </el-table-column>
-<!--                    <el-table-column prop="supplierCode" label="供应商">-->
-<!--                    </el-table-column>-->
-<!--                    <el-table-column prop="size" label="规格尺寸">-->
-<!--                    </el-table-column>-->
-<!--                    <el-table-column prop="coefficient" label="勾选后系数">-->
-<!--                    </el-table-column>-->
-                    <!--<el-table-column prop="quality" label="材质" width="200" show-overflow-tooltip>
-					</el-table-column> -->
-                    <!-- <el-table-column prop="size" label="规格" show-overflow-tooltip>
-					</el-table-column> -->
+
                     <el-table-column prop="unit" label="物料单位">
                     </el-table-column>
                     <el-table-column prop="price" label="不含税单价(元)">
@@ -125,9 +109,10 @@
                 >
                     <div class="info-line">
                         <el-form-item prop="sceneName">
+                            <!-- :disabled="disableStatus" -->
                             <span>使用场景</span>
                             <el-select
-                                :disabled="disableStatus"
+                                
                                 :popper-append-to-body="false"
                                 multiple
                                 v-model="infolist.sceneName"
@@ -143,19 +128,20 @@
                                 </el-option>
                             </el-select>
                         </el-form-item>
-                        <el-form-item prop="proviceFlag">
+                         <!-- :disabled="disableStatus" -->
+                        <el-form-item prop="proviceFlagName">
                             <span>下单模式</span>
                             <el-select
-                                :disabled="disableStatus"
+                               
                                 :popper-append-to-body="false"
-                                v-model="infolist.proviceFlag"
+                                v-model="infolist.proviceFlagName"
                                 placeholder="下单模式"
                             >
                                 <el-option
                                     v-for="item in proviceopt"
                                     :key="item.id"
                                     :label="item.name"
-                                    :value="item.id"
+                                    :value="item.name"
                                 >
                                 </el-option>
                             </el-select>
@@ -200,13 +186,13 @@
 							<el-input v-model="infolist.metirialType" placeholder="细分类型" :disabled="disableStatus">
 							</el-input>
 						</el-form-item> -->
-
+                        <!-- :disabled="metirialCodeDisableStatus" -->
                         <el-form-item prop="metirialCode">
                             <span>物料编码</span>
                             <el-input
                                 v-model="infolist.metirialCode"
                                 placeholder="物料编码"
-                                :disabled="metirialCodeDisableStatus"
+                                
                             >
                             </el-input>
                         </el-form-item>
@@ -218,10 +204,11 @@
 									:value="item.dataName">
 								</el-option>
 							</el-select> -->
+                            <!-- :disabled="disableStatus" -->
                             <el-input
                                 v-model="infolist.metirialName"
                                 placeholder="物料名称"
-                                :disabled="disableStatus"
+                                
                             >
                             </el-input>
                         </el-form-item>
@@ -268,11 +255,12 @@
 <!--                                </el-option>-->
 <!--                            </el-select>-->
 <!--                        </el-form-item>-->
+<!-- :disabled="disableStatus" -->
                         <el-form-item prop="unit">
                             <span>物料单位</span>
                             <!-- <el-input v-model="infolist.unit" placeholder="单位" :disabled="disableStatus"></el-input> -->
                             <el-select
-                                :disabled="disableStatus"
+                                
                                 :popper-append-to-body="false"
                                 v-model="infolist.unit"
                                 placeholder="物料单位"
@@ -286,13 +274,16 @@
                                 </el-option>
                             </el-select>
                         </el-form-item>
+                        <!-- :disabled="disableStatus" oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" -->
                         <el-form-item prop="price">
                             <span>不含税单价(元)</span>
                             <el-input
+                                 
+                                oninput="value = value.replace(/^(-)(\d+).(\d\d).$/,’$1$2.$3’)"
                                 type="number"
                                 v-model="infolist.price"
                                 placeholder="不含税单价(元)"
-                                :disabled="disableStatus"
+                                
                             ></el-input>
                         </el-form-item>
                         <!-- <el-form-item>
@@ -315,7 +306,13 @@
                     <el-button
                         type="primary"
                         @click="dialogCli(2)"
-                        v-if="titname !== '查看'"
+                        v-if="titname === '修改'"
+                        >确 定</el-button
+                    >
+                    <el-button
+                        type="primary"
+                        @click="xintianjia()"
+                        v-if="titname === '添加'"
                         >确 定</el-button
                     >
                     <el-button @click="dialogCli(1)" v-if="titname === '查看'"
@@ -348,11 +345,30 @@ export default {
         myUpload
     },
     data() {
-        const sceneName = (rule, value, callback) => {
-            if (!this.infolist.sceneName) {
-                callback(new Error("不能为空"));
+        // const sceneName = (rule, value, callback) => {
+        //     if (!this.infolist.sceneName) {
+                
+        //             callback(new Error("使用场景不能为空"));
+                
+                
+        //     } else {
+        //         callback();
+        //     }
+        // };
+         let sceneName = (rule, value, callback) => {
+            if (!this.isFirstLoad) {
+                // console.log(value);
+                if(value == ''|| value == undefined){
+                    callback(new Error("使用场景不能为空"));
+                }else{
+                    callback();
+                }
+                    
+                
+                
             } else {
-                callback();
+                this.isFirstLoad = false;
+                
             }
         };
         const metirialName = (rule, value, callback) => {
@@ -429,10 +445,12 @@ export default {
 
         const price = (rule, value, callback) => {
             if (!this.infolist.price) {
-                callback(new Error("不能为空"));
+                callback(new Error("单价不能为空"));
             } else if (parseFloat(this.infolist.price) > 999999.99) {
                 callback(new Error("数量过大"));
-            } else {
+            } else if (parseFloat(this.infolist.price) <= 0){
+                callback(new Error("请输入正数"));
+            }else {
                 callback();
             }
         };
@@ -444,101 +462,109 @@ export default {
             }
         };
         return {
+            isFirstLoad : true,
             rules: {
-                sceneName: [
-                    {
-                        required: true,
-                        trigger: "change",
-                        validator: sceneName
-                    }
-                ],
+             
                 metirialName: [
                     {
                         required: true,
-                        trigger: "change",
-                        validator: metirialName
-                    }
-                ],
-                metirialType: [
-                    {
-                        required: true,
                         trigger: "blur",
-                        validator: metirialType
+                        message: "物料名称不能为空"
                     }
                 ],
-                isAsic: [
+                 sceneName: [
                     {
                         required: true,
-                        trigger: "blur",
-                        validator: isAsic
+                        trigger: "change",
+                        type: 'array',
+                        validator: sceneName
+                        // message: "使用场景不能为空"
                     }
                 ],
+                //  sceneName: [
+                //     {
+                //         required: true,
+                //         trigger: "change",
+                //         validator: function (rule, value, callback) {
+                //         if (value.length === 0) {
+                //             callback(new Error('请选择高风险问题1'))
+                //         } else {
+                //             callback()
+                //         }
+                //         },
+                //         // validator: sceneName
+                //         // message: "使用场景不能为空"
+                //     }
+                // ],
+                
+               
 
                 metirialCode: [
                     {
                         required: true,
                         trigger: "blur",
-                        validator: metirialCode
-                    }
-                ],
-                proviceFlag: [
-                    {
-                        required: true,
-                        trigger: "change",
-                        validator: proviceFlag
+                        message: "物料编码不能为空"
                     }
                 ],
                 proviceFlagName: [
                     {
                         required: true,
                         trigger: "change",
-                        validator: proviceFlagName
+                        message: "下单模式不能为空"
                     }
                 ],
+                // proviceFlagName: [
+                //     {
+                //         required: true,
+                //         trigger: "change",
+                //         validator: proviceFlagName
+                //     }
+                // ],
 
-                supplierCode: [
-                    {
-                        required: true,
-                        trigger: "change",
-                        validator: supplierCode
-                    }
-                ],
-                size: [
-                    {
-                        required: true,
-                        trigger: "blur",
-                        validator: size
-                    }
-                ],
-                coefficient: [
-                    {
-                        required: true,
-                        trigger: "blur",
-                        validator: coefficient
-                    }
-                ],
+                // supplierCode: [
+                //     {
+                //         required: true,
+                //         trigger: "change",
+                //         validator: supplierCode
+                //     }
+                // ],
+                // size: [
+                //     {
+                //         required: true,
+                //         trigger: "blur",
+                //         validator: size
+                //     }
+                // ],
+                // coefficient: [
+                //     {
+                //         required: true,
+                //         trigger: "blur",
+                //         validator: coefficient
+                //     }
+                // ],
 
                 unit: [
                     {
                         required: true,
-                        trigger: "blur",
-                        validator: unit
+                        trigger: "change",
+                        message: "物料单位不能为空"
                     }
                 ],
-                price: [
+                // price: [
+                //     {
+                //         required: true,
+                //         trigger: "blur",
+                //         message: "物料单价不能为空"
+                //     }
+                // ],
+                 price: [
                     {
                         required: true,
                         trigger: "change",
                         validator: price
                     }
                 ],
-                quality: [
-                    {
-                        required: true,
-                        trigger: "change",
-                        validator: quality
-                    }
-                ]
+           
             },
             searchList: [
                 {
@@ -622,7 +648,9 @@ export default {
             dialogStatus: false,
             disableStatus: false,//是否禁用弹窗
             titname: "",
-            infolist: {},
+            infolist: {
+                'infolist.sceneName':[]
+            },
             userInfo: {},
             params: {},
             centerDialogVisible: false,
@@ -644,7 +672,7 @@ export default {
                     id: "2",
                     name: "省+地市"
                 },{
-                    id: "",
+                    id: "3",
                     name: "省+市"
                 }
             ],
@@ -750,7 +778,7 @@ export default {
         },
         exportTempletelist() {
             let data = this.params;
-            console.log(data);
+            // console.log(data);
             // return
             this.$http({
                 url: "/market/cadvSecbuyMetirial/excelExportTemplete",
@@ -821,14 +849,14 @@ export default {
         },
         uploadBack(v) {
             let that = this;
-            console.log(v);
-            console.log(v.data.desc);
-            if(v.data.desc != "导入成功"){
-                let timer = setTimeout(() => {
-                   this.$message.error("物料编码已存在,请更改物料编码"); 
-                },800)
+            // console.log(v);
+            // console.log(v.data.desc);
+            // if(v.data.desc != "导入成功"){
+            //     let timer = setTimeout(() => {
+            //        this.$message.error("物料编码已存在,请更改物料编码"); 
+            //     },800)
                 
-            }
+            // }
             if(v.data.result==0){
                 that.getList({}, 1);
                 that.getUser();
@@ -900,6 +928,8 @@ export default {
         //申请
         dialogCheck(v, n) {
             this.dialogStatus = true;
+            this.infolist.sceneName = [],
+            this.isFirstLoad = true;
             this.infolist = Object.assign({}, n);
             if (v === 1) {
                 this.titname = "查看";
@@ -920,6 +950,68 @@ export default {
             this.infolist.opNo = this.userInfo.loginNo;
             this.infolist.opName = this.userInfo.loginName;
         },
+        
+        // 添加1
+         xintianjia(e) {
+            this.$refs.infolist.validate((valid) => {
+         
+          if (valid) {
+            this.infolist.price = parseFloat(this.infolist.price).toFixed(2);
+            let scene = "";
+                    this.infolist.sceneName.forEach((item, index) => {
+                        scene += item;
+                        if (index != this.infolist.sceneName.length - 1) {
+                            scene += "/";
+                        }
+            });
+            this.infolist.sceneName = scene;
+            this.$http({
+                url: "/market/cadvSecbuyMetirial/add",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                    
+                },
+               data: this.infolist,
+            }).then((res) => {
+        
+                // if(res.data.desc == "添加成功"){
+                //     this.infolist = {};
+                //      this.$message.success("成功");
+                //      this.dialogStatus = false;
+                //      this.getList({}, this.pageSize);
+                // }
+                if (res.data.result === 1) {
+                            this.infolist.sceneName = this.infolist.sceneName.split(
+                                "/"
+                            );
+                            this.$message({
+                                message: res.data.desc,
+                                type: "error"
+                            });
+                        } else if (res.data.result === -1) {
+                            this.infolist.sceneName = this.infolist.sceneName.split(
+                                "/"
+                            );
+                            this.$message({
+                                message: res.data.desc,
+                                type: "fail"
+                            });
+                        } else {
+                            this.$message({
+                                message: "成功",
+                                type: "success"
+                            });
+                            this.infolist = {};
+                            this.dialogStatus = false;
+                            this.getList({}, this.pageSize);
+                        }
+            });
+        
+         
+        }
+        })
+        },
         //添加
         dialogCli(v) {
             if (v === 1) {
@@ -1074,21 +1166,24 @@ export default {
         this.getList({}, 1);
         this.getUser();
 
-        this.$http({
-            url: "/sysmgr/cfgDataDicts/queryMap",
-            method: "post",
-            headers: {
-                "Content-Type": "application/json"
-            },
-            data: {
-                dictCodePks: "metirialType"
-            }
-        }).then(res => {
-            this.metirialTypeopt = res.data.body.metirialType;
-            // this.stypeList = res.data.body.materType;
-        });
+        // this.$http({
+        //     url: "/sysmgr/cfgDataDicts/queryMap",
+        //     method: "post",
+        //     headers: {
+        //         "Content-Type": "application/json"
+        //     },
+        //     data: {
+        //         dictCodePks: "metirialType"
+        //     }
+        // }).then(res => {
+        //     this.metirialTypeopt = res.data.body.metirialType;
+        //     // this.stypeList = res.data.body.materType;
+        // });
     },
-    created() {}
+    created() {
+        // if (this.multiples) this.infolist.sceneName = []
+        this.$set(this.infolist, 'this.infolist.sceneName', [])
+    }
 };
 </script>
 <style scoped lang="scss">

File diff ditekan karena terlalu besar
+ 1420 - 0
src/pages/main/applyFor/authoriZation.vue


File diff ditekan karena terlalu besar
+ 1206 - 0
src/pages/main/applyFor/backupRequire.vue


File diff ditekan karena terlalu besar
+ 1486 - 0
src/pages/main/applyFor/emergencyPlan.vue


File diff ditekan karena terlalu besar
+ 1218 - 0
src/pages/main/applyFor/internetAccess.vue


File diff ditekan karena terlalu besar
+ 1219 - 0
src/pages/main/applyFor/resourceApply.vue


File diff ditekan karena terlalu besar
+ 1181 - 0
src/pages/main/applyFor/securityAudit.vue


File diff ditekan karena terlalu besar
+ 1588 - 0
src/pages/main/applyFor/userChange.vue


+ 12 - 11
src/pages/main/bfsj/bfsjList.vue

@@ -47,7 +47,7 @@
                         <my-upload v-if="!disabled" @uploadBack="uploadBack" @delloadBack="delloadBack"
                             @clickDownload="download" :fileInfo="fileInfo" :fileList="fromList.mkFileShareAttachList"
                             style="width: 30% !important"></my-upload>
-                        <div v-if="fromList.taskName != '起草'">
+                        <div v-if="fromList.taskName != '填写备份数据申请'">
                             <div v-for="(item, index) in fromList.mkFileShareAttachList" :key="index">
                                 <span style="color: blue;cursor: pointer;" @click="downloadOne(item)">{{
                                     item.fileName
@@ -84,6 +84,7 @@ import Seach from "../../../components/el-search";
 import myUpload from "../../../components/workflowUpload";
 import Workflow from "../../../components/workflowBase";
 import WorkflowEntrance from "../../../components/workflowEntrance";
+import getConfig from '../../../config/dev.js'
 import {
     getTodoBase,
     getDoneBase,
@@ -123,7 +124,7 @@ export default {
                 type: "bt1n",
                 typename: "上传文件",
                 // limit: 5,
-                url: "/market/waf/upload",
+                url: "/market/waf/uploadByMinio",
                 fileList: [],
             },
             list: {},
@@ -147,8 +148,8 @@ export default {
             },
             requestForm: {
                 // fresourceId: "524e01f7-b25d-11ed-886f-d6cd97160e00", // 本地环境
-                // fresourceId: "canvas", // 生产环境
-                fresourceId: "canvas", //测试91环境
+                // fresourceId: "dbd83414-b25f-11ed-be6b-00505687dcd3", // 91环境
+                fresourceId: getConfig().bfsjList,
                 processDefinitionKey: "BFSJ_process",
             },
             dialogStatus: false, //dialog显示
@@ -461,7 +462,7 @@ export default {
                 fileName: e.fileName,
             };
             this.$http({
-                url: "/market/waf/downFile",
+                url: "/market/waf/downFileByMinio",
                 method: "post",
                 headers: {
                     "Content-Type": "application/json",
@@ -500,7 +501,7 @@ export default {
                 fileName: e.name,
             };
             this.$http({
-                url: "/market/waf/downFile",
+                url: "/market/waf/downAllFileByMinio",
                 method: "post",
                 headers: {
                     "Content-Type": "application/json",
@@ -593,7 +594,7 @@ export default {
                     console.log(res.taskName)
                     this.dialogTitle = "查看";
                     this.closeStatus = true;
-                    if (res.taskName == "起草") {
+                    if (res.taskName == "填写备份数据申请") {
                         this.disabled = false;
                         this.startStatus = true;
                         this.saveStatus = true;
@@ -607,7 +608,7 @@ export default {
                 }
                 if (this.clickTagName === "first") {//代办
                     this.dialogTitle = "处理";
-                    if (res.taskName == "起草") {
+                    if (res.taskName == "填写备份数据申请") {
                         this.savestatusBtn = false
                         this.disabled = false;
                         this.startStatus = true;
@@ -753,7 +754,7 @@ export default {
         },
         setForm(e) {
             // console.log(this.$refs.form)
-            this.request_form.title = this.fromList.needName;
+            this.request_form.title = '[IT工作台]-'+'备份数据-'+ this.fromList.needName;
             // this.request_form.title = this.$refs.form.needName;
             // this.$refs.form.taskId = e;
             this.fromList.accessoryIdList = []
@@ -819,7 +820,7 @@ export default {
             }).then((res) => {
                 this.fromList.taskId = res.data.body[0].taskId;
                 this.fromList.taskName = res.data.body[0].taskName;
-                // if (res.data.body.taskName === "起草") {
+                // if (res.data.body.taskName === "填写备份数据申请") {
                 //     this.isSync = res.data.body.isSync;
                 // } else {
                 //     this.isSync = "1";
@@ -977,7 +978,7 @@ export default {
             getInitiateBase(this.pageNo, "", { tableName: this.tableName, }).then((res) => {
                 this.lableTable.data = res.data.data;
                 // this.lableTable.data.map((item) => {
-                //     if (item.taskName === "起草") {
+                //     if (item.taskName === "填写备份数据申请") {
                 //         item.status = "1";
                 //     } else {
                 //         item.status = "2";

+ 860 - 0
src/pages/main/firewall/formTable.vue

@@ -0,0 +1,860 @@
+<template>
+    <div>
+        <div>
+            <div class="flex-title">防火墙策略申请流程</div>
+            <el-form ref="form" :model="form" :rules="rule" :disabled="disabled">
+                <el-row>
+                    <el-col :span="6">
+                        <el-form-item label="工号单:" prop="orderNumber">
+                            <el-input v-model="form.orderNumber" :disabled="true"></el-input>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="6">
+                        <el-form-item label="标题:" prop="needName">
+                            <el-input v-model="form.needName"></el-input>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="6">
+                        <el-form-item label="申请人:" prop="applicant">
+                            <el-input v-model="form.applicant" :disabled="true"></el-input>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="6">
+                        <el-form-item label="申请时间:">
+                            <el-date-picker type="date" :disabled="true" placeholder="选择日期" v-model="form.applicationTime"
+                                :picker-options="pickerOptions" value-format="yyyy-MM-dd"
+                                style="width: 100%"></el-date-picker>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <el-row>
+                    <el-col :span="6">
+                        <el-form-item label="有效期:" prop="validPeriod">
+                            <el-select v-model="form.validPeriod" placeholder="请选择">
+                                <el-option label="长期" value="长期"></el-option>
+                                <el-option label="限期" value="限期"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="6">
+                        <el-form-item label="开始时间:">
+                            <el-date-picker type="date" placeholder="选择日期" v-model="form.startTime"
+                                :picker-options="pickerOptions" value-format="yyyy-MM-dd"
+                                style="width: 100%"></el-date-picker>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="6">
+                        <el-form-item label="结束时间:">
+                            <el-date-picker type="date" placeholder="选择日期" v-model="form.endTime"
+                                :picker-options="pickerOptions" value-format="yyyy-MM-dd"
+                                style="width: 100%"></el-date-picker>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <el-row>
+
+                    <el-row>
+                        <el-form-item label="申请原因:" prop="applicationReason" label-width="110px">
+                            <el-input type="textarea" maxlength="300" show-word-limit
+                                v-model="form.applicationReason"></el-input>
+                        </el-form-item>
+                        <el-col :span="24">
+                            <el-form-item label="正文:" prop="content" label-width="110px">
+                                <el-input type="textarea" maxlength="300" show-word-limit v-model="form.content"></el-input>
+                            </el-form-item>
+
+                        </el-col>
+                        <el-col :span="24">
+                            <el-form-item label="备注:" prop="note" label-width="110px">
+                                <el-input type="textarea" maxlength="300" show-word-limit v-model="form.note"></el-input>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :span="12">
+                            <el-form-item label="源IP地址:" prop="sourceIpAddress">
+                                <el-input v-model="form.sourceIpAddress"></el-input>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :span="12">
+                            <el-form-item label="目标IP地址:" prop="destinationIpAddress">
+                                <el-input v-model="form.destinationIpAddress"></el-input>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :span="12">
+                            <el-form-item label="源地址设备类型:" prop="sourceDeviceType">
+                                <el-select v-model="form.sourceDeviceType" placeholder="请选择">
+                                    <el-option label="路由器" value="路由器"></el-option>
+                                    <el-option label="交换机" value="交换机"></el-option>
+                                    <el-option label="防火墙" value="防火墙"></el-option>
+                                    <el-option label="主机" value="主机"></el-option>
+                                </el-select>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :span="12">
+                            <el-form-item label="目的地址设备类型:" prop="destinationDeviceType" label-width="140px">
+                                <el-select v-model="form.destinationDeviceType" placeholder="请选择">
+                                    <el-option label="路由器" value="路由器"></el-option>
+                                    <el-option label="交换机" value="交换机"></el-option>
+                                    <el-option label="防火墙" value="防火墙"></el-option>
+                                    <el-option label="主机" value="主机"></el-option>
+                                </el-select>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :span="12">
+                            <el-form-item label="协议:" prop="protocol">
+                                <el-select v-model="form.protocol" placeholder="请选择">
+                                    <el-option label="TCP" value="TCP"></el-option>
+                                    <el-option label="UDP" value="UDP"></el-option>
+                                    <el-option label="ICMP" value="ICMP"></el-option>
+                                </el-select>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :span="12">
+                            <el-form-item label="网络类型:" prop="networkType">
+                                <el-select v-model="form.networkType" placeholder="请选择">
+                                    <el-option label="内网" value="内网"></el-option>
+                                    <el-option label="互联网" value="互联网"></el-option>
+                                </el-select>
+                            </el-form-item>
+                        </el-col>
+                    </el-row>
+
+
+                    <el-row>
+                        <el-col :span="2">
+                            <span>防火墙策略清单:</span>
+                        </el-col>
+                        <el-col :span="22">
+                            <div class="flex-table-header">
+                                <el-button type="primary" @click="newclick(1)">新建</el-button>
+                                <el-button type="danger" @click="fireDel()">删除</el-button>
+                                <span>记录总数({{ num }})</span>
+                            </div>
+
+                            <Table @clickDemand="clickDemand" :list="lable" ref="TableList" @changeNum="changeNum"
+                                @num="selectNum">
+                            </Table>
+                        </el-col>
+                    </el-row>
+                    <el-row>
+                        <el-col :span="2">
+                            <span>端口信息:</span>
+
+                        </el-col>
+                        <el-col :span="22">
+                            <div class="flex-table-header">
+                                <el-button type="primary" @click="newclick(2)">新建</el-button>
+                                <el-button type="danger" @click="portDel()">删除</el-button>
+                                <span>记录总数({{ nums }})</span>
+                            </div>
+
+                            <Table @clickDemand="clickDemand2" @num="selectNums" :list="lables" ref="TableList"
+                                @changeNum="changeNums">
+                            </Table>
+                        </el-col>
+                    </el-row>
+                </el-row>
+                <el-row>
+                    <el-form-item label="附件:" prop="mkFileShareAttachList" label-width="120px">
+                        <my-upload ref="upload" @uploadBack="uploadBack" @delloadBack="delloadBack"
+                            @clickDownload="download" :fileInfo="fileInfo"
+                            :fileList="list.mkFileShareAttachList"></my-upload>
+                    </el-form-item>
+                </el-row>
+            </el-form>
+        </div>
+        <el-dialog v-if="firewallStatus" :before-close="clickClose(1)" title="新建" :visible.sync="firewallStatus"
+            width="100%" :modal="false" style="display: flex; flex-direction: column">
+            <el-button type="primary" @click="newFireAdd(firewallTit)">保存</el-button>
+            <el-form ref="form1" :model="fireList">
+                <el-row>
+                    <el-col :span="12">
+                        <el-form-item label="源地址设备类型:" prop="sourceDeviceType">
+                            <el-input v-model="fireList.sourceDeviceType"></el-input>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="源地址:" prop="sourceAddress">
+                            <el-input v-model="fireList.sourceAddress"></el-input>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="源端口:" prop="sourcePort">
+                            <el-input v-model="fireList.sourcePort"></el-input>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="目标地址设备类型:" prop="destinationDeviceType">
+                            <el-input v-model="fireList.destinationDeviceType"></el-input>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="目的地址:" prop="destinationAddress">
+                            <el-input v-model="fireList.destinationAddress"></el-input>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="目的端口:" prop="destinationPort">
+                            <el-input v-model="fireList.destinationPort"></el-input>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="协议:" prop="protocol">
+                            <el-input v-model="fireList.protocol"></el-input>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="策略有效期:" prop="protocol">
+                            <el-date-picker type="date" placeholder="选择日期" v-model="fireList.policyValidPeriod"
+                                :picker-options="pickerOptions" value-format="yyyy-MM-dd"
+                                style="width: 100%"></el-date-picker>
+
+                        </el-form-item>
+                    </el-col>
+
+                </el-row>
+            </el-form>
+
+        </el-dialog>
+        <el-dialog v-if="protStatus" :before-close="clickClose(2)" title="新增" :visible.sync="protStatus" width="100%"
+            :modal="false" style="display: flex; flex-direction: column">
+            <el-button type="primary" @click="newPortAdd(protTit)">保存</el-button>
+
+            <el-form ref="form2" :model="portList">
+                <el-row>
+                    <el-col :span="12">
+                        <el-form-item label="源端口号:" prop="sourcePortnumber">
+                            <el-input v-model="portList.sourcePortNumber"></el-input>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="目的端口号:" prop="destinationPortNumber">
+                            <el-input v-model="portList.destinationPortNumber"></el-input>
+                        </el-form-item>
+                    </el-col>
+
+                </el-row>
+
+            </el-form>
+        </el-dialog>
+    </div>
+</template>
+  
+<script>
+import myUpload from "../../../components/workflowUpload";
+import Table from "../../../components/el-form.vue";
+export default {
+    components: {
+        myUpload,
+        Table
+    },
+    data() {
+        return {
+            fireList: {},
+            portList: {},
+            fireSelectList: [],
+            portSelectList: [],
+            firewallStatus: false,
+            firewallTit: '新增',
+            protTit: '新增',
+            page: 1,
+            pages: 1,
+            protStatus: false,
+            num: '0',
+            nums: '0',
+            checkBoxNone: false,
+            checkBoxStatus: false,
+            fileInfo: {
+                type: "bt1n",
+                typename: "上传文件",
+                limit: 5,
+                url: "/market/waf/upload",
+                fileList: [],
+            },
+            postEdit: false,
+            newPostAge: false,
+            pickerOptions: {
+                disabledDate(time) {
+                    console.log(time);
+                    return time.getTime() < Date.now() - 8.64e7;
+                },
+            },
+            oneList: [],
+            lable: {
+                name: "first",
+                height: '200',
+                titledata: [
+                    {
+                        label: "源地址设备类型",
+                        prop: "sourceDeviceType",
+                        width: 300,
+                        color: "#0682CD",
+                    },
+                    {
+                        label: "源地址",
+                        prop: "sourceAddress",
+                        width: 200,
+                    },
+                    {
+                        label: "源端口",
+                        prop: "sourcePort",
+                        width: 200,
+                    },
+                    {
+                        label: "目标地址设备类型",
+                        prop: "destinationDeviceType",
+                        width: 200,
+                    },
+                    {
+                        label: "目的地址",
+                        prop: "destinationAddress",
+                        width: 200,
+                    },
+                    {
+                        label: "目的端口",
+                        prop: "destinationPort",
+                        width: 250,
+                    },
+                    {
+                        label: "协议",
+                        prop: "protocol",
+                        width: 200,
+                    },
+                    {
+                        label: "策略有效期",
+                        prop: "policyValidPeriod",
+                        width: 200,
+                    },
+                ], //表格头
+                data: [], //内容数据
+                loading: true,
+                pageData: {
+                    total: 100, // 总条数
+                    pageSizes: 10, // 每页数量
+                    pageNum: 1, // 页码
+                },
+                isSelection: true, // 表格有多选时设置
+                isOperation: false, // 表格有操作列时设置
+                isIndex: false, // 列表序号
+                operation: {
+                    // 表格有操作列时设置
+                    label: "操作", // 列名
+                    width: "50", // 根据实际情况给宽度
+                    data: [
+                        {
+                            label: "操作", // 操作名称
+                            type: "", //按钮类型
+                            handleRow: () => {
+
+                            }, // 自定义事件
+                        },
+                    ],
+                },
+            },
+            lables: {
+                name: "first",
+                height: "200",
+                titledata: [
+                    {
+                        label: "序号",
+                        prop: "index",
+                        width: 600,
+                    },
+                    {
+                        label: "源端口号",
+                        prop: "sourcePortNumber",
+                        width: 600,
+                    },
+                    {
+                        label: "目的端口号",
+                        prop: "destinationPortNumber",
+                        width: 600,
+                    },
+
+                ], //表格头
+                data: [], //内容数据
+                loading: true,
+                pageData: {
+                    total: 1, // 总条数
+                    pageSizes: 10, // 每页数量
+                    pageNum: 1, // 页码
+                },
+                isSelection: true, // 表格有多选时设置
+                isOperation: false, // 表格有操作列时设置
+                isIndex: false, // 列表序号
+                operation: {
+                    // 表格有操作列时设置
+                    label: "操作", // 列名
+                    width: "50", // 根据实际情况给宽度
+                    data: [
+                        {
+                            label: "操作", // 操作名称
+                            type: "", //按钮类型
+                            handleRow: () => {
+
+                            }, // 自定义事件
+                        },
+                    ],
+                },
+            },
+            childrenList: [],
+            twoList: [],
+            twoStatus: false,
+            threeList: [],
+            threeStatus: false,
+            fourList: [],
+            fourStatus: false,
+            fiveList: [],
+            fiveStatus: false,
+            isSensitiveDataStatus: false,
+            timeStatus: false,
+            functionStatus: false,
+            reportStatus: false,
+            Length: "",
+            form: {},
+            rules: {},
+            rule: {
+                needName: [
+                    { required: true, message: "请输入标题", trigger: "blur" },
+                ],
+                applicationReason: [
+                    { required: true, message: "请输入申请原因", trigger: "change" },
+                ]
+            },
+            copyRule: {},
+            isList: [],
+            remindMmsg: []
+        };
+    },
+    props: {
+        list: {
+            type: Object,
+            default: () => { },
+        },
+        disabled: {
+            type: Boolean,
+            default: () => { },
+        },
+    },
+    mounted() {
+        if (this.list.mkFileShareAttachList) {
+            this.$refs.upload.attList = this.list.mkFileShareAttachList;
+            this.list.mkFileShareAttachList.map((item) => {
+                item.name = item.fileName;
+            });
+        }
+        console.log(this.form.orderNumber);
+        this.getFromQuery(this.form.orderNumber)
+        this.getPortQuery(this.form.orderNumber)
+    },
+    created() {
+        this.form = this.list;
+        this.form.applicant = JSON.parse(window.sessionStorage.userInfo).loginName
+        this.form.applicationTime = new Date()
+        this.copyRule = this.rule;
+    },
+
+    methods: {
+        clickClose() {
+
+        },
+        fireDel() {
+            if (this.fireSelectList.length > 0) {
+                this.$confirm("即将删除数据, 是否删除?", "提示", {
+                    confirmButtonText: "确定",
+                    cancelButtonText: "取消",
+                    type: "warning",
+                })
+                    .then(() => {
+                        this.$http({
+                            url: "/market/fhqProcessStrategy/delBatch",
+                            method: "post",
+                            headers: {
+                                "Content-Type": "application/json",
+                            },
+                            data: this.fireSelectList
+                        }).then((res) => {
+                            this.$message.success('删除成功')
+                            this.page = 1;
+                            this.getFromQuery(this.form.orderNumber)
+                        });
+                    })
+                    .catch(() => { });
+            }
+        },
+        portDel() {
+            if (this.portSelectList.length > 0) {
+                this.$confirm("即将删除数据, 是否删除?", "提示", {
+                    confirmButtonText: "确定",
+                    cancelButtonText: "取消",
+                    type: "warning",
+                })
+                    .then(() => {
+                        this.$http({
+                            url: "/market/fhqProcessPort/delBatch",
+                            method: "post",
+                            headers: {
+                                "Content-Type": "application/json",
+                            },
+                            data: this.portSelectList
+                        }).then((res) => {
+                            this.$message.success('删除成功')
+                            this.pages = 1;
+                            this.getPortQuery(this.form.orderNumber)
+                        });
+                    })
+                    .catch(() => { });
+            }
+
+        },
+        newFireAdd(e) {
+            if (e == '新增') {
+                this.fireList.strategyId = this.form.orderNumber
+                this.$http({
+                    url: "/market/fhqProcessStrategy/add",
+                    method: "post",
+                    headers: {
+                        "Content-Type": "application/json",
+                    },
+                    data: this.fireList
+                }).then((res) => {
+                    this.firewallStatus = false;
+                    this.getFromQuery(this.form.orderNumber)
+                    this.$message.success('添加成功')
+                });
+            } else {
+                this.$http({
+                    url: "/market/fhqProcessStrategy/update",
+                    method: "post",
+                    headers: {
+                        "Content-Type": "application/json",
+                    },
+                    data: this.fireList
+                }).then((res) => {
+                    this.firewallStatus = false;
+                    this.getFromQuery(this.form.orderNumber)
+                    this.$message.success('添加成功')
+                });
+            }
+
+        },
+        newPortAdd(e) {
+            if (e == '新增') {
+                this.portList.portId = this.form.orderNumber
+                this.$http({
+                    url: "/market/fhqProcessPort/add",
+                    method: "post",
+                    headers: {
+                        "Content-Type": "application/json",
+                    },
+                    data: this.portList
+                }).then((res) => {
+                    this.protStatus = false;
+                    this.getPortQuery(this.form.orderNumber)
+                    this.$message.success('添加成功')
+                });
+            } else {
+                this.$http({
+                    url: "/market/fhqProcessPort/update",
+                    method: "post",
+                    headers: {
+                        "Content-Type": "application/json",
+                    },
+                    data: this.portList
+                }).then((res) => {
+                    this.protStatus = false;
+                    this.getPortQuery(this.form.orderNumber)
+                    this.$message.success('添加成功')
+                });
+            }
+
+        },
+        getPortQuery(e) {
+            this.$http({
+                url: "/market/fhqProcessPort/queryPage",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                    page: '{"pageNo":"' + this.pages + '","pageSize":"10"}',
+                },
+                data: { portId: e },
+            }).then((res) => {
+                this.lables.data = res.data.data
+                this.lables.pageData.total = res.data.totalRecord ? res.data.totalRecord : 1;
+                this.lables.data.map((item, index) => {
+                    item.index = (index + 1) + (res.data.pageNo - 1) * res.data.pageSize
+                })
+                this.nums = res.data.totalRecord
+            });
+        },
+        getFromQuery(e) {
+            this.$http({
+                url: "/market/fhqProcessStrategy/queryPage",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                    page: '{"pageNo":"' + this.page + '","pageSize":"10"}',
+                },
+                data: { strategyId: e },
+            }).then((res) => {
+                this.lable.data = res.data.data
+                this.lable.pageData.total = res.data.totalRecord ? res.data.totalRecord : 1;
+                this.num = res.data.totalRecord
+            });
+        },
+        newclick(e) {
+            this.fireList = {};
+            this.portList = {};
+            e === 1 ? this.firewallStatus = true : this.protStatus = true;
+            e === 1 ? this.firewallTit = '新增' : this.protTit = '新增';
+        },
+        //页码
+        changeNum(e) {
+            this.page = e;
+            this.getFromQuery(this.form.orderNumber)
+        },
+        changeNums(e) {
+            this.pages = e;
+            this.getPortQuery(this.form.orderNumber)
+        },
+        selectNum(e) {
+            this.fireSelectList = e;
+        },
+        selectNums(e) {
+            this.portSelectList = e
+        },
+        //点击工单
+        clickDemand(row, e) {
+            if (this.form.taskName === '需求发起人') {
+                console.log(e);
+                this.firewallTit = '修改'
+                this.fireList = e
+                this.firewallStatus = true
+            }
+        },
+        clickDemand2(row, e) {
+            if (this.form.taskName === '需求发起人') {
+                console.log(e);
+                this.protTit = '修改'
+                this.portList = e
+                this.protStatus = true
+            }
+        },
+        uploadBack(v) {
+            if (this.form.mkFileShareAttachList) {
+                this.form.mkFileShareAttachList = [];
+                this.form.mkFileShareAttachList = v;
+            } else {
+                let mkFileShareAttachList = [];
+                mkFileShareAttachList = v;
+                this.$set(this.form, "mkFileShareAttachList", mkFileShareAttachList);
+            }
+        },
+        delloadBack(v) {
+            this.form.mkFileShareAttachList = v;
+            this.$http({
+                url: "/market/zfpzProcess/update",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                },
+                data: this.form,
+            }).then((res) => {
+                console.log(res);
+                // if (res.data.result === 0) {
+                //   this.$message.success("工作流更新成功");
+                // }
+            });
+        },
+        download() {
+            console.log(123);
+            if (this.form.mkFileShareAttachList.length > 1) {
+                this.$http({
+                    url: "/market/waf/downAllFile",
+                    method: "post",
+                    headers: {
+                        "Content-Type": "application/json",
+                    },
+                    responseType: "blob",
+                    data: { mkFileShareAttachList: this.form.mkFileShareAttachList },
+                }).then((response) => {
+                    if (window.navigator && window.navigator.msSaveOrOpenBlob) {
+                        let blob = new Blob([response.data], {
+                            type: "application/vnd.ms-excel",
+                        });
+                        window.navigator.msSaveOrOpenBlob(
+                            blob,
+                            new Date().getTime().toString() + ".zip"
+                        );
+                    } else {
+                        /* 火狐谷歌的文件下载方式 */
+                        var blob = new Blob([response.data]);
+                        var downloadElement = document.createElement("a");
+                        var href = window.URL.createObjectURL(blob);
+                        downloadElement.href = href;
+                        downloadElement.download = this.form.needName + ".zip";
+                        document.body.appendChild(downloadElement);
+                        downloadElement.click();
+                        document.body.removeChild(downloadElement);
+                        window.URL.revokeObjectURL(href);
+                    }
+                    if (this.infolist.authType === "3") {
+                        this.dialogCli(10);
+                    }
+                });
+            } else {
+                console.log(this.form.mkFileShareAttachList);
+                let list = {
+                    id: this.form.mkFileShareAttachList[0].fileCode,
+                    fileName: this.form.mkFileShareAttachList[0].name,
+                };
+                this.$http({
+                    url: "/market/waf/downFile",
+                    method: "post",
+                    headers: {
+                        "Content-Type": "application/json",
+                    },
+                    responseType: "blob",
+                    data: list,
+                }).then((response) => {
+                    console.log(response);
+                    if (window.navigator && window.navigator.msSaveOrOpenBlob) {
+                        let blob = new Blob([response.data], {
+                            type: "application/vnd.ms-excel",
+                        });
+                        //window.navigator.msSaveOrOpenBlob(blob, this.form.needName);
+                        window.navigator.msSaveOrOpenBlob(
+                            blob,
+                            this.form.mkFileShareAttachList[0].name
+                        );
+                    } else {
+                        /* 火狐谷歌的文件下载方式 */
+                        var blob = new Blob([response.data]);
+                        var downloadElement = document.createElement("a");
+                        var href = window.URL.createObjectURL(blob);
+                        downloadElement.href = href;
+                        downloadElement.download = this.form.mkFileShareAttachList[0].name;
+                        document.body.appendChild(downloadElement);
+                        downloadElement.click();
+                        document.body.removeChild(downloadElement);
+                        window.URL.revokeObjectURL(href);
+                    }
+                });
+            }
+        },
+    },
+
+};
+</script>
+  
+<style lang="scss" scoped>
+.flex-table-header {
+    margin-bottom: 10px;
+
+    span {
+        margin-left: 20px;
+    }
+}
+
+::v-deep .el-row {
+    margin-top: 16px;
+}
+
+a {
+    text-decoration: none;
+}
+
+::v-deep .el-upload-list {
+    width: 23rem;
+}
+
+.flex-title {
+    text-align: center;
+    font-size: 24px;
+    line-height: 60px;
+
+    font-weight: bold;
+}
+
+.flex-header {
+    margin-top: 20px;
+    display: flex;
+    //   justify-content: space-between;
+
+    ::v-deep .el-form-item {
+        width: 20%;
+        margin-right: 60px;
+    }
+}
+
+.flex-upload {
+    ::v-deep .el-form-item {
+        width: 100%;
+    }
+}
+
+.flex-input-tare {
+    ::v-deep .el-form-item {
+        width: 100%;
+        margin-right: 5%;
+    }
+
+    ::v-deep .el-form-item__label {
+        width: 9rem !important;
+    }
+}
+
+.flex-textarea {
+    width: 70.5%;
+}
+
+.el-upload__tip {
+    color: red;
+}
+
+// ::v-deep .el-input--suffix .el-input__inner {
+//   width: 119% !important;
+// }
+::v-deep .el-input__inner {
+    color: black !important;
+}
+
+::v-deep .el-textarea.is-disabled .el-textarea__inner {
+    color: black !important;
+}
+
+::v-deep .el-form-item {
+    display: flex;
+}
+
+::v-deep .el-form-item__label {
+    // width:100%;
+    height: 50px;
+    line-height: 40px !important;
+    width: 130px;
+    font-size: 0.5rem;
+}
+
+::v-deep .el-form-item__content {
+    width: 100%;
+    margin-left: 0% !important;
+}
+
+.el-select,
+::v-deep.el-input_inner {
+    width: 100%;
+}
+
+::v-deep.el-form-item.foldLabel .el-form-item__label {
+    white-space: pre-line;
+    /*换行显示*/
+    height: 10px;
+    /*设置lable高度,input高度一样*/
+    line-height: 30px !important;
+}
+
+::v-deep .el-pagination {
+    display: block !important;
+    background-color: #fff !important;
+}
+</style>
+  

+ 983 - 0
src/pages/main/firewall/index.vue

@@ -0,0 +1,983 @@
+<template>
+    <div class="flex-box">
+        <!-- v-show="lable.name === 'first'" -->
+        <div class="flex-header" :span="24">
+            <Tabs :tabList="tabList" @status="clickTabTops" />
+            <el-button type="primary" @click="clickNewTag" v-show="lableTable.name === 'first'">+新建</el-button>
+        </div>
+        <div class="flex-count">
+            <Table @clickDemand="clickDemand" :list="lableTable" ref="TableList" @changeNum="changeNum">
+            </Table>
+        </div>
+        <el-dialog v-if="dialogStatus" :before-close="clickClose" :title="dialogTitle + '需求'" :visible.sync="dialogStatus"
+            width="100%" :modal="false" style="display: flex; flex-direction: column">
+            <!-- 后期维护 -->
+            <div style="position: fixed; z-index: 99">
+                <el-button type="primary" v-if="startStatus" @click="clickHandles">处理</el-button>
+                <el-button type="primary" v-if="closeStatus" @click="clickClose">关闭</el-button>
+                <el-button type="primary" v-if="saveStatus" @click="clickSave">保存</el-button>
+            </div>
+            <FormTable :list="fromList" :disabled="disabled" class="flex-form" ref="formTable" />
+            <div>
+                <div class="table-title">流程追踪</div>
+                <div v-if="abc == true">
+                    <Tables :list="lables"></Tables>
+                </div>
+            </div>
+        </el-dialog>
+        <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 ref="workflow" :list="fromList" v-if="isWorkflowStatus == true" @updateForm="beforeClose"
+                    :requestForm="requestForm" :adminResourceId="adminResourceId" />
+                <WorkflowEntrance :list="fromList" v-else :lastManList="lastManList" @beforeClose="beforeClose"
+                    :requestForm="requestForm" />
+            </el-dialog>
+        </div>
+
+    </div>
+</template>
+<script>
+import Workflow from "../../../components/workflowBase";
+import WorkflowEntrance from "../../../components/workflowEntrance";
+import Tabs from "../../../components/el-tabs.vue";
+import Table from "../../../components/el-form.vue";
+import Tables from "../../../components/el-forms.vue";
+import FormTable from "./formTable.vue";
+import { updateBase } from "../../../http/api.js";
+import getConfig from '../../../config/dev.js'
+import {
+    getTodoBase,
+    getDoneBase,
+    getInitiateBase,
+} from "../../../http/api.js";
+import { log } from "console";
+
+export default {
+    components: {
+        Tabs,
+        Table,
+        Tables,
+        FormTable,
+        Workflow,
+        WorkflowEntrance
+    },
+    created() {
+        let status = JSON.stringify(this.$route.query) == "{}";
+        if (status) {
+            this.lableTable = this.firstTable
+            this.getQueryList()
+            this.usernumber()
+        } else {
+            let { id, type } = this.$route.query;
+            let list = {
+                taskId: id,
+                tableName: this.request_form.processDefinitionKey
+            };
+            this.usernumber()
+            this.lableTable = this.firstTable
+            this.getQueryList(list, 0);//代办
+        }
+    },
+    data() {
+        return {
+            abc: false,
+            lableTable: {},
+            handleClose: false,
+            isWorkflowStatus: true, //默认展示模式组件,为true时展示多人处理组件
+            buttonStatus: true,
+            copyStatus: false,
+            dialogTitle: "",
+            disabled: true,
+            destroy: false,
+            //分页数据
+            totalPage: "1", //默认第一页
+            currentPage: "1", //当前页数
+            pageSize: "10", //每页显示十条
+            currentPageList: ["1", "2"],
+            startStatus: true,
+            closeStatus: true, //关闭按钮状态
+            forwardStatus: false, //转需求管理平台状态
+            exportBtnStatus: false, //导出按钮状态
+            saveStatus: true, //保存按钮状态
+            fromList: {}, //表单数据
+            rejectStatus: true,
+            taskId: "", //工单taskID
+            request_form: {
+                userId: "",
+                userName: "",
+                path: this.$router.currentRoute.name,
+                userCode: JSON.parse(window.sessionStorage.userInfo).loginNo,
+                // path:this.$roter.options.routers,
+                // nextDealMan:'',
+                title: "title",
+                businessKey: "288",
+                processDefinitionKey: "fhq_process",
+            },
+            requestForm: {
+                // fresourceId: "9d7c2f92-b251-11ed-886f-d6cd97160e00", // 本地环境
+                // fresourceId: "86e7c09e-b256-11ed-be6b-00505687dcd3", //测试环境
+                // fresourceId:'3c3df7fb-d918-11ed-8255-e00084564cce',//生产环境
+                fresourceId: getConfig().firewall,
+                processDefinitionKey: "fhq_process",
+            },
+            treeList: [], //候选人列表
+            treeCopyList: [], //抄送人列表
+            editStatus: false,
+            querryList: [], //已选人员名单
+            commonlyList: [
+                //常用意见列表页
+            ],
+            textarea: "未填写意见",
+            num: 0,
+            dialogStatus: false, //新建dialog显示
+            handleStatus: false, //处理按钮状态
+            tabList: [
+                {
+                    index: "first",
+                    label: "我的待办",
+                    number: 0,
+                    name: "prosss_key",
+                },
+                {
+                    index: "two",
+                    label: "我的已办",
+                    number: 0,
+                },
+                {
+                    index: "three",
+                    label: "我发起的",
+                    number: 0,
+                },
+
+            ],
+            firstTable: {
+                name: "first",
+                height: 500,
+                titledata: [
+                    {
+                        label: "标题",
+                        prop: "need_name",
+                        width: 300,
+                        color: "#0682CD",
+                    },
+                    {
+                        label: "申请人",
+                        prop: "predealman",
+                        width: 300,
+                    },
+                    {
+                        label: "申请时间",
+                        prop: "proposer_time",
+                        width: 400,
+                    },
+                    {
+                        label: "当前环节",
+                        prop: "taskName",
+                        width: 400,
+                    },
+                ], //表格头
+                data: [], //内容数据
+                loading: true,
+                pageData: {
+                    total: 100, // 总条数
+                    pageSize: 10, // 每页数量
+                    pageNum: 1, // 页码
+                },
+                isSelection: false, // 表格有多选时设置
+                isOperation: false, // 表格有操作列时设置
+                isIndex: false, // 列表序号
+                operation: {
+                    // 表格有操作列时设置
+                    label: "操作", // 列名
+                    width: "50", // 根据实际情况给宽度
+                    data: [
+                        {
+                            label: "操作", // 操作名称
+                            type: "", //按钮类型
+                            handleRow: (e, r, o) => {
+
+                            }, // 自定义事件
+                        },
+                    ],
+                },
+            },
+            twoTable: {
+                name: "two",
+                disabled: true,
+                titledata: [
+                    {
+                        label: "标题",
+                        prop: "need_name",
+                        width: 300,
+                        color: "#0682CD",
+                    },
+                    {
+                        label: "申请人",
+                        prop: "applicant",
+                        width: 300,
+                    },
+                    {
+                        label: "申请时间",
+                        prop: "proposer_time",
+                        width: 400,
+                    },
+                    {
+                        label: "当前环节",
+                        prop: "taskName",
+                        width: 400,
+                    },
+                ], //表格头
+                data: [], //内容数据
+                loading: true,
+                pageData: {
+                    total: 100, // 总条数
+                    pageSize: 10, // 每页数量
+                    pageNum: 1, // 页码
+                },
+                isSelection: false, // 表格有多选时设置
+                isOperation: false, // 表格有操作列时设置
+                isIndex: false, // 列表序号
+                operation: {
+                    // 表格有操作列时设置
+                    label: "操作", // 列名
+                    width: "50", // 根据实际情况给宽度
+                    data: [
+                        {
+                            label: "操作", // 操作名称
+                            type: "", //按钮类型
+                            handleRow: function () { }, // 自定义事件
+                        },
+                    ],
+                },
+            },
+            threeTable: {
+                name: "three",
+                titledata: [
+                    {
+                        label: "标题",
+                        prop: "need_name",
+                        width: 300,
+                        color: "#0682CD",
+                    },
+                    {
+                        label: "申请人",
+                        prop: "applicant",
+                        width: 300,
+                    },
+                    {
+                        label: "申请时间",
+                        prop: "proposer_time",
+                        width: 400,
+                    },
+                    {
+                        label: "当前环节",
+                        prop: "taskName",
+                        width: 400,
+                    },
+                    {
+                        label: "当前处理人",
+                        prop: "currentMan",
+                        width: 200,
+                    },
+                ], //表格头
+                data: [], //内容数据
+                loading: true,
+                pageData: {
+                    total: 100, // 总条数
+                    pageSize: 10, // 每页数量
+                    pageNum: 1, // 页码
+                },
+                isSelection: false, // 表格有多选时设置
+                isOperation: false, // 表格有操作列时设置
+                isIndex: false, // 列表序号
+                operation: {
+                    // 表格有操作列时设置
+                    label: "支撑状态", // 列名
+                    width: "100", // 根据实际情况给宽度
+                    data: [
+                        {
+                            label: "查看", // 操作名称
+                            type: "", //按钮类型
+                            handleRow: (e, r, o) => {
+
+                            }, // 自定义事件
+                        },
+                    ],
+                },
+            },
+            lable: {},
+            lables: {
+                height: "400",
+                titledata: [
+                    {
+                        id: 1,
+                        label: "环节名称",
+                        prop: "taskName",
+                        width: 300,
+                    },
+                    {
+                        id: 2,
+                        label: "处理人",
+                        prop: "assignee",
+                        width: 300,
+                    },
+                    {
+                        id: 3,
+                        label: "到达时间",
+                        prop: "startTime",
+                        width: 300,
+                    },
+                    {
+                        id: 4,
+                        label: "处理时间",
+                        prop: "endTime",
+                        width: 300,
+                    },
+                    {
+                        id: 5,
+                        label: "回复意见",
+                        prop: "content",
+                        width: 300,
+                    },
+                ], //表格头
+                data: [], //内容数据
+                loading: true,
+                pageData: {
+                    total: 0, // 总条数
+                    pageSize: 10, // 每页数量
+                    pageNum: 1, // 页码
+                },
+                isSelection: false, // 表格有多选时设置
+                isOperation: false, // 表格有操作列时设置
+                isIndex: true, // 列表序号
+                operation: {
+                    // 表格有操作列时设置
+                    label: "操作", // 列名
+                    width: "50", // 根据实际情况给宽度
+                    data: [
+                        {
+                            label: "操作", // 操作名称
+                            type: "", //按钮类型
+                            handleRow: function () { }, // 自定义事件
+                        },
+                    ],
+                },
+            },
+            clickTagName: "first",
+        };
+    },
+    methods: {
+        clickTabTops(e) {
+            this.$refs.TableList.page = 1;
+            this.totalPage = "1";
+            this.clickTagName = e;
+            console.log(e);
+            const options = {
+                first: {
+                    setTable: function () {
+                        this.lableTable = this.firstTable;
+                        this.getQueryList();
+                    }.bind(this)
+                },
+                two: {
+                    setTable: function () {
+                        this.lableTable = this.twoTable;
+                        this.getQueryDone();
+                    }.bind(this)
+                },
+                three: {
+                    setTable: function () {
+                        this.lableTable = this.threeTable;
+                        this.getMeLaunch();
+                    }.bind(this)
+                }
+            };
+            options[e]?.setTable?.();
+
+        },
+        //处理按钮,开始工作流接口
+        clickHandles() {
+            this.getNextPath(this.fromList.resourceId || "");
+        },
+        getNextPath(e) {
+            let list = {
+                fresourceId: this.requestForm.fresourceId, // 本地环境
+                processId: this.requestForm.processDefinitionKey,
+            };
+            if (e) {
+                list.resourceId = e;
+            }
+            this.$http({
+                url: "/market/waf/queryPath",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                },
+                data: list,
+            }).then((res) => {
+                if (res.data.body.nextShapes[0].multi) {
+                    if (res.data.body.nextShapes[0].multi.multi === "true") {
+                        this.getLastName();
+                    } else {
+                        this.adminResourceId = "";
+                    }
+                } else {
+                    this.adminResourceId = "";
+
+                    // this.destroy = true;
+                    // this.handleStatus = true;
+                }
+                console.log(this.fromList);
+                if (this.fromList.processId || this.fromList.taskId) {
+                    this.destroy = true;
+                    this.handleStatus = true;
+                } else {
+                    this.$message.error("请先点击保存按钮");
+                }
+            });
+        },
+        getQueryList(e, status) {
+            let list = {
+                tableName: this.request_form.processDefinitionKey,
+            };
+            getTodoBase(this.totalPage, "", list).then((res) => {
+                if (status === 0) {
+                    this.clickDemand("标题", res.data.data[0]);
+                }
+                this.lableTable.data = res.data.data;
+                this.tabList[0].number = res.data.totalRecord;
+                this.lableTable.pageData.total = res.data.totalRecord;
+                this.loading = false;
+            });
+        },
+        getQueryDone() {
+            let list = {
+                tableName: this.request_form.processDefinitionKey,
+            };
+            getDoneBase(this.totalPage, "", list).then((res) => {
+                this.lableTable.data = res.data.data;
+                this.lableTable.pageData.total = res.data.totalRecord;
+                // this.tableData.map((item) => {
+                //   item.status = "2";
+                // });
+                this.tabList[1].number = res.data.totalRecord;
+                this.total = res.data.totalRecord;
+                this.loading = false;
+            });
+        },
+        getMeLaunch() {
+            let list = {
+                tableName: this.request_form.processDefinitionKey,
+            };
+            getInitiateBase(this.totalPage, "", list).then((res) => {
+                this.lableTable.data = res.data.data;
+                this.lableTable.pageData.total = res.data.totalRecord;
+                this.tabList[2].number = res.data.totalRecord;
+                this.lableTable.data.map((item) => {
+                    item.startTime = this.formatTimestamp(item.startTime)
+                })
+
+                // this.tableData.map((item) => {
+                //   if (item.taskName === "起草") {
+                //     item.status = "1";
+                //   } else {
+                //     item.status = "2";
+                //   }
+                // });
+                this.total = res.data.totalRecord;
+                this.loading = false;
+            });
+        },
+        formatTimestamp(timestamp) {
+            var date = new Date(timestamp);
+            var year = date.getFullYear();
+            var month = ('0' + (date.getMonth() + 1)).slice(-2);
+            var day = ('0' + date.getDate()).slice(-2);
+            var hours = ('0' + date.getHours()).slice(-2);
+            var minutes = ('0' + date.getMinutes()).slice(-2);
+            var seconds = ('0' + date.getSeconds()).slice(-2);
+            return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds;
+        },
+        //新建按钮
+        async clickNewTag() {
+            this.dialogTitle = "新建";
+            this.lables.data = [];
+            this.fromList = {}
+            this.disabled = false;
+            this.saveStatus = true
+            await this.getDepartmentName();
+            await this.getOrderNumber()
+
+        },
+        getOrderNumber() {
+            this.$http({
+                url: "/market/fhqProcess/getOrderNumber",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                },
+                data: {}
+            }).then((res) => {
+                this.dialogStatus = true;
+                console.log(this.$refs.formTable);
+                this.fromList.orderNumber = res.data.body
+                this.fromList.taskName = '需求发起人'
+            });
+        },
+        //获取用户部门名称
+        getDepartmentName() {
+            this.$http({
+                url: "/market/waf/queryDept",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                },
+                data: {},
+            }).then((res) => {
+                let list = {
+                    applyDept: res.data,
+                    applyDepartment: JSON.parse(window.sessionStorage.userInfo).groupName,
+                    proposer: JSON.parse(window.sessionStorage.userInfo).loginName,
+                };
+                // this.fromList = list;
+                if (this.$refs.formTable) {
+                    // this.$refs.formTable.form = list;
+                }
+
+
+            });
+        },
+        clickDemand(e, res) {
+            if (e === "工单状态" || e === "标题") {
+                if (this.clickTagName === "first") {
+                    this.dialogTitle = "查看";
+                    if (res.taskName === "需求发起人") {
+                        this.disabled = false;
+                        this.saveStatus = true;
+                    } else {
+                        this.disabled = true;
+                        this.saveStatus = false;
+                    }
+                    // this.clickForm(res);
+                    // this.getFromQuery(res);
+                    // setTimeout(() => {
+                    //     this.getBtnStatus(res);
+                    // }, 500);
+                }
+                if (this.clickTagName === "two") {
+                    this.disabled = true;
+                    this.startStatus = false;
+                    this.saveStatus = false;
+                }
+                if (this.clickTagName === "three") {
+                    if (res.taskName === "需求发起人") {
+                        this.startStatus = true;
+                        this.disabled = false;
+                        this.saveStatus = true;
+                    } else {
+                        this.startStatus = false;
+                        this.disabled = true;
+                        this.saveStatus = false;
+                    }
+                }
+                this.fromList = res;
+                this.clickForm(res);
+                this.getFromQuery(res);
+            }
+        },
+        //查询form表单数据
+        getFromQuery(e) {
+            this.$http({
+                url: "/market/fhqProcess/query",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                },
+                data: { id: e.id },
+            }).then((res) => {
+                console.log(e);
+                let list = this.convertObjKeys(e)
+                this.fromList = { ...res.data, ...list }
+                console.log(this.fromList);
+                this.dialogStatus = true;
+            });
+        },
+        async clickForm(e) {
+            let list = {
+                processInstanceId: e.process_id,
+                // taskId:e.taskId
+            };
+            let _this = this;
+            let obj = {
+                url: this.$url.formList.getCommentsByProcessId, //流程追踪接口
+                data: list,
+                headers: {
+                    "Content-Type": "application/json",
+                },
+            };
+
+            let res = await this.common.httpPost(obj, success);
+            function success(data) {
+                let list = [];
+                list = data.data.data;
+                if (data.data.lastmandata.length != 0) {
+                    data.data.lastmandata.map((item, index) => {
+                        item.id = index + 22;
+                    });
+                }
+                list.map((item, index) => {
+                    item.startTime = _this.$util.datetimeFormat(item.startTime);
+                    item.endTime = _this.$util.datetimeFormat(item.endTime);
+                    item.id = index + 1;
+                    item.children = [];
+                    if (data.data.lastmandata.length != 0) {
+                        let indexs = data.data.lastmandata.findIndex((items) => {
+                            if (items.taskId == item.taskId) {
+                                item.children.push(items);
+                            }
+                        });
+                    }
+                });
+
+                _this.lables.data = list;
+                _this.abc = true;
+            }
+        },
+        //获取页码
+        changeNum(e) {
+            this.totalPage = e;
+            const methodMapping = {
+                first: (timeList) => {
+                    if (timeList) {
+                        this.getQueryList(timeList);
+                    } else {
+                        this.getQueryList();
+                    }
+                },
+                two: () => {
+                    this.getMeDone();
+                },
+                three: (searchLists) => {
+                    if (searchLists) {
+                        this.getMeLaunch(searchLists);
+                    } else {
+                        this.getMeLaunch();
+                    }
+                },
+
+            }
+            const methodToExecute = methodMapping[this.clickTagName];
+
+            if (methodToExecute) {
+                methodToExecute(this.timeList || this.searchLists);
+            }
+            // this.totalPage = e;
+        },
+        clickSave() {
+            this.$refs.formTable.$refs.form.validate((valid) => {
+                if (valid) {
+                    if (this.fromList.id) {
+                        this.setUpdateCopy(this.$refs.formTable.form)
+                    } else {
+                        this.getUserIds();
+                    }
+                } else {
+                    this.$message.error("请完善表单信息");
+                    return false;
+                }
+            });
+
+            // if (this.fromList.id) {
+            //     this.setUpdateCopy(this.$refs.formTable.form)
+            // } else {
+            //     this.getUserIds();
+            //     this.setForm();
+            // }
+        },
+        getUserIds() {
+            this.$http({
+                url: "/market/api/user/info/queryNodePers?params=" + JSON.parse(window.sessionStorage.userInfo).loginNo,
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                },
+            }).then((res) => {
+                this.request_form.userName = res.data[0].children[0].loginNameStr;
+                this.request_form.userId = res.data[0].children[0].loginNoStr;
+                this.setForm();
+                console.log(this.request_form)
+            });
+        },
+        setForm(e) {
+            this.request_form.title = '[工作台]-防火墙策略-' + this.$refs.formTable.form.needName;
+            this.$http({
+                url: "/market/fhqProcess/add",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                },
+                data: this.$refs.formTable.form,
+            }).then((res) => {
+                this.request_form.businessKey = res.data.body;
+                this.clickHandle(res.data.body);
+            });
+        },
+        async clickHandle(e) {
+            let _this = this;
+            let obj = {
+                url: this.$url.formList.startWork, //开始工作流接口
+                data: _this.request_form,
+                status: "form",
+                headers: {
+                    "Content-Type": "application/x-www-form-urlencoded",
+                },
+            };
+
+            let res = await this.common.httpPost(obj, success);
+            function success(data) {
+                console.log(data);
+                // _this.fromList.processId = data.data;
+                // _this.taskId = data.data;
+                let list = {
+                    id: e,
+                    // taskId:_this.formId,
+                    tableName: _this.request_form.processDefinitionKey,
+                    processId: data.data,
+                    // resourceId: _this.nextPath.currentShape[0].resourceId,
+                };
+                _this.setUpdate(list);
+            }
+        },
+        convertObjKeys(obj) {
+            // 检查传入参数是否为对象
+            if (typeof obj !== "object" || obj === null) {
+                return obj;
+            }
+
+            // 对象遍历,使用 Object.keys() 获取所有属性名称
+            return Object.keys(obj).reduce((result, key) => {
+                // 下划线转驼峰命名
+                const newKey = key.replace(/_(\w)/g, (match, p1) => p1.toUpperCase());
+                // 将原有属性赋值到新属性中
+                result[newKey] = obj[key];
+                return result;
+            }, {});
+        },
+        async setUpdate(e) {
+            await updateBase(e).then((res) => {
+                let list = this.convertObjKeys(res.data.body[0])
+                console.log(list);
+                // console.log(res.data.body);
+                this.fromList = list
+                // console.log(this.formList);
+                // this.fromList.taskId = res.data.body[0].taskId;
+                // this.fromList.taskId = '1111111111';
+                // this.fromList.taskName = res.data.body[0].taskName;
+                // this.fromList = concat;
+            });
+        },
+        setUpdateCopy(e) {
+            this.$http({
+                url: "/market/fhqProcess/update",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                },
+                data: e
+            }).then((res) => {
+                console.log(res);
+                this.$message.success(res.data.desc)
+            });
+
+        },
+        usernumber() {
+            getInitiateBase(this.totalPage, "", { tableName: this.request_form.processDefinitionKey, }).then((res) => {
+                this.tabList[2].number = res.data.totalRecord
+            });
+            getDoneBase(this.totalPage, "", { tableName: this.request_form.processDefinitionKey, }).then((res) => {
+                this.tabList[1].number = res.data.totalRecord;
+            });
+            getTodoBase(this.totalPage, "", { tableName: this.request_form.processDefinitionKey, }).then((res) => {
+                this.tabList[0].number = res.data.totalRecord
+            });
+        },
+        clickClose() {
+            // this.$refs.formTable.form = {}
+            this.fromList = {}
+            this.dialogStatus = false;
+            this.treeList = [];
+            this.textarea = "";
+            this.handleStatus = false;
+            this.handleStatus = false;
+            this.destroy = false;
+            this.saveStatus = false;
+            this.startStatus = true;
+            this.usernumber()
+        },
+        handleCloses() {
+            this.beforeClose()
+
+        },
+        beforeClose(e) {
+            this.usernumber()
+            this.dialogStatus = false;
+            this.handleStatus = false;
+            // this.handleCloses();
+            this.getQueryList();
+
+        },
+    },
+};
+</script>
+<style lang="scss" scoped>
+.copyClass {
+    display: flex;
+}
+
+.flex-header-text-tree {
+    width: 50%;
+    text-align: center;
+}
+
+.active {
+    background-color: #f3faff;
+}
+
+.flex-common {
+    padding: 10px 5%;
+    font-size: 18px;
+}
+
+.flex-buttons {
+    background-color: #cde4f6;
+    border-color: #cde4f6;
+    color: #606266;
+}
+
+.flex-button {
+    margin-top: 10px;
+    margin-bottom: 10px;
+
+    ::v-deep .el-button--primary {
+        width: 222px;
+    }
+}
+
+.flex-left-header-text {
+    height: 40px;
+    line-height: 40px;
+    color: black;
+    padding-left: 10px;
+    background-color: #cde4f6;
+    font-size: 18px;
+    font-weight: bold;
+}
+
+.flex-right-text {
+    margin-right: 20px;
+    width: 50%;
+}
+
+.flex-handle {
+    width: 100%;
+    padding: 30px;
+    display: flex;
+
+    .flex-right {
+        width: 50%;
+        border: 1px solid #e1e1e1;
+        margin-left: 20px;
+    }
+
+    .flex-left {
+        width: 50%;
+        display: flex;
+        flex-direction: column;
+
+        .flex-left-header {
+            display: flex;
+            justify-content: space-around;
+        }
+    }
+}
+
+.table-title {
+    height: 50px;
+    line-height: 50px;
+    background-color: #f3faff;
+    font-size: 18px;
+    font-weight: bold;
+}
+
+::v-deep .el-dialog {
+    margin-top: 0 !important;
+}
+
+// ::v-deep .el-table__fixed-body-wrapper {
+//   top: 50px !important;
+// }
+.flex-box {
+    display: flex;
+    // overflow: auto;
+    overflow-y: auto;
+    overflow-x: hidden;
+    width: calc(100% - 40px);
+    border-radius: 20px;
+    background-color: #fff;
+    margin: 0 auto;
+    margin-top: 20px;
+    position: relative;
+    flex-direction: column;
+
+    // height: 100%;
+    .flex-header {
+        display: flex;
+        width: 100%;
+        position: relative;
+        height: 60px;
+        margin: 1%;
+        border-bottom: 1px solid #e1e1e1;
+        justify-content: space-between;
+
+        .el-button {
+            width: 150px;
+            float: right;
+            height: 40px !important;
+            margin-right: 30px;
+        }
+    }
+}
+
+//设置子组件样式
+::v-deep .el-tabs__item {
+    padding: 0;
+    margin-right: 20px;
+    width: 166px;
+    text-align: center;
+    background-color: #d8eaf6;
+    color: black;
+}
+
+::v-deep .is-active {
+    color: #fff;
+    background-color: #0583cd;
+}
+
+::v-deep .el-tabs__active-bar {
+    display: none;
+}
+
+::v-deep .el-tabs__nav-wrap::after {
+    display: none !important;
+}
+
+.flex-form {
+    margin-top: 50px;
+}
+
+.flex-footer-botton {
+    display: flex;
+    justify-content: space-evenly;
+}
+</style>

File diff ditekan karena terlalu besar
+ 1831 - 0
src/pages/main/internetAssessment/internetAssessment.vue


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

@@ -0,0 +1,398 @@
+<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>

+ 60 - 9
src/pages/main/memberFamily/dataStatistics.vue

@@ -24,9 +24,9 @@
 					</el-table-column>
 					<el-table-column prop="cnt" label="员工总数">
 					</el-table-column>
-					<el-table-column label="操作" width="160px" align="center">
+					<el-table-column label="操作" width="160px" align="center" v-if="look">
 						<template slot-scope="scope">
-							<el-button size="mini" type="primary" @click="choseperson(scope.row)">查看</el-button>
+							<el-button size="mini" type="primary" @click="choseperson(scope.row)" >查看</el-button>
 						</template>
 					</el-table-column>
 				</el-table>
@@ -73,12 +73,15 @@
 				delid: '',
 				loading: false,
 				loadinged: false,
+				look:false,
 				time: '',
 				num: '',
 				fillCnt: '',
 				lastUpdateTime: '',
                 sts:1,
                 companyFlag:'',
+                isRegionName:'',
+				regionName:'',
 				// excelCityparam: ""
 				memberFamilyBtnShow: "-1"
 			}
@@ -111,7 +114,7 @@
                         window.navigator.msSaveOrOpenBlob(blob, 'adv.xlsx');
                     } else {
                         /* 火狐谷歌的文件下载方式 */
-                        console.log(response.data.type)
+                        // console.log(response.data.type)
                         var blob = new Blob([response.data])
                         var downloadElement = document.createElement('a')
                         var href = window.URL.createObjectURL(blob);
@@ -125,6 +128,7 @@
                 });
             },
 			choseperson(v){
+			
 				if(v.showButton){
 					window.sessionStorage.memberFamilyBtnShow = v.showButton;
 				}
@@ -133,7 +137,8 @@
 						 this.$router.push({
                         	path: "/employeeInfo",
                             query:{
-                                regionName:v.regionName
+                                regionName:v.regionName,
+								isRegionName:v.isRegionName
                             }
                         });
                         this.setabList("员工信息", "/employeeInfo?regionName="+v.regionName);
@@ -153,7 +158,8 @@
                         this.$router.push({
                         	path: "/employeeInfo",
                             query:{
-                                regionName:v.areaName
+                                regionName:v.areaName,
+								isRegionName:v.isRegionName
                             }
                         });
                         this.setabList("员工信息", "/employeeInfo?regionName="+v.areaName);
@@ -172,6 +178,7 @@
                     	this.tableData = res.data.data;
                     	this.total = res.data.totalRecord;
                     	this.loading = false;
+						this.isRegionName = res.data.data.isRegionName;
                         this.sts = 2;
                     });
 					
@@ -179,7 +186,8 @@
                     this.$router.push({
                     	path: "/employeeInfo?regionName="+v.areaName,
                         query:{
-                            regionName:v.areaName
+                            regionName:v.areaName,
+							isRegionName:v.isRegionName
                         }
                     });
 					
@@ -204,7 +212,7 @@
 				this.$store.commit("setTabList", Array.from(set));
 			},
 			handleSelectionChange(val) {
-				console.log(val) 
+				// console.log(val) 
 			},
 			//搜索数据
 			searchInfo(v) {
@@ -214,19 +222,45 @@
 			},
 			//获取列表
 			getList(v, n) {
+		
 				this.pageSize = n;
 				let _this = this;
 				this.loading = true;
 				this.tableData = [];
                 let url = '';
-                if(this.companyFlag == 0){
+				if(this.companyFlag == 2){
+					this.$router.push({
+                    	path: "/employeeInfo?regionName="+v.areaName,
+                        query:{
+                            regionName:this.regionName,
+							isRegionName:v.isRegionName
+                        }
+                    });
+					
+                    this.setabList("员工信息", "/employeeInfo?regionName="+v.areaName);
+				}else if(this.companyFlag == 0){
                     url="/market/cMemberWo/querySummaryByProvPage"
+					this.$http({
+					url: url,
+					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;
+					// this.isRegionName = res.data.data.isRegionName;
+					
+				});
                 }else if(this.companyFlag == 1){
                     url="/market/cMemberWo/querySummaryByAreaPage"
                     v.regionName = this.userInfo.cityName
 					window.sessionStorage.excelCityparam = this.userInfo.cityName;
 					this.sts = 2
-                }
+                
 				this.$http({
 					url: url,
 					method: "post",
@@ -239,8 +273,23 @@
 					this.tableData = res.data.data;
 					this.total = res.data.totalRecord;
 					this.loading = false;
+					// this.isRegionName = res.data.data.isRegionName;
 					
 				});
+				}
+			},
+			judgment(){
+				this.userInfo = JSON.parse(window.sessionStorage.userInfo);
+				if(this.userInfo.duty <= 9){
+					if(this.userInfo.loginNoStr == "kanyanli"){
+						this.look = true;
+					}else{
+						this.look = false;
+					}
+					
+				}else{
+					this.look = true;
+				}
 			},
 			// 分页
 			currchange(v) {
@@ -297,12 +346,14 @@
                     data: {},
                 }).then((res) => {
                     this.companyFlag = res.data.companyFlag;
+					this.regionName = res.data.groupName;
                      this.getList({}, 1);
                 });
 			}
 		},
 		mounted() {
 			this.getUser();
+			this.judgment();
 			window.sessionStorage.memberFamilyBtnShow = this.memberFamilyBtnShow
 		},
 		created() {

+ 193 - 110
src/pages/main/memberFamily/empInfoFilling.vue

@@ -35,7 +35,7 @@
         </div>
 
         <el-dialog title="员工信息" :visible.sync="dialogStatus" width="50%" :destroy-on-close="true"
-            :modal-append-to-body="false" :close-on-click-modal="false" :before-close="closedia" :fullscreen="true">
+            :modal-append-to-body="false" :close-on-click-modal="false" :before-close="closedia" :fullscreen="true" :show-close="false">
             <div>
 
                 <el-table class="com-table" ref="multipleTable" :data="infodata" tooltip-effect="dark" size="small"
@@ -43,7 +43,7 @@
 
                     <el-table-column prop="memberRelation" label="成员关系">
                         <template slot-scope="scope">
-                            <el-select clearable v-model="scope.row.memberRelation" :disabled="disableStatus">
+                            <el-select clearable v-model="scope.row.memberRelation" :disabled="scope.row.memberRelation == '本人' ? true : false">
                                 <el-option v-for="items in relationopt" :key="items.dataCode" :label="items.dataName"
                                     :value="items.dataCode">
                                 </el-option>
@@ -158,7 +158,7 @@
                             </el-button>
                             <el-button size="mini" type="primary" @click="choline(3,scope)" v-if="scope.row.id">修改
                             </el-button>
-                            <el-button size="mini" type="danger" @click="choline(2,scope)" v-if="scope.row.id">删除
+                            <el-button size="mini" type="danger" @click="choline(2,scope)" v-if="scope.row.id && scope.row.memberRelation != '本人'">删除
                             </el-button>
                         </template>
                     </el-table-column>
@@ -217,6 +217,7 @@
                 tableData: [{}],
                 dialogStatus: false,
                 disableStatus: false,
+                disableStatus1: false,
                 titname: '',
                 infolist: {},
                 userInfo: {},
@@ -234,7 +235,17 @@
                 partyGroupopt: [],
                 immiTypeopt: [],
                 fillId: '',
+                relationship:[],
+                relationshipqi:[],
+
+            }
+        },
+        watch:{
+          'scope.row.memberRelation':{
+            handler(newVal,oldVal){
+                // console.log(newVal);
             }
+          }
         },
         methods: {
             sfzyz(v){
@@ -253,13 +264,162 @@
                 // console.log(n.row);
                 let url = '';
                 if (v == 1) {
-                    url = "/market/cMemberFillDetail/add"
+                  
+                    for(let i=0; i<this.infodata.length;i++){
+                      
+                         this.relationship.push(this.infodata[i].memberRelation)
+                    
+                     }  
+                        if(this.relationship.indexOf("本人") == -1 ){
+                             this.$message.error("请先添加本人");
+                        }else{
+                            url = "/market/cMemberFillDetail/add"
+                     
+                    if(!n.row.memberRelation){
+                    this.$message({
+                        message: '请填写成员关系',
+                        type: 'error'
+                    });
+                    return
+                }
+                
+                if(!n.row.memberName){
+                    this.$message({
+                        message: '请填写成员姓名',
+                        type: 'error'
+                    });
+                    return
+                }
+                if(!n.row.memberSex){
+                    this.$message({
+                        message: '请填写成员性别',
+                        type: 'error'
+                    });
+                    return
+                }
+                if(!n.row.idCard){
+                    this.$message({
+                        message: '请填写成员身份证号',
+                        type: 'error'
+                    });
+                    return
+                }
+                this.$http({
+                    url: url,
+                    method: "post",
+                    headers: {
+                        "Content-Type": "application/json",
+                    },
+                    data: n.row,
+                }).then((res) => {
+                    if (res.data.result === 1) {
+                        _this.$message({
+                            message: res.data.desc,
+                            type: 'error'
+                        });
+                    } else {
+                        _this.$message({
+                            message: '成功',
+                            type: 'success'
+                        });
+                        _this.$http({
+                            url: "/market/cMemberFillDetail/queryPage",
+                            method: "post",
+                            headers: {
+                                "Content-Type": "application/json",
+                                "page": '{"pageNo":"' + 1 + '","pageSize":"100"}'
+                            },
+                            data: {
+                                fillId: _this.fillId
+                            },
+                        }).then((res) => {
+                            _this.infodata = res.data.data;
+                            // _this.infodata.push({});
+                            _this.infodata.push({fillId: this.fillId});
+                          
+                             for(let i=0; i<_this.infodata.length;i++){
+                       
+                         _this.relationshipqi.push(_this.infodata[i].memberRelation)
+                      
+                     } 
+                     if(_this.relationshipqi.indexOf("本人") != -1 ){
+                             _this.relationopt.splice(22,1);
+                        }
+                        });
+                    }
+                });
+              }
+          
                     // _this.infodata.push({});
                 } else if (v == 3) {
                     url = "/market/cMemberFillDetail/update"
+                    if(!n.row.memberRelation){
+                    this.$message({
+                        message: '请填写成员关系',
+                        type: 'error'
+                    });
+                    return
+                }
+                
+                if(!n.row.memberName){
+                    this.$message({
+                        message: '请填写成员姓名',
+                        type: 'error'
+                    });
+                    return
+                }
+                if(!n.row.memberSex){
+                    this.$message({
+                        message: '请填写成员性别',
+                        type: 'error'
+                    });
+                    return
+                }
+                if(!n.row.idCard){
+                    this.$message({
+                        message: '请填写成员身份证号',
+                        type: 'error'
+                    });
+                    return
+                }
+                this.$http({
+                    url: url,
+                    method: "post",
+                    headers: {
+                        "Content-Type": "application/json",
+                    },
+                    data: n.row,
+                }).then((res) => {
+                    if (res.data.result === 1) {
+                        _this.$message({
+                            message: res.data.desc,
+                            type: 'error'
+                        });
+                    } else {
+                        _this.$message({
+                            message: '成功',
+                            type: 'success'
+                        });
+                        _this.$http({
+                            url: "/market/cMemberFillDetail/queryPage",
+                            method: "post",
+                            headers: {
+                                "Content-Type": "application/json",
+                                "page": '{"pageNo":"' + 1 + '","pageSize":"100"}'
+                            },
+                            data: {
+                                fillId: _this.fillId
+                            },
+                        }).then((res) => {
+                            _this.infodata = res.data.data;
+                            // _this.infodata.push({});
+                            _this.infodata.push({fillId: this.fillId});
+                        });
+                    }
+                });
                 } else if (v == 2) {
                     url = "/market/cMemberFillDetail/del"
-                }
+               
                 if(!n.row.memberRelation){
                     this.$message({
                         message: '请填写成员关系',
@@ -275,14 +435,6 @@
                     });
                     return
                 }
-                // if(!n.row.bornDate){
-                //     this.$message({
-                //         message: '请填写成员出生日期',
-                //         type: 'error'
-                //     });
-                //     return
-                // }
-                
                 if(!n.row.memberSex){
                     this.$message({
                         message: '请填写成员性别',
@@ -297,48 +449,6 @@
                     });
                     return
                 }
-                // if(!n.row.partyGroup){
-                //     this.$message({
-                //         message: '请填写成员政治面貌',
-                //         type: 'error'
-                //     });
-                //     return
-                // }
-                // if(!n.row.workUnit){
-                //     this.$message({
-                //         message: '请填写成员工作单位',
-                //         type: 'error'
-                //     });
-                //     return
-                // }
-                // if(!n.row.memberTel){
-                //     this.$message({
-                //         message: '请填写成员联系电话',
-                //         type: 'error'
-                //     });
-                //     return
-                // }
-                // if(!n.row.memberAddress){
-                //     this.$message({
-                //         message: '请填写成员联系地址',
-                //         type: 'error'
-                //     });
-                //     return
-                // }
-                // if(!n.row.interiorStaff){
-                //     this.$message({
-                //         message: '请填写是否移动系统内工作',
-                //         type: 'error'
-                //     });
-                //     return
-                // }
-                // if(!n.row.staffName){
-                //     this.$message({
-                //         message: '请填写系统内员工职务',
-                //         type: 'error'
-                //     });
-                //     return
-                // }
                 this.$http({
                     url: url,
                     method: "post",
@@ -369,10 +479,14 @@
                             },
                         }).then((res) => {
                             _this.infodata = res.data.data;
-                            _this.infodata.push({});
+                            // _this.infodata.push({});
+                            _this.infodata.push({fillId: this.fillId});
+                            
+                            
                         });
                     }
                 });
+                 }
             },
             jumpfw() {
                 this.$router.push({
@@ -461,11 +575,21 @@
                     },
                 }).then((res) => {
                     this.infodata = res.data.data;
+                  
                     this.infodata.push({fillId: this.fillId});
+                     for(let i=0; i<this.infodata.length;i++){
+                
+                         this.relationshipqi.push(this.infodata[i].memberRelation)
+                  
+                     } 
+                     if(this.relationshipqi.indexOf("本人") != -1 ){
+                             this.relationopt.splice(22,1);
+                        }
                 });
             },
             //添加
             dialogCli(v) {
+
                 if(this.disableStatus){
                     this.infolist = {};
                     this.dialogStatus = false;
@@ -473,9 +597,12 @@
 
                     let _this = this;
                     let infodata1 = JSON.parse(JSON.stringify(this.infodata))
+                 
                     let infodataLast = infodata1[infodata1.length-1]
+                
                     if(Object.keys(infodataLast).length >= 2){
                         if(!infodataLast.memberRelation && !infodataLast.memberName && !infodataLast.memberSex && !infodataLast.idCard){
+                       
                             this.loadinged = true;
                         this.$http({
                             url: "/market/cMemberFillDetail/saveFillDetailSummaryNew",
@@ -535,6 +662,8 @@
                             });
                             return false
                         }
+                        
+                        
                         this.loadinged = true;
                         this.$http({
                             url: "/market/cMemberFillDetail/saveFillDetailSummaryNew",
@@ -563,10 +692,13 @@
                                 _this.getList({}, _this.pageSize);
                             }
                         });
-                        }
+                  
+                       
+            }
                         
                     }else if(Object.keys(infodataLast).length == 1){
-                        this.loadinged = true;
+                    
+                                this.loadinged = true;
                         this.$http({
                             url: "/market/cMemberFillDetail/saveFillDetailSummaryNew",
                             method: "post",
@@ -594,59 +726,10 @@
                                 _this.getList({}, _this.pageSize);
                             }
                         });
+                       
+                        
                     }
 
-
-                    // let isInfodataNull = infodataLast.filter((item)=>{
-                    //     console.log(item.length);
-                    //     return item.length
-                    // })
-                    // console.log(isInfodataNull);  
-                // this.infodata.forEach((item,index)=>{
-                    // if(!infodataLast.memberRelation){
-                    //     this.$message({
-                    //         message: '请填写成员关系',
-                    //         type: 'error'
-                    //     });
-                    //     return false
-                    // }
-                    
-                    // if(!infodataLast.memberName){
-                    //     this.$message({
-                    //         message: '请填写成员姓名',
-                    //         type: 'error'
-                    //     });
-                    //     return false
-                    // }
-                    
-                    // if(!infodataLast.memberSex){
-                    //     this.$message({
-                    //         message: '请填写成员性别',
-                    //         type: 'error'
-                    //     });
-                    //     return false
-                    // }
-                    // if(!infodataLast.idCard){
-                    //     this.$message({
-                    //         message: '请填写成员身份证号',
-                    //         type: 'error'
-                    //     });
-                    //     return false
-                    // }
-                // })
-                    // this.$http({
-                    //     url: "/market/cMemberFillDetail/saveFillDetailSummaryNew",
-                    //     method: "post",
-                    //     headers: {
-                    //         "Content-Type": "application/json",
-                    //         "page": '{"pageNo":"' + 1 + '","pageSize":"100"}'
-                    //     },
-                    //     data: infodata1,
-                    // }).then((res) => {
-                    //     this.infolist = {};
-                    //     this.dialogStatus = false;
-                    // });
-                    // console.log(infodata1)
                 
                 }
                 
@@ -721,7 +804,7 @@
             },
             //文件返回值
             uploadBack(v) {
-                console.log(v)
+                // console.log(v)
             },
             //功能栏
             iconCli(v) {

+ 30 - 4
src/pages/main/memberFamily/employeeInfo.vue

@@ -128,12 +128,24 @@
             outexl(){
                 let url = '/market/cMemberWo/excelExportDetailSummary';
                 let paramsf = {};
-                
+                this.userInfo = JSON.parse(window.sessionStorage.userInfo)
                 if(this.memberFamilyBtnShow && (this.memberFamilyBtnShow == "1")){
                     paramsf.areaName = this.$route.query.regionName
                 }else{
+                    // if(this.userInfo.loginNoStr != "kanyanli"){
+                    //     paramsf.regionName = this.$route.query.regionName
+                    // }
+                    //  paramsf.areaName = this.$route.query.regionName 
+                if(this.$route.query.isRegionName == 1){
                     paramsf.regionName = this.$route.query.regionName
+                    paramsf.areaNameIsNull = 0
+                   }else{
+                    paramsf.areaName = this.$route.query.regionName
+                   }
                 }
+                paramsf.isShow = 0;
+                var memberFamilyBtnShow = JSON.parse(window.sessionStorage.memberFamilyBtnShow)
+                paramsf.showButton = memberFamilyBtnShow
                 this.$http({
                     url: url,
                     method: "post",
@@ -150,7 +162,7 @@
                         window.navigator.msSaveOrOpenBlob(blob, 'adv.xlsx');
                     } else {
                         /* 火狐谷歌的文件下载方式 */
-                        console.log(response.data.type)
+                        // console.log(response.data.type)
                         var blob = new Blob([response.data])
                         var downloadElement = document.createElement('a')
                         var href = window.URL.createObjectURL(blob);
@@ -205,7 +217,21 @@
                 let _this = this;
                 this.loading = true;
                 this.tableData = [];
-                v.areaName = this.$route.query.regionName;
+                this.userInfo = JSON.parse(window.sessionStorage.userInfo)
+                //  this.userInfo.loginNoStr != "kanyanli"? :   
+                //  console.log(this.userInfo.loginNoStr);   
+            
+                
+                    if(this.$route.query.isRegionName == 1){
+                        v.regionName = this.$route.query.regionName
+                        v.areaNameIsNull = 0
+                    }else{
+                        v.areaName = this.$route.query.regionName
+                    }
+                    
+                
+                
+                // v.areaName = this.$route.query.regionName
                 v.isShow = 0;
                 var memberFamilyBtnShow = JSON.parse(window.sessionStorage.memberFamilyBtnShow)
                 v.showButton = memberFamilyBtnShow
@@ -332,7 +358,7 @@
             },
             //文件返回值
             uploadBack(v) {
-                console.log(v)
+                // console.log(v)
             },
             //功能栏
             iconCli(v) {

+ 5 - 2
src/pages/main/memberFamily/haveInHand.vue

@@ -382,17 +382,20 @@ export default {
             });
         },
         deletes(val, index) {
+         
             this.treeList.splice(index, 1);
             this.closeList = this.treeList;
         },
         deletess(val, index) {
+        
             this.treeListOld.splice(index, 1);
-            this.closeList = this.treeListOld;
+            // this.closeList = this.treeListOld;
         },
         deletest(val, index) {
             this.treeListp.splice(index, 1);
         },
         treeCheck(v) {
+     
             this.treeList = v;
         },
         choseDept(v) {
@@ -650,7 +653,7 @@ export default {
         },
         //文件返回值
         uploadBack(v) {
-            console.log(v)
+            // console.log(v)
         },
         //功能栏
         iconCli(v) {

+ 48 - 20
src/pages/main/memberFamily/index.vue

@@ -34,7 +34,7 @@
 						<i class="el-icon-notebook-1"></i>
 						<span>已结束 </span>
 					</div>
-					<div class="adv-tit adv-add" @click="advadd" v-if="roleStatus == 0">
+					<div class="adv-tit adv-add" @click="advadd" v-if="this.isAuthor">
 						<i class="el-icon-plus"></i>
 						<span>申请</span>
 					</div>
@@ -84,7 +84,7 @@
 				</el-form-item>
 			</el-form>
 			<div style="text-align: right;margin-top: 20px">
-				<el-button @click="dialogCli(1)" type="primary">确 定</el-button>
+				<el-button @click="isClick && dialogCli(1)" type="primary">确 定</el-button>
 				<el-button @click="dialogCli(2)">取 消</el-button>
 			</div>
 		</el-dialog>
@@ -150,6 +150,8 @@
 				dialogStatus: false,
 				disableStatus: false,
 				dialogStatusp: false,
+				isAuthor:false,
+				isClick: true,
 				infolist: {},
 				treeList:[],
 				treeListp:[],
@@ -170,6 +172,28 @@
 			}
 		},
 		methods: {
+		getPermissions(){
+            this.$http({
+                url: "/market/waf/checkRole",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                },
+                data: {name:"渠道人员填报"},
+            }).then((res) => {
+             
+                this.isAuthor = res.data.body;
+                // if(res.data.isAuthor){
+                //     this.isViewer = true;
+                // }else{
+                //     this.isViewer = res.data.isViewer;
+                // }
+                /*if(!this.isViewer){
+                    this.msg = "权限错误!";
+                    this.popupMsg();
+                }*/
+            });
+        },
 			dialogCli(v) {
 				let _this = this;
 				if (v === 1) {
@@ -187,7 +211,7 @@
 						})
 					}
 					param.fillList = [];
-                    // console.log(this.treeList)
+               
 					for (let i = 0; i < this.treeList.length; i++) {
 						param.fillList.push({
 							fillNo:this.treeList[i].receiveNo,
@@ -205,6 +229,7 @@
 							}
 						}
 					}
+					this.isClick = false;
                     this.$refs.infolist.validate(valid => {
                         if (valid) {
                             this.$http({
@@ -229,7 +254,9 @@
                             		_this.treeList = [];
                             		_this.treeListp = [];
                             		_this.dialogStatus = false;
+
                             	}
+								this.isClick = true;
                             });
                         }
                     })
@@ -352,21 +379,21 @@
                     	path: "/empInfoFilling",
                     });
                     this.setabList("信息填报", "/empInfoFilling");
-                    this.$http({
-                        url: "/market/cMemberFill/queryMkMemberFillInfo",
-                        method: "post",
-                        headers: {
-                            "Content-Type": "application/json",
-                        },
-                        data: {},
-                    }).then((res) => {
-                        if(res.data){
-                            this.$router.push({
-                            	path: "/empInfoFilling",
-                            });
-                            this.setabList("信息填报", "/empInfoFilling");
-                        }
-                    });
+                    // this.$http({
+                    //     url: "/market/cMemberFill/queryMkMemberFillInfo",
+                    //     method: "post",
+                    //     headers: {
+                    //         "Content-Type": "application/json",
+                    //     },
+                    //     data: {},
+                    // }).then((res) => {
+                    //     if(res.data){
+                    //         this.$router.push({
+                    //         	path: "/empInfoFilling",
+                    //         });
+                    //         this.setabList("信息填报", "/empInfoFilling");
+                    //     }
+                    // });
 				}else{
 					this.$router.push({
 						path: "/dataStatistics",
@@ -406,7 +433,7 @@
 
 			getUser() {
 				this.userInfo = JSON.parse(window.sessionStorage.userInfo);
-				// console.log(this.userInfo);
+			
 				let newArr = [];
 				
 				if(this.userInfo.cityName == null && this.userInfo.countyName == null){
@@ -424,7 +451,7 @@
 							sts: 0
 						},
 					}).then((res) => {
-						// console.log(res.data.body);
+						
 						res.data.body.forEach(item=>{
 							newArr.push(...item.dutyNo.split(","));
 						})
@@ -473,6 +500,7 @@
 			},
 		},
 		mounted() {
+			this.getPermissions();
 			this.getUser();
 			this.getlist();
 		},

+ 629 - 0
src/pages/main/opcode/formTables.vue

@@ -0,0 +1,629 @@
+<template>
+    <div>
+        <div>
+            <div class="flex-title">OP_CODE申请流程</div>
+            <el-form ref="form" :model="form" :rules="rule" :disabled="disabled">
+                <el-row>
+                    <el-col :span="6">
+                        <el-form-item label="工单编号:" prop="orderNumber">
+                            <el-input v-model="form.orderNumber" disabled></el-input>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="6">
+                        <el-form-item label="工单标题:" prop="needName">
+                            <el-input v-model="form.needName"></el-input>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="6">
+                        <el-form-item label="申请人:" prop="applicant">
+                            <el-input v-model="form.applicant" :disabled="true"></el-input>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="6">
+                        <el-form-item label="申请时间:">
+                            <el-date-picker type="date" :disabled="true" placeholder="选择日期" v-model="form.applicationTime"
+                                :picker-options="pickerOptions" value-format="yyyy-MM-dd"
+                                style="width: 100%"></el-date-picker>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <el-row>
+                    <el-col :span="6">
+                        <el-form-item label="需求编号:" prop="demandNumber">
+                            <el-input v-model="form.demandNumber"></el-input>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="6">
+                        <el-form-item label="需求名称:">
+                            <el-input v-model="form.demandName"></el-input>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="6">
+                        <el-form-item label="需求上线时间:">
+                            <el-date-picker type="date" placeholder="选择日期" v-model="form.demandDeployTime"
+                                :picker-options="pickerOptions" value-format="yyyy-MM-dd"
+                                style="width: 100%"></el-date-picker>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="6">
+                        <el-form-item label="提出地市:" prop="submitCity">
+                            <el-select v-model="form.submitCity" placeholder="请选择">
+                                <el-option v-for="(item, index) in cityList" :label="item.ou" :value="item.ou"></el-option>
+                                <!-- <el-option label="路由器" value="路由器"></el-option>
+                                <el-option label="交换机" value="交换机"></el-option>
+                                <el-option label="防火墙" value="防火墙"></el-option>
+                                <el-option label="主机" value="主机"></el-option> -->
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="6">
+                        <el-form-item label="提出人:" prop="submitter">
+                            <el-input v-model="form.submitter"></el-input>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+
+                <el-row>
+
+                    <el-col :span="24">
+                        <el-form-item label="备注:" prop="remark" label-width="110px">
+                            <el-input type="textarea" maxlength="300" show-word-limit v-model="form.remark"></el-input>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+
+
+                <el-row>
+                    <el-col :span="2">
+                        <span>操作信息:</span>
+                    </el-col>
+                    <el-col :span="22">
+                        <div class="flex-table-header">
+                            <el-button type="primary" @click="newclick(1)">新建</el-button>
+                            <el-button type="danger" @click="fireDel()">删除</el-button>
+                            <span>记录总数({{ num }})</span>
+                        </div>
+
+                        <Table @clickDemand="clickDemand" :list="lable" ref="TableList" @changeNum="changeNum"
+                            @num="selectNum">
+                        </Table>
+                    </el-col>
+                </el-row>
+                <el-row>
+                    <el-form-item label="附件:" prop="mkFileShareAttachList" label-width="120px">
+                        <my-upload ref="upload" @uploadBack="uploadBack" @delloadBack="delloadBack"
+                            @clickDownload="download" :fileInfo="fileInfo"
+                            :fileList="list.mkFileShareAttachList"></my-upload>
+                    </el-form-item>
+                </el-row>
+            </el-form>
+        </div>
+        <el-dialog v-if="firewallStatus" :before-close="clickClose(1)" :title="OPTit" :visible.sync="firewallStatus"
+            width="100%" :modal="false" style="display: flex; flex-direction: column">
+            <el-button type="primary" @click="newFireAdd(OPTit)">保存</el-button>
+            <el-form ref="form1" :model="fireList">
+                <el-row>
+                    <el-col :span="12">
+                        <el-form-item label="操作代码:" prop="code">
+                            <el-input v-model="fireList.code"></el-input>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="操作代码名称:" prop="name">
+                            <el-input v-model="fireList.name"></el-input>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="配置地市,部门:" prop="cityDept">
+                            <el-input v-model="fireList.cityDept"></el-input>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+            </el-form>
+
+        </el-dialog>
+    </div>
+</template>
+  
+<script>
+import myUpload from "../../../components/workflowUpload";
+import Table from "../../../components/el-form.vue";
+export default {
+    components: {
+        myUpload,
+        Table
+    },
+    data() {
+        return {
+            cityList: [],
+            fireList: {},
+            portList: {},
+            fireSelectList: [],
+            portSelectList: [],
+            firewallStatus: false,
+            page: 1,
+            pages: 1,
+            protStatus: false,
+            OPTit: '新建',
+            num: '0',
+            nums: '0',
+            costPayWayInputRule: {
+                costPayWayInput: [
+                    { required: true, message: "请填写", trigger: "blur" },
+                ],
+            },
+            gratuityInputRule: {
+                gratuityInput: [
+                    { required: true, message: "请填写", trigger: "blur" },
+                ],
+            },
+            reportFormInputRule: {
+                reportFormInput: [
+                    { required: true, message: "请填写", trigger: "blur" },
+                ],
+            },
+            checkBoxNone: false,
+            checkBoxStatus: false,
+            fileInfo: {
+                type: "bt1n",
+                typename: "上传文件",
+                limit: 5,
+                url: "/market/waf/upload",
+                fileList: [],
+            },
+            postEdit: false,
+            newPostAge: false,
+            pickerOptions: {
+                disabledDate(time) {
+                    return time.getTime() < Date.now() - 8.64e7;
+                },
+            },
+            oneList: [],
+            lable: {
+                name: "first",
+                height: '200',
+                titledata: [
+                    {
+                        label: "序号",
+                        prop: "index",
+                        width: 300,
+                    },
+                    {
+                        label: "操作代码",
+                        prop: "code",
+                        width: 300,
+                        color: "#0682CD",
+                    },
+                    {
+                        label: "操作代码名称",
+                        prop: "name",
+                        width: 200,
+                    },
+                    {
+                        label: "配置地市部门",
+                        prop: "cityDept",
+                        width: 200,
+                    },
+
+                ], //表格头
+                data: [], //内容数据
+                loading: true,
+                pageData: {
+                    total: 1, // 总条数
+                    pageSizes: 10, // 每页数量
+                    pageNum: 1, // 页码
+                },
+                isSelection: true, // 表格有多选时设置
+                isOperation: false, // 表格有操作列时设置
+                isIndex: false, // 列表序号
+                operation: {
+                    // 表格有操作列时设置
+                    label: "操作", // 列名
+                    width: "50", // 根据实际情况给宽度
+                    data: [
+                        {
+                            label: "操作", // 操作名称
+                            type: "", //按钮类型
+                            handleRow: () => {
+
+                            }, // 自定义事件
+                        },
+                    ],
+                },
+            },
+            childrenList: [],
+            twoList: [],
+            twoStatus: false,
+            threeList: [],
+            threeStatus: false,
+            fourList: [],
+            fourStatus: false,
+            fiveList: [],
+            fiveStatus: false,
+            isSensitiveDataStatus: false,
+            timeStatus: false,
+            functionStatus: false,
+            reportStatus: false,
+            Length: "",
+            form: {},
+            rules: {},
+            rule: {
+                needName: [
+                    { required: true, message: "请输入工单标题", trigger: "blur" },
+                ],
+                operationType: [
+                    { required: true, message: "请选择操作类型", trigger: "change" },
+                ]
+            },
+            copyRule: {},
+            isList: [],
+            remindMmsg: []
+        };
+    },
+    props: {
+        list: {
+            type: Object,
+            default: () => { },
+        },
+        disabled: {
+            type: Boolean,
+            default: () => { },
+        },
+    },
+    mounted() {
+        if (this.list.mkFileShareAttachList) {
+            this.$refs.upload.attList = this.list.mkFileShareAttachList;
+            this.list.mkFileShareAttachList.map((item) => {
+                item.name = item.fileName;
+            });
+        }
+        if (this.form.orderNumber) {
+            this.getFromQuery(this.form.orderNumber)
+        }
+
+    },
+    created() {
+        this.form = this.list;
+        this.copyRule = this.rule;
+        this.form.applicant = JSON.parse(window.sessionStorage.userInfo).loginName
+        this.form.applicationTime = new Date();
+        this.getcityList()
+    },
+
+    methods: {
+        getcityList() {
+            this.$http({
+                url: "/sysmgr/csysdept/municipalProvincialDepartments",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                },
+                data: {}
+            }).then((res) => {
+                console.log(res);
+                this.cityList = res.data;
+            });
+        },
+        clickClose() {
+
+        },
+        fireDel() {
+            if (this.fireSelectList.length > 0) {
+                this.$confirm("即将删除数据, 是否删除?", "提示", {
+                    confirmButtonText: "确定",
+                    cancelButtonText: "取消",
+                    type: "warning",
+                })
+                    .then(() => {
+                        this.$http({
+                            url: "/market/opProcessInfo/delBatch",
+                            method: "post",
+                            headers: {
+                                "Content-Type": "application/json",
+                            },
+                            data: this.fireSelectList
+                        }).then((res) => {
+                            this.$message.success('删除成功')
+                            this.page = 1;
+                            this.getFromQuery(this.form.orderNumber)
+                        });
+                    })
+                    .catch(() => { });
+            }
+
+        },
+
+        newFireAdd(e) {
+            if (e == '新增') {
+                this.fireList.infoId = this.form.orderNumber
+                this.$http({
+                    url: "/market/opProcessInfo/add",
+                    method: "post",
+                    headers: {
+                        "Content-Type": "application/json",
+                    },
+                    data: this.fireList
+                }).then((res) => {
+                    this.firewallStatus = false;
+                    this.getFromQuery(this.form.orderNumber)
+                    this.$message.success('添加成功')
+                });
+            } else if (e == '修改') {
+                this.$http({
+                    url: "/market/opProcessInfo/update",
+                    method: "post",
+                    headers: {
+                        "Content-Type": "application/json",
+                    },
+                    data: this.fireList
+                }).then((res) => {
+                    this.firewallStatus = false;
+                    this.getFromQuery(this.form.orderNumber)
+                    this.$message.success('修改成功')
+                });
+            }
+
+        },
+        getFromQuery(e) {
+            console.log(e);
+            this.$http({
+                url: "/market/opProcessInfo/queryPage",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                    page: '{"pageNo":"' + this.page + '","pageSize":"10"}',
+                },
+                data: { infoId: e },
+            }).then((res) => {
+                this.lable.data = res.data.data
+                this.lable.pageData.total = res.data.totalRecord ? res.data.totalRecord : 1;
+                this.lable.data.map((item, index) => {
+                    item.index = (index + 1) + (res.data.pageNo - 1) * res.data.pageSize
+                })
+                this.num = res.data.totalRecord
+            });
+        },
+        newclick(e) {
+            this.OPTit = '新增'
+            this.fireList = {};
+            this.portList = {};
+            e === 1 ? this.firewallStatus = true : this.protStatus = true;
+        },
+        //页码
+        changeNum(e) {
+            this.page = e;
+            this.getFromQuery(this.form.orderNumber)
+
+
+
+        },
+        selectNum(e) {
+            this.fireSelectList = e;
+        },
+        selectNums(e) {
+            this.portSelectList = e
+        },
+        //点击工单
+        clickDemand(row, e) {
+            if (this.form.taskName === "填写申请单") {
+                this.OPTit = '修改'
+                this.fireList = e
+                this.firewallStatus = true
+                console.log(e);
+            }
+        },
+        uploadBack(v) {
+            if (this.form.mkFileShareAttachList) {
+                this.form.mkFileShareAttachList = [];
+                this.form.mkFileShareAttachList = v;
+            } else {
+                let mkFileShareAttachList = [];
+                mkFileShareAttachList = v;
+                this.$set(this.form, "mkFileShareAttachList", mkFileShareAttachList);
+            }
+        },
+        delloadBack(v) {
+            this.form.mkFileShareAttachList = v;
+            this.$http({
+                url: "/market/zfpzProcess/update",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                },
+                data: this.form,
+            }).then((res) => {
+            });
+        },
+        download() {
+            console.log(123);
+            if (this.form.mkFileShareAttachList.length > 1) {
+                this.$http({
+                    url: "/market/waf/downAllFile",
+                    method: "post",
+                    headers: {
+                        "Content-Type": "application/json",
+                    },
+                    responseType: "blob",
+                    data: { mkFileShareAttachList: this.form.mkFileShareAttachList },
+                }).then((response) => {
+                    if (window.navigator && window.navigator.msSaveOrOpenBlob) {
+                        let blob = new Blob([response.data], {
+                            type: "application/vnd.ms-excel",
+                        });
+                        window.navigator.msSaveOrOpenBlob(
+                            blob,
+                            new Date().getTime().toString() + ".zip"
+                        );
+                    } else {
+                        /* 火狐谷歌的文件下载方式 */
+                        var blob = new Blob([response.data]);
+                        var downloadElement = document.createElement("a");
+                        var href = window.URL.createObjectURL(blob);
+                        downloadElement.href = href;
+                        downloadElement.download = this.form.needName + ".zip";
+                        document.body.appendChild(downloadElement);
+                        downloadElement.click();
+                        document.body.removeChild(downloadElement);
+                        window.URL.revokeObjectURL(href);
+                    }
+                    if (this.infolist.authType === "3") {
+                        this.dialogCli(10);
+                    }
+                });
+            } else {
+                console.log(this.form.mkFileShareAttachList);
+                let list = {
+                    id: this.form.mkFileShareAttachList[0].fileCode,
+                    fileName: this.form.mkFileShareAttachList[0].name,
+                };
+                this.$http({
+                    url: "/market/waf/downFile",
+                    method: "post",
+                    headers: {
+                        "Content-Type": "application/json",
+                    },
+                    responseType: "blob",
+                    data: list,
+                }).then((response) => {
+                    console.log(response);
+                    if (window.navigator && window.navigator.msSaveOrOpenBlob) {
+                        let blob = new Blob([response.data], {
+                            type: "application/vnd.ms-excel",
+                        });
+                        //window.navigator.msSaveOrOpenBlob(blob, this.form.needName);
+                        window.navigator.msSaveOrOpenBlob(
+                            blob,
+                            this.form.mkFileShareAttachList[0].name
+                        );
+                    } else {
+                        /* 火狐谷歌的文件下载方式 */
+                        var blob = new Blob([response.data]);
+                        var downloadElement = document.createElement("a");
+                        var href = window.URL.createObjectURL(blob);
+                        downloadElement.href = href;
+                        downloadElement.download = this.form.mkFileShareAttachList[0].name;
+                        document.body.appendChild(downloadElement);
+                        downloadElement.click();
+                        document.body.removeChild(downloadElement);
+                        window.URL.revokeObjectURL(href);
+                    }
+                });
+            }
+        },
+    },
+
+};
+</script>
+  
+<style lang="scss" scoped>
+.flex-table-header {
+    margin-bottom: 10px;
+
+    span {
+        margin-left: 20px;
+    }
+}
+
+::v-deep .el-row {
+    margin-top: 16px;
+}
+
+a {
+    text-decoration: none;
+}
+
+::v-deep .el-upload-list {
+    width: 23rem;
+}
+
+.flex-title {
+    text-align: center;
+    font-size: 24px;
+    line-height: 60px;
+
+    font-weight: bold;
+}
+
+.flex-header {
+    margin-top: 20px;
+    display: flex;
+    //   justify-content: space-between;
+
+    ::v-deep .el-form-item {
+        width: 20%;
+        margin-right: 60px;
+    }
+}
+
+.flex-upload {
+    ::v-deep .el-form-item {
+        width: 100%;
+    }
+}
+
+.flex-input-tare {
+    ::v-deep .el-form-item {
+        width: 100%;
+        margin-right: 5%;
+    }
+
+    ::v-deep .el-form-item__label {
+        width: 9rem !important;
+    }
+}
+
+.flex-textarea {
+    width: 70.5%;
+}
+
+.el-upload__tip {
+    color: red;
+}
+
+// ::v-deep .el-input--suffix .el-input__inner {
+//   width: 119% !important;
+// }
+::v-deep .el-input__inner {
+    color: black !important;
+}
+
+::v-deep .el-textarea.is-disabled .el-textarea__inner {
+    color: black !important;
+}
+
+::v-deep .el-form-item {
+    display: flex;
+}
+
+::v-deep .el-form-item__label {
+    // width:100%;
+    height: 50px;
+    line-height: 40px !important;
+    width: 130px;
+    font-size: 0.5rem;
+}
+
+::v-deep .el-form-item__content {
+    width: 100%;
+    margin-left: 0% !important;
+}
+
+.el-select,
+::v-deep.el-input_inner {
+    width: 100%;
+}
+
+::v-deep.el-form-item.foldLabel .el-form-item__label {
+    white-space: pre-line;
+    /*换行显示*/
+    height: 10px;
+    /*设置lable高度,input高度一样*/
+    line-height: 30px !important;
+}
+
+::v-deep .el-pagination {
+    display: block !important;
+    background-color: #fff !important;
+}
+</style>
+  

+ 957 - 0
src/pages/main/opcode/index.vue

@@ -0,0 +1,957 @@
+<template>
+    <div class="flex-box">
+        <!-- v-show="lable.name === 'first'" -->
+        <div class="flex-header" :span="24">
+            <Tabs :tabList="tabList" @status="clickTabTops" />
+            <el-button type="primary" @click="clickNewTag" v-show="lableTable.name === 'first'">+新建</el-button>
+        </div>
+        <div class="flex-count">
+            <Table @clickDemand="clickDemand" :list="lableTable" ref="TableList" @changeNum="changeNum">
+            </Table>
+        </div>
+        <el-dialog v-if="dialogStatus" :before-close="clickClose" :title="dialogTitle + '需求'" :visible.sync="dialogStatus"
+            width="100%" :modal="false" style="display: flex; flex-direction: column">
+            <!-- 后期维护 -->
+            <div style="position: fixed; z-index: 99">
+                <el-button type="primary" v-if="startStatus" @click="clickHandles">处理</el-button>
+                <el-button type="primary" v-if="closeStatus" @click="clickClose">关闭</el-button>
+                <el-button type="primary" v-if="saveStatus" @click="clickSave">保存</el-button>
+            </div>
+            <FormTable :list="fromList" :disabled="disabled" class="flex-form" ref="formTable" />
+            <div>
+                <div class="table-title">流程追踪</div>
+                <div v-if="abc == true">
+                    <Tables :list="lables"></Tables>
+                </div>
+            </div>
+        </el-dialog>
+        <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 ref="workflow" :list="fromList" v-if="isWorkflowStatus == true" @updateForm="beforeClose"
+                    :requestForm="requestForm" :adminResourceId="adminResourceId" />
+                <WorkflowEntrance :list="fromList" v-else :lastManList="lastManList" @beforeClose="beforeClose"
+                    :requestForm="requestForm" />
+            </el-dialog>
+        </div>
+
+    </div>
+</template>
+<script>
+import Workflow from "../../../components/workflowBase";
+import WorkflowEntrance from "../../../components/workflowEntrance";
+import Tabs from "../../../components/el-tabs.vue";
+import Table from "../../../components/el-form.vue";
+import Tables from "../../../components/el-forms.vue";
+import getConfig from '../../../config/dev.js'
+import FormTable from "./formTables.vue";
+import { updateBase } from "../../../http/api.js";
+import {
+    getTodoBase,
+    getDoneBase,
+    getInitiateBase,
+} from "../../../http/api.js";
+import { log } from "console";
+
+export default {
+    components: {
+        Tabs,
+        Table,
+        Tables,
+        FormTable,
+        Workflow,
+        WorkflowEntrance
+    },
+    created() {
+        let status = JSON.stringify(this.$route.query) == "{}";
+        if (status) {
+            this.lableTable = this.firstTable
+            this.getQueryList()
+            this.usernumber()
+        } else {
+            let { id, type } = this.$route.query;
+            let list = {
+                taskId: id,
+                tableName: this.request_form.processDefinitionKey
+            };
+            this.usernumber()
+            this.lableTable = this.firstTable
+            this.getQueryList(list, 0);//代办
+        }
+    },
+    data() {
+        return {
+            lableTable: {},
+            abc: false,
+            handleClose: false,
+            isWorkflowStatus: true, //默认展示模式组件,为true时展示多人处理组件
+            buttonStatus: true,
+            copyStatus: false,
+            dialogTitle: "",
+            disabled: true,
+            destroy: false,
+            //分页数据
+            totalPage: "1", //默认第一页
+            currentPage: "1", //当前页数
+            pageSize: "10", //每页显示十条
+            currentPageList: ["1", "2"],
+            startStatus: true,
+            closeStatus: true, //关闭按钮状态
+            forwardStatus: false, //转需求管理平台状态
+            exportBtnStatus: false, //导出按钮状态
+            saveStatus: true, //保存按钮状态
+            fromList: {}, //表单数据
+            rejectStatus: true,
+            taskId: "", //工单taskID
+            request_form: {
+                userId: "",
+                userName: "",
+                path: this.$router.currentRoute.name,
+                userCode: JSON.parse(window.sessionStorage.userInfo).loginNo,
+                // path:this.$roter.options.routers,
+                // nextDealMan:'',
+                title: "title",
+                businessKey: "288",
+                processDefinitionKey: "op_process",
+            },
+            requestForm: {
+                // fresourceId: "b79206a9-b258-11ed-886f-d6cd97160e00", // 本地环境
+                // fresourceId: "1245d300-b25a-11ed-be6b-00505687dcd3", //测试环境
+                // fresourceId:'6b9e1cb2-d918-11ed-8255-e00084564cce',//生产环境
+                fresourceId: getConfig().opcode,
+                processDefinitionKey: "op_process",
+            },
+            treeList: [], //候选人列表
+            treeCopyList: [], //抄送人列表
+            editStatus: false,
+            querryList: [], //已选人员名单
+            commonlyList: [
+                //常用意见列表页
+            ],
+            textarea: "未填写意见",
+            num: 0,
+            dialogStatus: false, //新建dialog显示
+            handleStatus: false, //处理按钮状态
+            tabList: [
+                {
+                    index: "first",
+                    label: "我的待办",
+                    number: 0,
+                    name: "prosss_key",
+                },
+                {
+                    index: "two",
+                    label: "我的已办",
+                    number: 0,
+                },
+                {
+                    index: "three",
+                    label: "我发起的",
+                    number: 0,
+                },
+
+            ],
+            firstTable: {
+                name: "first",
+                height: 500,
+                titledata: [
+                    {
+                        label: "工单标题",
+                        prop: "need_name",
+                        width: 300,
+                        color: "#0682CD",
+                    },
+                    {
+                        label: "申请人",
+                        prop: "predealman",
+                        width: 300,
+                    },
+                    {
+                        label: "申请时间",
+                        prop: "proposer_time",
+                        width: 400,
+                    },
+                    {
+                        label: "当前环节",
+                        prop: "taskName",
+                        width: 400,
+                    },
+                ], //表格头
+                data: [], //内容数据
+                loading: true,
+                pageData: {
+                    total: 100, // 总条数
+                    pageSize: 10, // 每页数量
+                    pageNum: 1, // 页码
+                },
+                isSelection: false, // 表格有多选时设置
+                isOperation: false, // 表格有操作列时设置
+                isIndex: false, // 列表序号
+                operation: {
+                    // 表格有操作列时设置
+                    label: "操作", // 列名
+                    width: "50", // 根据实际情况给宽度
+                    data: [
+                        {
+                            label: "操作", // 操作名称
+                            type: "", //按钮类型
+                            handleRow: (e, r, o) => {
+
+                            }, // 自定义事件
+                        },
+                    ],
+                },
+            },
+            twoTable: {
+                name: "two",
+                disabled: true,
+                titledata: [
+                    {
+                        label: "工单标题",
+                        prop: "need_name",
+                        width: 300,
+                        color: "#0682CD",
+                    },
+                    {
+                        label: "申请人",
+                        prop: "applicant",
+                        width: 300,
+                    },
+                    {
+                        label: "申请时间",
+                        prop: "proposer_time",
+                        width: 400,
+                    },
+                    {
+                        label: "当前环节",
+                        prop: "taskName",
+                        width: 400,
+                    },
+                ], //表格头
+                data: [], //内容数据
+                loading: true,
+                pageData: {
+                    total: 100, // 总条数
+                    pageSize: 10, // 每页数量
+                    pageNum: 1, // 页码
+                },
+                isSelection: false, // 表格有多选时设置
+                isOperation: false, // 表格有操作列时设置
+                isIndex: false, // 列表序号
+                operation: {
+                    // 表格有操作列时设置
+                    label: "操作", // 列名
+                    width: "50", // 根据实际情况给宽度
+                    data: [
+                        {
+                            label: "操作", // 操作名称
+                            type: "", //按钮类型
+                            handleRow: function () { }, // 自定义事件
+                        },
+                    ],
+                },
+            },
+            threeTable: {
+                name: "three",
+                titledata: [
+                    {
+                        label: "标题",
+                        prop: "need_name",
+                        width: 300,
+                        color: "#0682CD",
+                    },
+                    {
+                        label: "申请人",
+                        prop: "applicant",
+                        width: 300,
+                    },
+                    {
+                        label: "申请时间",
+                        prop: "proposer_time",
+                        width: 400,
+                    },
+                    {
+                        label: "当前环节",
+                        prop: "taskName",
+                        width: 400,
+                    },
+                    {
+                        label: "当前处理人",
+                        prop: "currentMan",
+                        width: 200,
+                    },
+                ], //表格头
+                data: [], //内容数据
+                loading: true,
+                pageData: {
+                    total: 100, // 总条数
+                    pageSize: 10, // 每页数量
+                    pageNum: 1, // 页码
+                },
+                isSelection: false, // 表格有多选时设置
+                isOperation: false, // 表格有操作列时设置
+                isIndex: false, // 列表序号
+                operation: {
+                    // 表格有操作列时设置
+                    label: "支撑状态", // 列名
+                    width: "100", // 根据实际情况给宽度
+                    data: [
+                        {
+                            label: "查看", // 操作名称
+                            type: "", //按钮类型
+                            handleRow: (e, r, o) => {
+
+                            }, // 自定义事件
+                        },
+                    ],
+                },
+            },
+            lable: {},
+            lables: {
+                height: "400",
+                titledata: [
+                    {
+                        id: 1,
+                        label: "环节名称",
+                        prop: "taskName",
+                        width: 300,
+                    },
+                    {
+                        id: 2,
+                        label: "处理人",
+                        prop: "assignee",
+                        width: 300,
+                    },
+                    {
+                        id: 3,
+                        label: "到达时间",
+                        prop: "startTime",
+                        width: 300,
+                    },
+                    {
+                        id: 4,
+                        label: "处理时间",
+                        prop: "endTime",
+                        width: 300,
+                    },
+                    {
+                        id: 5,
+                        label: "回复意见",
+                        prop: "content",
+                        width: 300,
+                    },
+                ], //表格头
+                data: [], //内容数据
+                loading: true,
+                pageData: {
+                    total: 0, // 总条数
+                    pageSize: 10, // 每页数量
+                    pageNum: 1, // 页码
+                },
+                isSelection: false, // 表格有多选时设置
+                isOperation: false, // 表格有操作列时设置
+                isIndex: true, // 列表序号
+                operation: {
+                    // 表格有操作列时设置
+                    label: "操作", // 列名
+                    width: "50", // 根据实际情况给宽度
+                    data: [
+                        {
+                            label: "操作", // 操作名称
+                            type: "", //按钮类型
+                            handleRow: function () { }, // 自定义事件
+                        },
+                    ],
+                },
+            },
+            clickTagName: "first",
+        };
+    },
+    methods: {
+        clickTabTops(e) {
+            console.log(e);
+            this.$refs.TableList.page = 1;
+            this.totalPage = "1";
+            this.clickTagName = e;
+            const options = {
+                first: {
+                    setTable: function () {
+                        this.lableTable = this.firstTable;
+                        this.getQueryList();
+                    }.bind(this)
+                },
+                two: {
+                    setTable: function () {
+                        this.lableTable = this.twoTable;
+                        this.getQueryDone();
+                    }.bind(this)
+                },
+                three: {
+                    setTable: function () {
+                        this.lableTable = this.threeTable;
+                        this.getMeLaunch();
+                    }.bind(this)
+                }
+            };
+            options[e]?.setTable?.();
+
+        },
+        //处理按钮,开始工作流接口
+        clickHandles() {
+            this.getNextPath(this.fromList.resourceId || "");
+        },
+        getNextPath(e) {
+            let list = {
+                fresourceId: this.requestForm.fresourceId, // 本地环境
+                processId: this.requestForm.processDefinitionKey,
+            };
+            if (e) {
+                list.resourceId = e;
+            }
+            this.$http({
+                url: "/market/waf/queryPath",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                },
+                data: list,
+            }).then((res) => {
+                if (res.data.body.nextShapes[0].multi) {
+                    if (res.data.body.nextShapes[0].multi.multi === "true") {
+                        this.getLastName();
+                    } else {
+                        this.adminResourceId = "";
+                    }
+                } else {
+                    this.adminResourceId = "";
+
+                    // this.destroy = true;
+                    // this.handleStatus = true;
+                }
+                console.log(this.fromList);
+                if (this.fromList.processId || this.fromList.taskId) {
+                    this.destroy = true;
+                    this.handleStatus = true;
+                } else {
+                    this.$message.error("请先点击保存按钮");
+                }
+            });
+        },
+        usernumber() {
+            getInitiateBase(this.totalPage, "", { tableName: this.request_form.processDefinitionKey, }).then((res) => {
+                this.tabList[2].number = res.data.totalRecord
+            });
+            getDoneBase(this.totalPage, "", { tableName: this.request_form.processDefinitionKey, }).then((res) => {
+                this.tabList[1].number = res.data.totalRecord;
+            });
+            getTodoBase(this.totalPage, "", { tableName: this.request_form.processDefinitionKey, }).then((res) => {
+                this.tabList[0].number = res.data.totalRecord
+            });
+        },
+        getQueryList(e, status) {
+            let list = {
+                tableName: this.request_form.processDefinitionKey,
+            };
+            getTodoBase(this.totalPage, "", list).then((res) => {
+                if (status === 0) {
+                    this.clickDemand("工单标题", res.data.data[0]);
+                }
+                console.log(res);
+                this.lableTable.data = res.data.data;
+                this.tabList[0].number = res.data.totalRecord;
+                this.lableTable.pageData.total = res.data.totalRecord;
+                this.loading = false;
+            });
+        },
+        getQueryDone() {
+            let list = {
+                tableName: this.request_form.processDefinitionKey,
+            };
+            getDoneBase(this.totalPage, "", list).then((res) => {
+                this.lableTable.data = res.data.data;
+                this.lableTable.pageData.total = res.data.totalRecord;
+                this.tabList[1].number = res.data.totalRecord;
+                this.total = res.data.totalRecord;
+                this.loading = false;
+            });
+        },
+        getMeLaunch() {
+            let list = {
+                tableName: this.request_form.processDefinitionKey,
+            };
+            getInitiateBase(this.totalPage, "", list).then((res) => {
+                this.lableTable.data = res.data.data;
+                this.lableTable.pageData.total = res.data.totalRecord;
+                this.tabList[2].number = res.data.totalRecord;
+                this.total = res.data.totalRecord;
+                this.loading = false;
+            });
+        },
+        //新建按钮
+        async clickNewTag() {
+            this.dialogTitle = "新建";
+            this.fromList = {}
+            this.lables.data = [];
+            this.disabled = false;
+            this.saveStatus = true
+            await this.getOrderNumber();
+
+
+        },
+        getOrderNumber() {
+            this.$http({
+                url: "/market/opProcess/getOrderNumber",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                },
+                data: {}
+            }).then((res) => {
+                this.fromList.orderNumber = res.data.body
+                this.fromList.taskName = '填写申请单'
+                this.dialogStatus = true;
+            });
+        },
+        //获取用户部门名称
+        getDepartmentName() {
+            this.$http({
+                url: "/market/waf/queryDept",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                },
+                data: {},
+            }).then((res) => {
+
+
+
+            });
+        },
+        clickDemand(e, res) {
+            if (e === "工单状态" || e === "标题" || e === "工单标题") {
+                if (this.clickTagName === "first") {
+                    this.dialogTitle = "查看";
+                    if (res.taskName === "填写申请单") {
+                        this.disabled = false;
+                        this.saveStatus = true;
+                    } else {
+                        this.disabled = true;
+                        this.saveStatus = false;
+                    }
+                    // this.clickForm(res);
+                    // this.getFromQuery(res);
+                    // setTimeout(() => {
+                    //     this.getBtnStatus(res);
+                    // }, 500);
+                }
+                if (this.clickTagName === "two") {
+                    this.disabled = true;
+                    this.startStatus = false;
+                    this.saveStatus = false;
+                }
+                if (this.clickTagName === "three") {
+                    if (res.taskName === "填写申请单") {
+                        this.startStatus = true;
+                        this.disabled = false;
+                        this.saveStatus = true;
+                    } else {
+                        this.startStatus = false;
+                        this.disabled = true;
+                        this.saveStatus = false;
+                    }
+                }
+                this.fromList = res;
+                this.clickForm(res);
+                this.getFromQuery(res);
+            }
+        },
+        //查询form表单数据
+        getFromQuery(e) {
+            this.$http({
+                url: "/market/opProcess/query",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                },
+                data: { id: e.id },
+            }).then((res) => {
+                console.log(e);
+                let list = this.convertObjKeys(e)
+                this.fromList = { ...res.data, ...list }
+                this.dialogStatus = true;
+            });
+        },
+        async clickForm(e) {
+            let list = {
+                processInstanceId: e.process_id,
+                // taskId:e.taskId
+            };
+            let _this = this;
+            let obj = {
+                url: this.$url.formList.getCommentsByProcessId, //流程追踪接口
+                data: list,
+                headers: {
+                    "Content-Type": "application/json",
+                },
+            };
+
+            let res = await this.common.httpPost(obj, success);
+            function success(data) {
+                console.log("[ 接口返回值第一曾 ] >", data);
+                let list = [];
+                list = data.data.data;
+                if (data.data.lastmandata.length != 0) {
+                    data.data.lastmandata.map((item, index) => {
+                        item.id = index + 22;
+                    });
+                }
+                list.map((item, index) => {
+                    item.startTime = _this.$util.datetimeFormat(item.startTime);
+                    item.endTime = _this.$util.datetimeFormat(item.endTime);
+                    item.id = index + 1;
+                    item.children = [];
+                    if (data.data.lastmandata.length != 0) {
+                        let indexs = data.data.lastmandata.findIndex((items) => {
+                            if (items.taskId == item.taskId) {
+                                item.children.push(items);
+                            }
+                        });
+                    }
+                });
+
+                _this.lables.data = list;
+                _this.abc = true;
+            }
+        },
+        //获取页码
+        changeNum(e) {
+
+            let _this = this
+            this.totalPage = e;
+            const methodMapping = {
+                first: (timeList) => {
+                    _this.firstTable.pageData.pageNum = e;
+                    if (timeList) {
+                        _this.getQueryList(timeList);
+                    } else {
+                        _this.getQueryList();
+                    }
+                },
+                two: () => {
+                    _this.twoTable.pageData.pageNum = e;
+                    _this.getQueryDone();
+                },
+                three: (searchLists) => {
+                    _this.threeTable.pageData.pageNum = e;
+                    if (searchLists) {
+                        _this.getMeLaunch(searchLists);
+                    } else {
+                        _this.getMeLaunch();
+                    }
+                },
+
+            }
+            const methodToExecute = methodMapping[this.clickTagName];
+
+            if (methodToExecute) {
+                methodToExecute(this.timeList || this.searchLists);
+            }
+            // this.totalPage = e;
+        },
+        clickSave() {
+            this.$refs.formTable.$refs.form.validate((valid) => {
+                if (valid) {
+                    if (this.fromList.id) {
+                        this.setUpdateCopy(this.$refs.formTable.form)
+                    } else {
+                        this.getUserIds();
+                    }
+                } else {
+                    this.$message.error("请完善表单信息");
+                    return false;
+                }
+            });
+            // if (this.fromList.id) {
+            //     this.setUpdateCopy(this.$refs.formTable.form)
+            // } else {
+            //     this.getUserIds();
+            //     this.setForm();
+            // }
+        },
+        getUserIds() {
+            this.$http({
+                url: "/market/api/user/info/queryNodePers?params=" + JSON.parse(window.sessionStorage.userInfo).loginNo,
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                },
+            }).then((res) => {
+                this.request_form.userName = res.data[0].children[0].loginNameStr;
+                this.request_form.userId = res.data[0].children[0].loginNoStr;
+                this.setForm();
+                console.log(this.request_form)
+            });
+        },
+        setForm(e) {
+            this.request_form.title = '[工作台]-Op_Code-' + this.$refs.formTable.form.needName;
+            this.$http({
+                url: "/market/opProcess/add",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                },
+                data: this.$refs.formTable.form,
+            }).then((res) => {
+                this.request_form.businessKey = res.data.body;
+                this.clickHandle(res.data.body);
+            });
+        },
+        async clickHandle(e) {
+            let _this = this;
+            let obj = {
+                url: this.$url.formList.startWork, //开始工作流接口
+                data: _this.request_form,
+                status: "form",
+                headers: {
+                    "Content-Type": "application/x-www-form-urlencoded",
+                },
+            };
+
+            let res = await this.common.httpPost(obj, success);
+            function success(data) {
+                console.log(data);
+                // _this.fromList.processId = data.data;
+                // _this.taskId = data.data;
+                let list = {
+                    id: e,
+                    // taskId:_this.formId,
+                    tableName: _this.request_form.processDefinitionKey,
+                    processId: data.data,
+                    // resourceId: _this.nextPath.currentShape[0].resourceId,
+                };
+                _this.setUpdate(list);
+            }
+        },
+        convertObjKeys(obj) {
+            // 检查传入参数是否为对象
+            if (typeof obj !== "object" || obj === null) {
+                return obj;
+            }
+
+            // 对象遍历,使用 Object.keys() 获取所有属性名称
+            return Object.keys(obj).reduce((result, key) => {
+                // 下划线转驼峰命名
+                const newKey = key.replace(/_(\w)/g, (match, p1) => p1.toUpperCase());
+                // 将原有属性赋值到新属性中
+                result[newKey] = obj[key];
+                return result;
+            }, {});
+        },
+        async setUpdate(e) {
+            await updateBase(e).then((res) => {
+                let list = this.convertObjKeys(res.data.body[0])
+                console.log(list);
+                // console.log(res.data.body);
+                this.fromList = list
+                // console.log(this.formList);
+                // this.fromList.taskId = res.data.body[0].taskId;
+                // this.fromList.taskId = '1111111111';
+                // this.fromList.taskName = res.data.body[0].taskName;
+                // this.fromList = concat;
+            });
+        },
+        setUpdateCopy(e) {
+            this.$http({
+                url: "/market/opProcess/update",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                },
+                data: e
+            }).then((res) => {
+                console.log(res);
+                this.$message.success(res.data.desc)
+            });
+
+        },
+        clickClose() {
+            // this.$refs.formTable.form = {}
+            this.fromList = {}
+            this.dialogStatus = false;
+            this.treeList = [];
+            this.textarea = "";
+            this.handleStatus = false;
+            this.handleStatus = false;
+            this.destroy = false;
+            this.dialogStatus = false;
+            this.saveStatus = false;
+            this.startStatus = true;
+            this.usernumber()
+        },
+        handleCloses() {
+            this.beforeClose()
+        },
+        beforeClose(e) {
+            console.log(e);
+            this.dialogStatus = false;
+            this.handleStatus = false;
+            this.usernumber()
+            // this.handleCloses();
+            this.getQueryList();
+            // this.getMeLaunch();
+            // this.getQueryDone();
+        },
+    },
+};
+</script>
+<style lang="scss" scoped>
+.copyClass {
+    display: flex;
+}
+
+.flex-header-text-tree {
+    width: 50%;
+    text-align: center;
+}
+
+.active {
+    background-color: #f3faff;
+}
+
+.flex-common {
+    padding: 10px 5%;
+    font-size: 18px;
+}
+
+.flex-buttons {
+    background-color: #cde4f6;
+    border-color: #cde4f6;
+    color: #606266;
+}
+
+.flex-button {
+    margin-top: 10px;
+    margin-bottom: 10px;
+
+    ::v-deep .el-button--primary {
+        width: 222px;
+    }
+}
+
+.flex-left-header-text {
+    height: 40px;
+    line-height: 40px;
+    color: black;
+    padding-left: 10px;
+    background-color: #cde4f6;
+    font-size: 18px;
+    font-weight: bold;
+}
+
+.flex-right-text {
+    margin-right: 20px;
+    width: 50%;
+}
+
+.flex-handle {
+    width: 100%;
+    padding: 30px;
+    display: flex;
+
+    .flex-right {
+        width: 50%;
+        border: 1px solid #e1e1e1;
+        margin-left: 20px;
+    }
+
+    .flex-left {
+        width: 50%;
+        display: flex;
+        flex-direction: column;
+
+        .flex-left-header {
+            display: flex;
+            justify-content: space-around;
+        }
+    }
+}
+
+.table-title {
+    height: 50px;
+    line-height: 50px;
+    background-color: #f3faff;
+    font-size: 18px;
+    font-weight: bold;
+}
+
+::v-deep .el-dialog {
+    margin-top: 0 !important;
+}
+
+// ::v-deep .el-table__fixed-body-wrapper {
+//   top: 50px !important;
+// }
+.flex-box {
+    display: flex;
+    // overflow: auto;
+    overflow-y: auto;
+    overflow-x: hidden;
+    width: calc(100% - 40px);
+    border-radius: 20px;
+    background-color: #fff;
+    margin: 0 auto;
+    margin-top: 20px;
+    position: relative;
+    flex-direction: column;
+
+    // height: 100%;
+    .flex-header {
+        display: flex;
+        width: 100%;
+        position: relative;
+        height: 60px;
+        margin: 1%;
+        border-bottom: 1px solid #e1e1e1;
+        justify-content: space-between;
+
+        .el-button {
+            width: 150px;
+            float: right;
+            height: 40px !important;
+            margin-right: 30px;
+        }
+    }
+}
+
+//设置子组件样式
+::v-deep .el-tabs__item {
+    padding: 0;
+    margin-right: 20px;
+    width: 166px;
+    text-align: center;
+    background-color: #d8eaf6;
+    color: black;
+}
+
+::v-deep .is-active {
+    color: #fff;
+    background-color: #0583cd;
+}
+
+::v-deep .el-tabs__active-bar {
+    display: none;
+}
+
+::v-deep .el-tabs__nav-wrap::after {
+    display: none !important;
+}
+
+.flex-form {
+    margin-top: 50px;
+}
+
+.flex-footer-botton {
+    display: flex;
+    justify-content: space-evenly;
+}
+</style>

File diff ditekan karena terlalu besar
+ 1210 - 0
src/pages/main/userList/docAppr.vue


File diff ditekan karena terlalu besar
+ 1196 - 0
src/pages/main/userList/userList.vue


+ 1 - 0
src/pages/main/workflowdef/index.vue

@@ -109,6 +109,7 @@ export default {
             }
             this.common.httpPost(obj, success)
             function success(data) {
+                console.log(data);
                 self.list = data.data.rows
                 self.total = data.data.total
             }

+ 146 - 9
src/router/index.js

@@ -220,14 +220,14 @@ const routes = [{
             component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/organizaStructure/roleManage.vue'], resolve)
         },
         {
-            meta: { name:  '收补预存款', keepAlive: false },
+            meta: { name: '收补预存款', keepAlive: false },
             path: '/closeFill',
             name: 'closeFill',
             component: (resolve) => require( /* webpackChunkName: "system" */
                 ['../pages/main/closeFill/advanceDeposit.vue'], resolve)
         },
         {
-            meta: { name:  '工号配置', keepAlive: false },
+            meta: { name: '工号配置', keepAlive: false },
             path: '/workingCon',
             name: 'workingCon',
             component: (resolve) => require( /* webpackChunkName: "system" */
@@ -2179,7 +2179,7 @@ const routes = [{
             path: '/onlineShareExcelMarket',
             name: 'onlineShareExcelMarket',
             component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/onlineExcelMarket/index'], resolve)
-        },{
+        }, {
 
             meta: {
                 name: '在线文档协同',
@@ -2232,17 +2232,17 @@ const routes = [{
             name: 'processruns',
 
             component: resolve => require(['../pages/main/processruns/processruns.vue'], resolve),
-            meta: {title: '运行流程'}
+            meta: { title: '运行流程' }
         },
         {
-            meta: {name: '', keepAlive: false},
+            meta: { name: '', keepAlive: false },
             path: '/productionDataExportCityHome',
             name: 'productionDataExportCityHome',
             component: (resolve) => require( /* webpackChunkName: "system" */
                 ['../pages/main/productionDataExport/cityHome.vue'], resolve)
         },
         {
-            meta: {name: '', keepAlive: false},
+            meta: { name: '', keepAlive: false },
             path: '/productionDataExportProvinceHome',
             name: 'productionDataExportProvinceHome',
             component: (resolve) => require( /* webpackChunkName: "system" */
@@ -2254,7 +2254,7 @@ const routes = [{
             name: 'riskMaterials',
             component: (resolve) => require( /* webpackChunkName: "system" */
                 ['../pages/main/leader/risk/riskMaterials.vue'], resolve)
-        },{
+        }, {
             meta: { name: '风险防控管理', keepAlive: false },
             path: '/riskManagement',
             name: 'riskManagement',
@@ -2262,6 +2262,18 @@ const routes = [{
                 ['../pages/main/leader/risk/riskManagement.vue'], resolve)
         },
         {
+            meta: { name: '防火墙', keepAlive: false },
+            path: '/firewall',
+            name: 'firewall',
+            component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/firewall/index.vue'], resolve)
+        },
+        {
+            meta: { name: 'OPCODE', keepAlive: false },
+            path: '/opcode',
+            name: 'opcode',
+            component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/opcode/index.vue'], resolve)
+        },
+        {
             meta: { name: '资费管理', keepAlive: false },
             path: '/postage',
             name: 'postage',
@@ -2276,8 +2288,8 @@ const routes = [{
             component: (resolve) => require( /* webpackChunkName: "system" */
                 ['../pages/main/documentCollection/home.vue'], resolve),
             children: [
-                { 
-                    
+                {
+
                     meta: { name: '文件收集与审批我接收的', keepAlive: false },
                     path: '/documentCollectionApproval',
                     name: 'documentCollectionApproval',
@@ -2319,6 +2331,131 @@ const routes = [{
             meta: { title: '地市-通用工单' }
         },
         {
+            meta: { name: '账号权限申请', keepAlive: false },
+            path: '/accountPermissions',
+            name: 'accountPermissions',
+            component: (resolve) => require( /* webpackChunkName: "system" */
+                ['../pages/main/accountPermissions/accountPermissions.vue'], resolve)
+        },
+        {
+            meta: { name: '账号申请流程', keepAlive: false },
+            path: '/accountApplication',
+            name: 'accountApplication',
+            component: (resolve) => require( /* webpackChunkName: "system" */
+                ['../pages/main/accountPermissions/accountApplication.vue'], resolve)
+        },
+        {
+            meta: { name:  '系统资源申请', keepAlive: false },
+            path: '/resourceApply',
+            name: 'resourceApply',
+            component: (resolve) => require( /* webpackChunkName: "system" */
+                ['../pages/main/applyFor/resourceApply.vue'], resolve)
+        },
+        {
+            meta: { name:  '应急预案审批', keepAlive: false },
+            path: '/emergencyPlan',
+            name: 'emergencyPlan',
+            component: (resolve) => require( /* webpackChunkName: "system" */
+                ['../pages/main/applyFor/emergencyPlan.vue'], resolve)
+        },
+        {
+            meta: { name:  '安全审计计划管理', keepAlive: false },
+            path: '/securityAudit',
+            name: 'securityAudit',
+            component: (resolve) => require( /* webpackChunkName: "system" */
+                ['../pages/main/applyFor/securityAudit.vue'], resolve)
+        },
+        {
+            meta: { name:  '用户使用者变更', keepAlive: false },
+            path: '/userChange',
+            name: 'userChange',
+            component: (resolve) => require( /* webpackChunkName: "system" */
+                ['../pages/main/applyFor/userChange.vue'], resolve)
+        },
+        {
+            meta: { name:  '口令授权', keepAlive: false },
+            path: '/authoriZation',
+            name: 'authoriZation',
+            component: (resolve) => require( /* webpackChunkName: "system" */
+                ['../pages/main/applyFor/authoriZation.vue'], resolve)
+        },
+        {
+            meta: { name:  '互联网端口访问', keepAlive: false },
+            path: '/internetAccess',
+            name: 'internetAccess',
+            component: (resolve) => require( /* webpackChunkName: "system" */
+                ['../pages/main/applyFor/internetAccess.vue'], resolve)
+        },
+        {
+            meta: { name:  '备份需求及变更', keepAlive: false },
+            path: '/backupRequire',
+            name: 'backupRequire',
+            component: (resolve) => require( /* webpackChunkName: "system" */
+                ['../pages/main/applyFor/backupRequire.vue'], resolve)
+        },
+        {
+            meta: { name: '文件审批流程', keepAlive: false },
+            path: '/docAppr',
+            name: 'docAppr',
+            component: (resolve) => require( /* webpackChunkName: "system" */
+                ['../pages/main/userList/docAppr.vue'], resolve)
+        },
+        {
+            meta: { name: '用户清单审核流程', keepAlive: false },
+            path: '/userList',
+            name: 'userList',
+            component: (resolve) => require( /* webpackChunkName: "system" */
+                ['../pages/main/userList/userList.vue'], resolve)
+        },
+        {
+            meta: { name: '账号删除流程', keepAlive: false },
+            path: '/accountdel',
+            name: 'accountdel',
+            component: (resolve) => require( /* webpackChunkName: "system" */
+                ['../pages/main/accountPermissions/accountdel.vue'], resolve)
+        },
+        {
+            meta: { name: '数据库导表流程', keepAlive: false },
+            path: '/sjkdbList',
+            name: 'sjkdbList',
+            component: (resolve) => require( /* webpackChunkName: "system" */
+                ['../pages/main/accountPermissions/sjkdbList.vue'], resolve)
+        },
+        {
+            meta: { name: '安全报告审阅流程', keepAlive: false },
+            path: '/aqbgsyList',
+            name: 'aqbgsyList',
+            component: (resolve) => require( /* webpackChunkName: "system" */
+                ['../pages/main/accountPermissions/aqbgsyList.vue'], resolve)
+        },
+        {
+            meta: { name: '通用审核流程', keepAlive: false },
+            path: '/tyshList',
+            name: 'tyshList',
+            component: (resolve) => require( /* webpackChunkName: "system" */
+                ['../pages/main/accountPermissions/tyshList.vue'], resolve)
+        },
+        {
+            meta: { name: '口令恢复申请流程', keepAlive: false },
+            path: '/klhfsqList',
+            name: 'klhfsqList',
+            component: (resolve) => require( /* webpackChunkName: "system" */
+                ['../pages/main/accountPermissions/klhfsqList.vue'], resolve)
+        },
+        {
+            meta: { name: '容量调整记录流程', keepAlive: false },
+            path: '/rltzjlList',
+            name: 'rltzjlList',
+            component: (resolve) => require( /* webpackChunkName: "system" */
+                ['../pages/main/accountPermissions/rltzjlList.vue'], resolve)
+        },
+        {
+            path: '/internetAssessment',
+            name: 'internetAssessment',
+            component: resolve => require(['../pages/main/internetAssessment/internetAssessment.vue'], resolve),
+            meta: { title: '互联网电视考核' }
+        },
+        {
             meta: { name: '备份数据恢复申请流程', keepAlive: false },
             path: '/bfsjList',
             name: 'bfsjList',

+ 1 - 9
vue.config.js

@@ -127,14 +127,6 @@ module.exports = {
                     "^/market": "",
                 },
             },
-            "/mkWangge": {
-                target: "http://192.168.2.124:9113",
-                ws: false,
-                changeOrigin: true,
-                pathRewrite: {
-                    "^/market": "",
-                },
-            },
             // "/api": {
             //     target: "http://43.138.50.94:7777",
             //     ws: false,
@@ -161,7 +153,7 @@ module.exports = {
                 // target: "http://124.223.66.248:9600",
                 target: "http://43.138.50.94:9600",
                 changeOrigin: true,
-                logLevel:'debug',
+                // logLevel:'debug',
             },
         },
     },