Преглед на файлове

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/views/system/process/index.vue
admin123 преди 4 години
родител
ревизия
9ebae75b08

+ 60 - 0
src/api/system/archives/archives.js

@@ -0,0 +1,60 @@
+import request from '@/utils/request'
+
+// 查询目录列表
+export function listArchives(query) {
+  return request({
+    url: '/system/archives/list',
+    method: 'get',
+    params: query
+  })
+}
+
+export function getListright(query) {
+  return request({
+    url: '/system/archives/list',
+    method: 'get',
+    params: query
+  })
+}
+// 查询【请填写功能名称】详细
+export function getArchives(id) {
+  return request({
+    url: '/system/archives/id/' + id,
+    method: 'get'
+  })
+}
+
+// 新增【请填写功能名称】
+export function addArchives(data) {
+  return request({
+    url: '/system/archives',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改【请填写功能名称】
+export function updateArchives(data) {
+  return request({
+    url: '/system/archives',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除【请填写功能名称】
+export function delArchives(id) {
+  return request({
+    url: '/system/archives/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出【请填写功能名称】
+export function exportArchives(query) {
+  return request({
+    url: '/system/archives/export',
+    method: 'get',
+    params: query
+  })
+}

+ 68 - 0
src/api/system/archives/column.js

@@ -0,0 +1,68 @@
+import request from '@/utils/request'
+
+// 查询部门列表
+export function listDept(query) {
+  return request({
+    url: '/system/column/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询部门列表(排除节点)
+export function listDeptExcludeChild(deptId) {
+  return request({
+    url: '/system/column/list/exclude/' + deptId,
+    method: 'get'
+  })
+}
+
+// 查询部门详细
+export function getDept(deptId) {
+  return request({
+    url: '/system/column/' + deptId,
+    method: 'get'
+  })
+}
+
+// 查询部门下拉树结构
+export function treeselect() {
+  return request({
+    url: '/system/column/treeselect',
+    method: 'get'
+  })
+}
+
+// 根据角色ID查询部门树结构
+export function roleDeptTreeselect(roleId) {
+  return request({
+    url: '/system/column/roleDeptTreeselect/' + roleId,
+    method: 'get'
+  })
+}
+
+// 新增部门
+export function addDept(data) {
+  return request({
+    url: '/system/column',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改部门
+export function updateDept(data) {
+  return request({
+    url: '/system/column',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除部门
+export function delDept(deptId) {
+  return request({
+    url: '/system/column/' + deptId,
+    method: 'delete'
+  })
+}

+ 53 - 0
src/api/system/contacts.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询常用联系人列表
+export function listContacts(query) {
+  return request({
+    url: '/system/contacts/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询常用联系人详细
+export function getContacts(id) {
+  return request({
+    url: '/system/contacts/' + id,
+    method: 'get'
+  })
+}
+
+// 新增常用联系人
+export function addContacts(data) {
+  return request({
+    url: '/system/contacts',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改常用联系人
+export function updateContacts(data) {
+  return request({
+    url: '/system/contacts',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除常用联系人
+export function delContacts(id) {
+  return request({
+    url: '/system/contacts/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出常用联系人
+export function exportContacts(query) {
+  return request({
+    url: '/system/contacts/export',
+    method: 'get',
+    params: query
+  })
+}

+ 1 - 0
src/api/system/user.js

@@ -125,3 +125,4 @@ export function importTemplate() {
     method: 'get'
   })
 }
+//导出

+ 7 - 1
src/components/SelectRen/selectUserByDept.vue

@@ -1,6 +1,6 @@
 <template>
   <!-- 选择人员对话框 -->
-  <el-dialog :title="this.title" :visible.sync="childOpen" width="1000px" destroy-on-close="true">
+  <el-dialog style="z-index: 2093 !important;" :title="this.title" :visible.sync="childOpen" width="1000px" append-to-body  destroy-on-close="true" >
     <SelectRen ref="renlist" :userIds="receiverAccount" @fatherFunction = "selectChange" @removeFunction="removeSelectuser"/>
 
     <div slot="footer" class="dialog-footer">
@@ -98,5 +98,11 @@
 </script>
 
 <style scoped>
+  /*.v-modal{*/
+  /*  z-index: 1800 !important;*/
+  /*}*/
+  /*.el-dialog__wrapper{*/
+  /*  z-index: 2093 !important;*/
+  /*}*/
 
 </style>

+ 336 - 0
src/views/system/contacts/index.vue

@@ -0,0 +1,336 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px">
+      <el-form-item label="组名称" prop="groupname">
+        <el-input
+          v-model="queryParams.groupname"
+          placeholder="请输入组名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="人员账号" prop="accounts">
+        <el-input
+          v-model="queryParams.accounts"
+          placeholder="请输入人员账号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="人员姓名" prop="accountNames">
+        <el-input
+          v-model="queryParams.accountNames"
+          placeholder="请输入人员姓名"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['system:contacts:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['system:contacts:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['system:contacts:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['system:contacts:export']"
+        >导出</el-button>
+      </el-col>
+    </el-row>
+
+    <el-table :data="contactsList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="分组id" align="center" prop="id" />
+      <el-table-column label="组名称" align="center" prop="groupname" />
+      <el-table-column label="人员账号" align="center" prop="accounts" />
+      <el-table-column label="人员姓名" align="center" prop="accountNames" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['system:contacts:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['system:contacts:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改常用联系人对话框append-to-body -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" :modal-append-to-body='false' append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="组名称" prop="groupname">
+          <el-input v-model="form.groupname" placeholder="请输入组名称" />
+        </el-form-item>
+        <el-form-item label="人员账号" prop="accounts">
+          <el-input v-model="form.accounts" placeholder="请输入人员账号" />
+        </el-form-item>
+        <el-form-item label="人员姓名" prop="accountNames">
+          <el-input v-model="form.accountNames" placeholder="请选择该分组下的联系人" >
+            <template slot="append">
+              <el-button
+                type="primary"
+                icon="el-icon-plus"
+                size="mini"
+                @click="handleSelect" >
+                选择人员</el-button>
+            </template>
+          </el-input>
+        </el-form-item>
+      </el-form>
+      <!-- 选择人员对话框 -->
+      <select-user-by-dept style="z-index: 2093;" ref="selectUserByDept" :title="childTitle" :open="childOpen" :inputName="childAccountnames" :inputAccount="childAccouts" @ok="selectOK" />
+
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancelp">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listContacts, getContacts, delContacts, addContacts, updateContacts, exportContacts } from "@/api/system/contacts";
+import SelectUserByDept from "@/components/SelectRen/selectUserByDept";
+
+export default {
+  name: "Contacts",
+  components: {SelectUserByDept},
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 总条数
+      total: 0,
+      // 常用联系人表格数据
+      contactsList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        groupname: undefined,
+        accounts: undefined,
+        accountNames: undefined,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      },
+      childTitle:'',
+      childOpen:false,
+      childAccouts:'',
+      childAccountnames:''
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询常用联系人列表 */
+    getList() {
+      this.loading = true;
+      listContacts(this.queryParams).then(response => {
+        this.contactsList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancelp() {
+      this.open = false;
+      this.reset();
+      this.childOpen=false;
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: undefined,
+        groupname: undefined,
+        accounts: undefined,
+        accountNames: undefined,
+        createBy: undefined,
+        createTime: undefined
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!=1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加常用联系人";
+      console.log("新增==="+this.open+"=="+this.childOpen+"=="+this.childAccouts+"=="+this.loading);
+      this.childOpen=false;
+      this.childTitle='';
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getContacts(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改常用联系人";
+        this.childAccouts = this.form.accounts;
+        this.childAccountnames = this.form.accountNames;
+
+        this.childOpen=false;
+        this.childTitle='';
+      });
+    },
+    /** 提交按钮 */
+    submitForm: function() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != undefined) {
+            updateContacts(this.form).then(response => {
+              if (response.code === 200) {
+                this.msgSuccess("修改成功");
+                this.open = false;
+                this.getList();
+              }
+            });
+          } else {
+            addContacts(this.form).then(response => {
+              if (response.code === 200) {
+                this.msgSuccess("新增成功");
+                this.open = false;
+                this.getList();
+              }
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$confirm('是否确认删除常用联系人编号为"' + ids + '"的数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delContacts(ids);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        }).catch(function() {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有常用联系人数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return exportContacts(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+        }).catch(function() {});
+    },
+    /** 新增或修改弹出框中的  选择人员 按钮弹窗操作 */
+    handleSelect() {
+      this.$refs.selectUserByDept.childOpen=true;
+      this.childOpen = true;
+      this.childTitle = "选择收件人";
+      console.log("选择人员==="+this.open+"=="+this.childOpen+"=="+this.childAccouts+"=="+this.loading);
+    },
+    selectOK(zh, xm) {
+      this.childAccouts=zh;
+      this.childAccountnames=xm;
+      this.form.accounts = zh;
+      this.form.accountNames=xm;
+      this.childOpen=false;
+    }
+  }
+};
+</script>
+
+<style scoped>
+  /*.v-modal{*/
+  /*  z-index: 1800 !important;*/
+  /*}*/
+  /*.el-dialog__wrapper{*/
+  /*  z-index: 2093 !important;*/
+  /*}*/
+</style>

+ 1 - 10
src/views/system/duty/duty.vue

@@ -524,22 +524,13 @@
         })
 
       },
-      // getlistTime(){
-      //   this.loading = true;
-      //   listTime(this.queryParams).then(response => {
-      //     this.dqselMonth = response.rows
-      //     this.total = response.total;
-      //     // this.total = response.rows.length;
-      //     this.loading = false;
-      //   })
-      // },
+
       getselMonth() {
         this.loading = true;
         selMonth(this.queryParams).then(response => {
           console.log(this.queryParams)
           this.dqselMonth = response.rows
           console.log(response)
-
           this.total = response.total;
           // this.total = response.rows.length;
           this.loading = false;

+ 285 - 0
src/views/system/files/column.vue

@@ -0,0 +1,285 @@
+<template>
+  <div class="app-container">
+    <el-form :inline="true">
+      <el-form-item label="文档名称">
+        <el-input
+          v-model="queryParams.deptName"
+          placeholder="请输入文档名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+
+      <el-form-item>
+        <el-button
+          class="filter-item"
+          type="primary"
+          icon="el-icon-search"
+          size="mini"
+          @click="handleQuery"
+        >搜索</el-button>
+        <el-button
+          class="filter-item"
+          type="primary"
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+        >新增</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-table
+      v-loading="loading"
+      :data="deptList"
+      row-key="deptId"
+      default-expand-all
+      :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
+    >
+      <el-table-column prop="deptName" label="文档名称" width="260" >
+        <template slot-scope="scope" >
+        <span>{{ scope.row.deptName }}</span>
+      </template>
+      </el-table-column>
+
+      <el-table-column prop="orderNum" label="排序" width="200">
+        <template slot-scope="scope"  >
+          <span>{{ scope.row.orderNum }}</span>
+        </template>
+      </el-table-column>
+
+      <el-table-column label="创建时间" align="center" prop="createTime" width="200">
+        <template slot-scope="scope"  >
+          <span>{{ parseTime(scope.row.createTime) }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-plus"
+            @click="handleAdd(scope.row)"
+          >新增</el-button>
+          <el-button
+            v-if="scope.row.parentId != 0"
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <!-- 添加或修改文档对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-row>
+          <el-col :span="24" v-if="form.parentId !== 0">
+            <el-form-item label="上级" prop="parentId">
+              <treeselect v-model="form.parentId" :options="docmenuOptions" :normalizer="normalizer" :show-count="true" placeholder="选择上级" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="文档名称" prop="deptName">
+              <el-input v-model="form.deptName" placeholder="请输入文档名称" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="显示排序" prop="orderNum">
+              <el-input-number v-model="form.orderNum" controls-position="right" :min="0" />
+            </el-form-item>
+          </el-col>
+
+        </el-row>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+    import { listDept, getDept, delDept, addDept, updateDept, listDeptExcludeChild } from "@/api/system/archives/column";
+    import Treeselect from "@riophae/vue-treeselect";
+    import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+
+    export default {
+        name: "Dept",
+        components: { Treeselect },
+        data() {
+            return {
+                // 遮罩层
+                loading: true,
+                // 表格树数据
+                deptList: [],
+                // 文档树选项
+                docmenuOptions: [],
+                // 弹出层标题
+                title: "",
+                // 是否显示弹出层
+                open: false,
+                // 状态数据字典
+                statusOptions: [],
+                // 查询参数
+                queryParams: {
+                    deptName: undefined,
+                    status: undefined
+                },
+                // 表单参数
+                form: {},
+                // 表单校验
+                rules: {
+                    parentId: [
+                        { required: true, message: "上级不能为空", trigger: "blur" }
+                    ],
+                    deptName: [
+                        { required: true, message: "文档名称不能为空", trigger: "blur" }
+                    ],
+                    orderNum: [
+                        { required: true, message: "菜单顺序不能为空", trigger: "blur" }
+                    ]
+                }
+            };
+        },
+        created() {
+            this.getList();
+            // this.getDicts("sys_normal_disable").then(response => {
+            //     this.statusOptions = response.data;
+            // });
+        },
+        methods: {
+            /** 查询文档列表 */
+            getList() {
+                this.loading = true;
+                listDept(this.queryParams).then(response => {
+                  console.log(response.data)
+                    this.deptList = this.handleTree(response.data, "deptId");
+                  console.log(this.handleTree(response.data, "deptId"))
+                    this.loading = false;
+                });
+            },
+            /** 转换文档数据结构 */
+            normalizer(node) {
+                if (node.children && !node.children.length) {
+                    delete node.children;
+                }
+                return {
+                    id: node.deptId,
+                    label: node.deptName,
+                    children: node.children
+                };
+            },
+            // 字典状态字典翻译
+            // statusFormat(row, column) {
+            //     return this.selectDictLabel(this.statusOptions, row.status);
+            // },
+            // 取消按钮
+            cancel() {
+                this.open = false;
+                this.reset();
+            },
+            // 表单重置
+            reset() {
+                this.form = {
+                    deptId: undefined,
+                    parentId: undefined,
+                    deptName: undefined,
+                    orderNum: undefined,
+                    leader: undefined,
+                    phone: undefined,
+                    email: undefined,
+                    status: "0"
+                };
+                this.resetForm("form");
+            },
+            /** 搜索按钮操作 */
+            handleQuery() {
+                this.getList();
+            },
+            /** 查询菜单下拉树结构 */
+            // getTreeselect() {
+            //     listDept().then(response => {
+            //         this.docmenuOptions = [];
+            //         const menu = { menuId: 0, menuName: '主类目', children: [] };
+            //         menu.children = this.handleTree(response.data, "deptId");
+            //         this.docmenuOptions.push(menu);
+            //     });
+            // },
+            /** 新增按钮操作 */
+            handleAdd(row) {
+                this.reset();
+                //this.getTreeselect();
+                if (row != undefined) {
+                    this.form.parentId = row.deptId;
+                }
+                this.open = true;
+                this.title = "添加文档";
+                listDept().then(response => {
+
+                    this.docmenuOptions = this.handleTree(response.data, "deptId");
+
+                });
+            },
+            /** 修改按钮操作 */
+            handleUpdate(row) {
+                this.reset();
+              //  this.getTreeselect();
+                getDept(row.deptId).then(response => {
+                    this.form = response.data;
+                    this.open = true;
+                    this.title = "修改文档";
+                });
+                listDeptExcludeChild(row.deptId).then(response => {
+                    this.docmenuOptions = this.handleTree(response.data, "deptId");
+                });
+            },
+            /** 提交按钮 */
+            submitForm: function() {
+                this.$refs["form"].validate(valid => {
+                    if (valid) {
+                        if (this.form.deptId != undefined) {
+                            updateDept(this.form).then(response => {
+                                if (response.code === 200) {
+                                    this.msgSuccess("修改成功");
+                                    this.open = false;
+                                    this.getList();
+                                }
+                            });
+                        } else {
+                            addDept(this.form).then(response => {
+                                if (response.code === 200) {
+                                    this.msgSuccess("新增成功");
+                                    this.open = false;
+                                    this.getList();
+                                }
+                            });
+                        }
+                    }
+                });
+            },
+            /** 删除按钮操作 */
+            handleDelete(row) {
+                this.$confirm('是否确认删除名称为"' + row.deptName + '"的数据项?', "警告", {
+                    confirmButtonText: "确定",
+                    cancelButtonText: "取消",
+                    type: "warning"
+                }).then(function() {
+                    return delDept(row.deptId);
+                }).then(() => {
+                    this.getList();
+                    this.msgSuccess("删除成功");
+                }).catch(function() {});
+            }
+        }
+    };
+</script>

+ 497 - 0
src/views/system/files/file.vue

@@ -0,0 +1,497 @@
+<template>
+  <div class="app-container">
+    <el-row :gutter="20">
+      <el-col :span="4">
+<!--        <div class="head-container">-->
+<!--          <el-input-->
+<!--            v-model="deptName"-->
+<!--            placeholder="请输入部门名称"-->
+<!--            clearable-->
+<!--            size="small"-->
+<!--            prefix-icon="el-icon-search"-->
+<!--            style="margin-bottom: 20px"-->
+<!--          />-->
+<!--        </div>-->
+        <div class="head-container">
+          <el-tree
+            :data="deptOptions"
+            :props="defaultProps"
+            :expand-on-click-node="false"
+            :filter-node-method="filterNode"
+            ref="tree"
+            default-expand-all
+            @node-click="handleNodeClick"
+          />
+        </div>
+      </el-col>
+      <el-col :span="20">
+        <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px">
+          <el-form-item label="档案名称" prop="archivesName">
+            <el-input
+              v-model="queryParams.archivesName"
+              placeholder="请输入档案名称"
+              clearable
+              size="small"
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+          <el-form-item label="档案编号" prop="archivesNum">
+            <el-input
+              v-model="queryParams.archivesNum"
+              placeholder="请输入档案编号"
+              clearable
+              size="small"
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+          <el-form-item label="归档日期" prop="archivesTime">
+            <el-date-picker clearable size="small" style="width: 200px"
+                            v-model="queryParams.archivesTime"
+                            type="date"
+                            value-format="yyyy-MM-dd"
+                            placeholder="选择日期">
+            </el-date-picker>
+          </el-form-item>
+          <el-form-item>
+            <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+          </el-form-item>
+        </el-form>
+        <el-row :gutter="10" class="mb8" style="margin-top: 0px;">
+<!--          <el-col :span="1.5">-->
+<!--            <el-button-->
+<!--              type="primary"-->
+<!--              icon="el-icon-plus"-->
+<!--              size="mini"-->
+<!--              @click="handleAdd"-->
+<!--            >新增</el-button>-->
+<!--          </el-col>-->
+<!--          <el-col :span="1.5">-->
+<!--            <el-button-->
+<!--              type="success"-->
+<!--              icon="el-icon-edit"-->
+<!--              size="mini"-->
+<!--              :disabled="single"-->
+<!--              @click="handleUpdate"-->
+<!--            >修改</el-button>-->
+<!--          </el-col>-->
+          <el-col :span="1.5">
+            <el-button
+              type="danger"
+              icon="el-icon-delete"
+              size="mini"
+              :disabled="multiple"
+              @click="handleDelete"
+            >删除</el-button>
+          </el-col>
+          <!--      <el-col :span="1.5">-->
+          <!--        <el-button-->
+          <!--          type="warning"-->
+          <!--          icon="el-icon-download"-->
+          <!--          size="mini"-->
+          <!--          @click="handleExport"-->
+          <!--          v-hasPermi="['system:archives:export']"-->
+          <!--        >导出</el-button>-->
+          <!--      </el-col>-->
+        </el-row>
+        <el-table border v-loading="loading" :data="archivesList" @selection-change="handleSelectionChange">
+          <el-table-column type="selection" width="55" align="center" />
+          <!--      <el-table-column label="主键" align="center" prop="id" />-->
+          <el-table-column label="档案编号" align="center" prop="archivesNum" />
+          <el-table-column label="档案名称" align="center" prop="archivesName" />
+          <el-table-column label="流程名称" align="center" prop="archivesType" />
+          <!--      <el-table-column label="部门id" align="center" prop="deptId" />-->
+<!--                <el-table-column label="部门名称" align="center" prop="deptName" />-->
+<!--          <el-table-column label="归档类别" align="center" prop="archivesType" />-->
+<!--          <el-table-column label="创建人" align="center" prop="createBy" />-->
+          <el-table-column label="归档日期" align="center" prop="archivesTime" width="180">
+            <template slot-scope="scope">
+              <span>{{ parseTime(scope.row.archivesTime, '{y}-{m}-{d}') }}</span>
+            </template>
+          </el-table-column>
+          <!--      <el-table-column label="状态(0=正常,1=非正常)" align="center" prop="state" />-->
+          <!--      <el-table-column label="状态(0=正常,1=非正常)" align="center" prop="rematk" />-->
+          <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+            <template slot-scope="scope">
+              <el-button
+                size="mini"
+                type="text"
+                icon="el-icon-edit"
+                @click="openactform(scope.row.actkey,scope.row.id)"
+              >详情</el-button>
+              <el-button
+                size="mini"
+                type="text"
+                icon="el-icon-delete"
+                @click="handleDelete(scope.row)"
+              >删除</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+        <pagination
+          v-show="total>0"
+          :total="total"
+          :page.sync="queryParams.pageNum"
+          :limit.sync="queryParams.pageSize"
+          @pagination="getListtable"
+        />
+      </el-col>
+
+    </el-row>
+
+
+    <el-dialog id="actform" title="档案详情" :visible.sync="open" :before-close="cancel" append-to-body width="80%"
+               top="10" height="90%">
+      <!-- 动态引入组件-->
+      <component :is="actForm" :data="details":actOpen="open" @getListtable="getListtable" ></component>
+    </el-dialog>
+
+
+    <!-- 添加或修改【请填写功能名称】对话框 -->
+<!--    <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>-->
+<!--      <el-form ref="form" :model="form" :rules="rules" label-width="80px">-->
+<!--        <el-form-item label="时间" prop="archivesTime">-->
+<!--          <el-date-picker clearable size="small" style="width: 200px"-->
+<!--                          v-model="form.archivesTime"-->
+<!--                          type="date"-->
+<!--                          value-format="yyyy-MM-dd"-->
+<!--                          placeholder="选择时间">-->
+<!--          </el-date-picker>-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="档案类型" prop="archivesType">-->
+<!--          <el-radio-group v-model="form.archivesType">-->
+<!--            <el-radio label="目录" value="1"></el-radio>-->
+<!--            <el-radio label="文档" value="2"></el-radio>-->
+<!--          </el-radio-group>-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="档案归属" prop="documentType">-->
+<!--          <el-cascader-->
+<!--            v-model="doc"-->
+<!--            :options="options"-->
+<!--            :props="{ checkStrictly: true }"-->
+<!--            @change="handleChange"></el-cascader>-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="档案名称" prop="archivesName">-->
+<!--          <el-input v-model="form.archivesName" placeholder="请输入档案名称" />-->
+<!--        </el-form-item>-->
+<!--&lt;!&ndash;        <el-form-item label="档案编号" prop="archivesNum">&ndash;&gt;-->
+<!--&lt;!&ndash;          <el-input v-model="form.archivesNum" placeholder="请输入档案编号" />&ndash;&gt;-->
+<!--&lt;!&ndash;        </el-form-item>&ndash;&gt;-->
+<!--&lt;!&ndash;        <el-form-item label="部门id" prop="deptId">&ndash;&gt;-->
+<!--&lt;!&ndash;          <el-input v-model="form.deptId" placeholder="请输入部门id" />&ndash;&gt;-->
+<!--&lt;!&ndash;        </el-form-item>&ndash;&gt;-->
+<!--&lt;!&ndash;        <el-form-item label="部门名称" prop="deptName">&ndash;&gt;-->
+<!--&lt;!&ndash;          <el-input v-model="form.deptName" placeholder="请输入部门名称" />&ndash;&gt;-->
+<!--&lt;!&ndash;        </el-form-item>&ndash;&gt;-->
+<!--&lt;!&ndash;        <el-form-item label="归档类别">&ndash;&gt;-->
+<!--&lt;!&ndash;          <el-input v-model="form.archivesType" placeholder="请选择归档类别" />&ndash;&gt;-->
+<!--&lt;!&ndash;        </el-form-item>&ndash;&gt;-->
+<!--        <el-form-item label="文件上传">-->
+<!--          <el-upload-->
+<!--            class="upload-demo"-->
+<!--            action="#"-->
+<!--            :on-preview="handlePreview"-->
+<!--            :on-remove="handleRemove"-->
+<!--            :before-remove="beforeRemove"-->
+<!--            multiple-->
+<!--            :limit="3"-->
+<!--            :on-exceed="handleExceed"-->
+<!--            :file-list="fileList">-->
+<!--            <el-button size="small" type="primary">点击上传</el-button>-->
+<!--          </el-upload>-->
+<!--        </el-form-item>-->
+<!--        <el-form-item label="档案内容" prop="mailContent" style="height: 250px;">-->
+<!--          <Editor v-model="form.Content" />-->
+<!--        </el-form-item>-->
+<!--&lt;!&ndash;        <el-form-item label="状态(0=正常,1=非正常)" prop="state">&ndash;&gt;-->
+<!--&lt;!&ndash;          <el-input v-model="form.state" placeholder="请输入状态(0=正常,1=非正常)" />&ndash;&gt;-->
+<!--&lt;!&ndash;        </el-form-item>&ndash;&gt;-->
+<!--&lt;!&ndash;        <el-form-item label="状态(0=正常,1=非正常)" prop="rematk">&ndash;&gt;-->
+<!--&lt;!&ndash;          <el-input v-model="form.rematk" placeholder="请输入状态(0=正常,1=非正常)" />&ndash;&gt;-->
+<!--&lt;!&ndash;        </el-form-item>&ndash;&gt;-->
+<!--      </el-form>-->
+<!--      <div slot="footer" class="dialog-footer">-->
+<!--        <el-button type="primary" @click="submitForm">确 定</el-button>-->
+<!--        <el-button @click="cancel">取 消</el-button>-->
+<!--      </div>-->
+<!--    </el-dialog>-->
+  </div>
+</template>
+
+<script>
+  import { getListright,listArchives, getArchives, delArchives, addArchives, updateArchives, exportArchives } from "@/api/system/archives/archives.js";
+  import { getToken } from "@/utils/auth";
+  // import { treeselect } from "@/api/system/dept";
+  import Editor from '@/components/Editor';
+  import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+
+  import { listDept } from "@/api/system/archives/column.js";
+  import Treeselect from "@riophae/vue-treeselect";
+  import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+
+  import {getStartFormKey } from '@/api/activiti/process/startprocess'
+
+  import log from '../../monitor/job/log'
+  export default {
+    name: "Archives",
+    components: {
+      Editor,
+      Treeselect
+    },
+    data() {
+      return {
+        data:undefined,
+        // 遮罩层
+        loading: true,
+        // 选中数组
+        ids: [],
+        // 非单个禁用
+        single: true,
+        // 非多个禁用
+        multiple: true,
+        dqbumen:'',
+        dqname:'',
+        actForm: null,
+        actOpen: false,
+        details:{getactkey: '',
+          formId:'',
+          flg:'2'},
+        //下拉选框
+        doc: [],
+        options: [],
+        // 部门名称
+        deptName: undefined,
+        // 部门树选项
+        deptOptions: [],
+        defaultProps: {
+          children: "children",
+          label: "deptName"
+        },
+        // 总条数
+        total: 0,
+        // 【请填写功能名称】表格数据
+        archivesList: [],
+        // 弹出层标题
+        title: "",
+        // 是否显示弹出层
+        open: false,
+        // 查询参数
+        queryParams: {
+          pageNum: 1,
+          pageSize: 10,
+          archivesName: undefined,
+          archivesNum: undefined,
+          deptId: undefined,
+          deptName: undefined,
+          archivesType: undefined,
+          archivesTime: undefined,
+          state: undefined,
+          rematk: undefined,
+          actkey:undefined
+        },
+        // 表单参数
+        form: {},
+        // 表单校验
+        rules: {
+        }
+      };
+    },
+    created() {
+      this.getList();
+      this.getListtable();
+      // this.getTreeselect();
+
+
+    },
+    methods: {
+
+      openactform(actkey,id) {
+        this.open = true
+        let vue = this
+        actkey=actkey.split(":")[0];
+        this.details.getactkey = actkey//动态传参到下面的页面
+        this.details.formId = id//动态传参到下面的页面
+        getStartFormKey(actkey).then(response => {
+          var path = response.msg
+          this.actForm = () => Promise.resolve().then(() => require(`@/views/${path}`))
+        })
+
+
+        return vue.actForm = this.actForm
+      },
+
+      /** 查询部门下拉树结构 */
+      // getTreeselect() {
+      //   treeselect().then(response => {
+      //     this.deptOptions = response.data;
+      //     console.log(response.data)
+      //   });
+      // },
+      // 筛选节点
+      filterNode(value, data) {
+        if (!value) return true;
+        return data.leabel.indexOf(value) !== -1;
+      },
+      // 节点单击事件
+      handleNodeClick(data) {
+        console.log(data)
+        this.queryParams.deptId = data.deptId;
+        this.getListtable();
+      },
+      // getListeven(){
+      //   getArchives
+      // },
+
+      getListtable(){
+        // alert(this.queryParams.actkey)
+        getListright(this.queryParams).then(response => {
+          console.log(response.rows)
+          this.archivesList = response.rows;
+          this.total = response.total;
+        })
+      },
+      /** 查询文档列表 */
+      getList() {
+        this.loading = true;
+        listDept(this.queryParams).then(response => {
+          console.log(response.data)
+          this.deptOptions = this.handleTree(response.data, "deptId");
+          console.log(this.handleTree(response.data, "deptId"))
+          this.loading = false;
+        });
+      },
+      /** 转换文档数据结构 */
+      normalizer(node) {
+        if (node.children && !node.children.length) {
+          delete node.children;
+        }
+        return {
+          id: node.deptId,
+          label: node.deptName,
+          children: node.children
+        };
+      },
+
+      handleChange(value) {
+        this.form.documentType=  JSON.stringify(this.doc)
+        console.log(value);
+      },
+
+      // 取消按钮
+      cancel() {
+        this.open = false;
+        this.reset();
+      },
+      // 表单重置
+      reset() {
+        this.form = {
+          id: undefined,
+          archivesName: undefined,
+          archivesNum: undefined,
+          deptId: undefined,
+          deptName: undefined,
+          archivesType: undefined,
+          archivesTime: undefined,
+          state: undefined,
+          rematk: undefined,
+          createBy: undefined,
+          createTime: undefined
+        };
+        this.resetForm("form");
+      },
+      /** 搜索按钮操作 */
+      handleQuery() {
+        this.queryParams.pageNum = 1;
+        this.queryParams.deptId = undefined;
+        this.getListtable();
+      },
+      /** 重置按钮操作 */
+      resetQuery() {
+        this.resetForm("queryForm");
+        this.queryParams.deptId = undefined;
+        this.handleQuery();
+        this.getList();
+      },
+      // 多选框选中数据
+      handleSelectionChange(selection) {
+        this.ids = selection.map(item => item.id)
+        this.single = selection.length!=1
+        this.multiple = !selection.length
+      },
+      /** 新增按钮操作 */
+      handleAdd() {
+        this.reset();
+        this.open = true;
+        this.title = "添加档案";
+      },
+      /** 修改按钮操作 */
+      handleUpdate(row) {
+        this.reset();
+        this.open = true;
+        const id = row.id || this.ids
+        getArchives(id).then(response => {
+          this.form = response.data;
+          this.open = true;
+          this.title = "档案详情";
+        });
+      },
+      /** 提交按钮 */
+      submitForm: function() {
+        this.$refs["form"].validate(valid => {
+          if (valid) {
+            if (this.form.id != undefined) {
+              updateArchives(this.form).then(response => {
+                if (response.code === 200) {
+                  this.msgSuccess("修改成功");
+                  this.open = false;
+                  this.getList();
+                }
+              });
+            } else {
+              addArchives(this.form).then(response => {
+                if (response.code === 200) {
+                  this.msgSuccess("新增成功");
+                  this.open = false;
+                  this.getList();
+                }
+              });
+            }
+          }
+        });
+      },
+      /** 删除按钮操作 */
+      handleDelete(row) {
+        const ids = row.archivesNum || this.ids;
+        this.$confirm('是否确认删除档案编号为"' + ids + '"的数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delArchives(ids);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        }).catch(function() {});
+      },
+      /** 导出按钮操作 */
+      handleExport() {
+        const queryParams = this.queryParams;
+        this.$confirm('是否确认导出所有【请填写功能名称】数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return exportArchives(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+        }).catch(function() {});
+      }
+    },
+    watch: {
+      // 根据名称筛选部门树
+      deptName(val) {
+        this.$refs.tree.filter(val);
+      }
+    },
+  };
+</script>