Commit 97d9a55b authored by 赵啸非's avatar 赵啸非

Merge remote-tracking branch 'origin/master'

parents f0ce4dca c93799f2
...@@ -395,7 +395,6 @@ export default { ...@@ -395,7 +395,6 @@ export default {
let matterId = this.$route.query.matterId; let matterId = this.$route.query.matterId;
this.getMatterInfo(matterId); this.getMatterInfo(matterId);
} }
console.log(this.matterDict);
this.getDeptListData(); this.getDeptListData();
}, },
methods: { methods: {
......
...@@ -23,9 +23,11 @@ ...@@ -23,9 +23,11 @@
:data-source="tableData" :data-source="tableData"
:rowKey="(record) => record.id" :rowKey="(record) => record.id"
> >
<!-- 需要 -->
<template slot="num" slot-scope="text, record, index"> <template slot="num" slot-scope="text, record, index">
{{ (current - 1) * size + index + 1 }} {{ (current - 1) * size + index + 1 }}
</template> </template>
<!-- 查看详情 -->
<template slot="more" slot-scope="text"> <template slot="more" slot-scope="text">
<a class="look-more" @click="lookMore(text)">查看详情</a> <a class="look-more" @click="lookMore(text)">查看详情</a>
</template> </template>
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
@cancel="handleClose" @cancel="handleClose"
:title="title" :title="title"
@ok="handleOk" @ok="handleOk"
:maskClosable="false"
> >
<template slot="footer"> <template slot="footer">
<a-button @click="handleInit">重置</a-button> <a-button @click="handleInit">重置</a-button>
......
<template> <template>
<div class="website"> <a-spin tip="正在上传中..." :spinning="spinning">
<!-- 右边 --> <div class="website">
<div class="right ff"> <!-- 右边 -->
<div class="person_message">工作人员管理</div> <div class="right ff">
<div class="person_chang"> <div class="person_message">工作人员管理</div>
<div class="person_gruop">选择部门:</div> <div class="person_chang">
<div class="person_gruop1"> <div class="person_gruop">选择部门:</div>
<div class="dept-select flex aic"> <div class="person_gruop1">
<div <div class="dept-select flex aic">
class="item dept-select-item1" <div
:class="{ active: deptSearch === '' }" class="item dept-select-item1"
@click="handleAllDept" :class="{ active: deptSearch === '' }"
> @click="handleAllDept"
全部 >
</div> 全部
<div
v-show="deptSearch !== ''"
class="item dept-select-item2 active"
>
{{ curDept }}
</div>
<a-popover arrowPointAtCenter placement="rightTop" title="部门列表">
<template slot="content">
<div class="dept-list" v-if="deptData.length">
<a-radio-group v-model="deptSearch" @change="changeDept">
<a-radio
:data-name="v.name"
v-for="v in deptData"
:key="v.id"
:value="v.id"
>
{{ v.name }}
</a-radio>
</a-radio-group>
</div>
<a-empty style="margin-top: 20px" :image="simpleImage" v-else />
</template>
<div class="item dept-select-item3">
<a-icon type="double-right" />
</div> </div>
</a-popover> <div
</div> v-show="deptSearch !== ''"
<!-- <a-radio-group class="item dept-select-item2 active"
>
{{ curDept }}
</div>
<a-popover
arrowPointAtCenter
placement="rightTop"
title="部门列表"
>
<template slot="content">
<div class="dept-list" v-if="deptData.length">
<a-radio-group v-model="deptSearch" @change="changeDept">
<a-radio
:data-name="v.name"
v-for="v in deptData"
:key="v.id"
:value="v.id"
>
{{ v.name }}
</a-radio>
</a-radio-group>
</div>
<a-empty
style="margin-top: 20px"
:image="simpleImage"
v-else
/>
</template>
<div class="item dept-select-item3">
<a-icon type="double-right" />
</div>
</a-popover>
</div>
<!-- <a-radio-group
button-style="solid" button-style="solid"
v-model="deptSearch" v-model="deptSearch"
@change="handleDeptSearch" @change="handleDeptSearch"
...@@ -52,51 +61,59 @@ ...@@ -52,51 +61,59 @@
v.name v.name
}}</a-radio-button> }}</a-radio-button>
</a-radio-group> --> </a-radio-group> -->
</div>
</div> </div>
</div> <div class="person_chang">
<div class="person_chang"> <div class="person_window">选择窗口:</div>
<div class="person_window">选择窗口:</div> <div class="person_window1">
<div class="person_window1"> <div class="dept-select flex aic">
<div class="dept-select flex aic"> <div
<div class="item dept-select-item1"
class="item dept-select-item1" :class="{ active: windowSearch === '' }"
:class="{ active: windowSearch === '' }" @click="handleAllWindow"
@click="handleAllWindow" >
> 全部
全部 </div>
</div> <div
<div v-show="windowSearch !== ''"
v-show="windowSearch !== ''" class="item dept-select-item2 active"
class="item dept-select-item2 active" >
> {{ curWindow }}
{{ curWindow }} </div>
</div> <a-popover
<a-popover arrowPointAtCenter placement="rightTop" title="窗口列表"> arrowPointAtCenter
<template slot="content"> placement="rightTop"
<div class="dept-list" v-if="windowData.length"> title="窗口列表"
<a-radio-group >
v-model="windowSearch" <template slot="content">
@change="handleWindowSearch" <div class="dept-list" v-if="windowData.length">
> <a-radio-group
<a-radio v-model="windowSearch"
:data-name="v.name" @change="handleWindowSearch"
v-for="v in windowData"
:key="v.id"
:value="v.id"
> >
{{ v.name }} <a-radio
</a-radio> :data-name="v.name"
</a-radio-group> v-for="v in windowData"
</div> :key="v.id"
<a-empty style="margin-top: 20px" :image="simpleImage" v-else /> :value="v.id"
</template> >
{{ v.name }}
</a-radio>
</a-radio-group>
</div>
<a-empty
style="margin-top: 20px"
:image="simpleImage"
v-else
/>
</template>
<div class="item dept-select-item3"> <div class="item dept-select-item3">
<a-icon type="double-right" /> <a-icon type="double-right" />
</div> </div>
</a-popover> </a-popover>
</div> </div>
<!-- <a-radio-group <!-- <a-radio-group
button-style="solid" button-style="solid"
v-model="windowSearch" v-model="windowSearch"
@change="handleWindowSearch" @change="handleWindowSearch"
...@@ -106,129 +123,161 @@ ...@@ -106,129 +123,161 @@
v.name v.name
}}</a-radio-button> }}</a-radio-button>
</a-radio-group> --> </a-radio-group> -->
</div>
</div> </div>
</div> <div class="on btn">
<div class="on btn"> <div>
<div> <a-button type="primary" @click="showModal">新增人员</a-button>
<a-button type="primary" @click="showModal">新增人员</a-button> <a-dropdown>
<a-dropdown> <a-menu slot="overlay">
<a-menu slot="overlay"> <a-menu-item key="1">
<a-menu-item key="1"> <a-upload
<a style="color: #1890ff" @click="handleUpload"> 批量导入 </a> name="file"
</a-menu-item> :multiple="false"
<a-menu-item key="2"> :action="api + 'base/workman/importData'"
<a style="color: #1890ff" @click="handleDownload"> 模板下载</a> :showUploadList="false"
</a-menu-item> :headers="headers"
<a-menu-item key="3"> @change="handleChange"
<a style="color: #1890ff" @click="handleUploadImg"> :data="{
批量导入照片 siteId,
</a> deptId: deptSearch,
</a-menu-item> windowId: windowSearch,
</a-menu> }"
<a-button style="margin-left: 8px"> accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel"
更多操作 <a-icon type="down" /> >
</a-button> <div style="color: #1890ff">批量导入</div>
</a-dropdown> </a-upload>
<!-- <a style="color: #1890ff" @click="handleUpload"> 批量导入 </a> -->
</a-menu-item>
<a-menu-item key="2">
<a style="color: #1890ff" @click="handleDownload">
模板下载</a
>
</a-menu-item>
<a-menu-item key="3">
<a-upload
name="file"
:multiple="false"
:action="api + 'base/file/commonupload'"
:showUploadList="false"
:headers="headers"
@change="handleChangeImg"
accept="application/x-zip-compressed"
>
<div style="color: #1890ff">批量导入照片</div>
</a-upload>
<!-- <a style="color: #1890ff" @click="handleUploadImg">
批量导入照片
</a> -->
</a-menu-item>
</a-menu>
<a-button style="margin-left: 8px">
更多操作 <a-icon type="down" />
</a-button>
</a-dropdown>
</div>
<div class="in">
<a-input-search
placeholder="请输入姓名或者工号"
enter-button="搜索"
allowClear
@search="onSearch"
/>
</div>
</div> </div>
<div class="in"> <div class="table-content">
<a-input-search <!-- 表格 -->
placeholder="请输入姓名或者工号" <a-table
enter-button="搜索" :pagination="{
allowClear showTotal: (total) => `共 ${total} 条`,
@search="onSearch" current: page,
/> total: total,
pageSize: size,
showSizeChanger: true,
showQuickJumper: true,
pageSizeOptions: pageSizeOptions,
onChange: handlePagination,
onShowSizeChange: showSizeChange,
}"
:scroll="{ y: 450 }"
:loading="loading"
:columns="columns"
:data-source="WorkmanData"
:rowKey="(record) => record.id"
>
<a slot="name" slot-scope="text">{{ text }}</a>
<span slot="num" slot-scope="text, record, index">{{
(page - 1) * size + index + 1
}}</span>
<!-- 照片 -->
<template slot="pic" slot-scope="text">
<img
v-if="text.photoPath"
:src="api + text.photoPath"
class="pht"
/>
<span v-else>--</span>
</template>
<!-- 电话 -->
<template slot="mobile" slot-scope="text">
<span>{{ text.mobile ? text.mobile : "--" }}</span>
</template>
<!-- 称号 -->
<template slot="dangyuan" slot-scope="text">
<div v-if="text.dangyuan === 0 || text.dangyuan">
<span v-if="text.dangyuan === 99">{{ text.dangyuanext }}</span>
<span v-else>{{ designation(text.dangyuan) }}</span>
</div>
<span v-else>--</span>
</template>
<!-- 创建时间 -->
<template slot="windowName" slot-scope="text">
{{ text.windowName ? text.windowName : "--" }}
</template>
<!-- 创建时间 -->
<template slot="time" slot-scope="text">
{{ text.createTime | dateFormat }}
</template>
<!-- 最后登录时间 -->
<template slot="logintime" slot-scope="text">
<span v-if="text.logintime">{{
text.logintime | dateFormat
}}</span>
<span v-else>--</span>
</template>
<!-- 操作 -->
<span slot="action" slot-scope="text">
<a-space>
<a class="edit" type="primary" @click="editModal(text)">编辑</a>
<a class="edit-pwd" type="primary" @click="changePwd(text)"
>修改密码</a
>
<a class="delet" @click="handleDel(text.id)">删除</a>
</a-space>
</span>
</a-table>
</div> </div>
</div> </div>
<div class="table-content"> <!-- 新增工作人员 -->
<!-- 表格 --> <addpersonnel
<a-table ref="addpersonnel"
:pagination="{ :diptData="deptData"
showTotal: (total) => `共 ${total} 条`, :visibleAll.sync="visibleAll"
current: page, :designationDict="designationDict"
total: total, :politicalDict="politicalDict"
pageSize: size, ></addpersonnel>
showSizeChanger: true, <!-- 编辑工作人员 -->
showQuickJumper: true, <EditPersonel
pageSizeOptions: pageSizeOptions, ref="EditPersonel"
onChange: handlePagination, :editVisible.sync="editVisible"
onShowSizeChange: showSizeChange, :designationDict="designationDict"
}" :politicalDict="politicalDict"
:scroll="{ y: 450 }" :diptData="deptData"
:loading="loading" ></EditPersonel>
:columns="columns" <!-- 修改密码 -->
:data-source="WorkmanData" <EditPwd ref="EditPwd" :visibleEditPwd.sync="visibleEditPwd"></EditPwd>
:rowKey="(record) => record.id"
>
<a slot="name" slot-scope="text">{{ text }}</a>
<span slot="num" slot-scope="text, record, index">{{
(page - 1) * size + index + 1
}}</span>
<!-- 照片 -->
<template slot="pic" slot-scope="text">
<img
v-if="text.photoPath"
:src="api + text.photoPath"
class="pht"
/>
<span v-else>--</span>
</template>
<!-- 电话 -->
<template slot="mobile" slot-scope="text">
<span>{{ text.mobile ? text.mobile : "--" }}</span>
</template>
<!-- 称号 -->
<template slot="dangyuan" slot-scope="text">
<div v-if="text.dangyuan === 0 || text.dangyuan">
<span v-if="text.dangyuan === 99">{{ text.dangyuanext }}</span>
<span v-else>{{ designation(text.dangyuan) }}</span>
</div>
<span v-else>--</span>
</template>
<!-- 创建时间 -->
<template slot="windowName" slot-scope="text">
{{ text.windowName ? text.windowName : "--" }}
</template>
<!-- 创建时间 -->
<template slot="time" slot-scope="text">
{{ text.createTime | dateFormat }}
</template>
<!-- 最后登录时间 -->
<template slot="logintime" slot-scope="text">
<span v-if="text.logintime">{{ text.logintime | dateFormat }}</span>
<span v-else>--</span>
</template>
<!-- 操作 -->
<span slot="action" slot-scope="text">
<a-space>
<a class="edit" type="primary" @click="editModal(text)">编辑</a>
<a class="edit-pwd" type="primary" @click="changePwd(text)"
>修改密码</a
>
<a class="delet" @click="handleDel(text.id)">删除</a>
</a-space>
</span>
</a-table>
</div>
</div> </div>
<!-- 新增工作人员 --> </a-spin>
<addpersonnel
ref="addpersonnel"
:diptData="deptData"
:visibleAll.sync="visibleAll"
:designationDict="designationDict"
:politicalDict="politicalDict"
></addpersonnel>
<!-- 编辑工作人员 -->
<EditPersonel
ref="EditPersonel"
:editVisible.sync="editVisible"
:designationDict="designationDict"
:politicalDict="politicalDict"
:diptData="deptData"
></EditPersonel>
<!-- 修改密码 -->
<EditPwd ref="EditPwd" :visibleEditPwd.sync="visibleEditPwd"></EditPwd>
</div>
</template> </template>
<script> <script>
...@@ -244,10 +293,10 @@ import { ...@@ -244,10 +293,10 @@ import {
getWorkmanList, getWorkmanList,
delWorkman, delWorkman,
downLoadTemplate, downLoadTemplate,
uploadFile, // uploadFile,
uploadAllImg, uploadAllImg,
// editWorkman, // editWorkman,
importData, // importData,
} from "@/services/dept"; } from "@/services/dept";
const columns = [ const columns = [
...@@ -325,6 +374,10 @@ export default { ...@@ -325,6 +374,10 @@ export default {
}, },
data() { data() {
return { return {
headers: {
Authorization: local.getLocal("token"),
},
spinning: false,
columns, columns,
simpleImage: Empty.PRESENTED_IMAGE_SIMPLE, simpleImage: Empty.PRESENTED_IMAGE_SIMPLE,
loading: false, loading: false,
...@@ -485,9 +538,9 @@ export default { ...@@ -485,9 +538,9 @@ export default {
this.getWorkmanData(); this.getWorkmanData();
}, },
// 导入 // 导入
handleUpload() { // handleUpload() {
this.importFile(); // this.importFile();
}, // },
// 批量导入工作人员模板下载 // 批量导入工作人员模板下载
async handleDownload() { async handleDownload() {
...@@ -506,70 +559,104 @@ export default { ...@@ -506,70 +559,104 @@ export default {
}, },
//导入文件 //导入文件
importFile() { // importFile() {
let that = this; // let that = this;
let input = document.createElement("input"); // let input = document.createElement("input");
input.setAttribute("type", "file"); // input.setAttribute("type", "file");
input.setAttribute( // input.setAttribute(
"accept", // "accept",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel" // "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel"
); // );
input.style.display = "none"; // input.style.display = "none";
input.addEventListener("change", () => { // input.addEventListener("change", () => {
if (input.files && input.files.length > 0) { // if (input.files && input.files.length > 0) {
that.uploadFile(input.files[0]); // that.uploadFile(input.files[0]);
} // }
}); // });
document.body.appendChild(input); // document.body.appendChild(input);
input.click(); // input.click();
document.body.removeChild(input); // document.body.removeChild(input);
}, // },
//上传文件 //上传文件
async uploadFile(file) { // async uploadFile(file) {
let formData = new FormData(); // let formData = new FormData();
formData.append("file", file); // formData.append("file", file);
formData.append("siteId", this.siteId); // formData.append("siteId", this.siteId);
formData.append("deptId", this.deptSearch); // formData.append("deptId", this.deptSearch);
formData.append("windowId", this.windowSearch); // formData.append("windowId", this.windowSearch);
let config = { // let config = {
headers: { // headers: {
"Content-Type": "multipart/form-data", // "Content-Type": "multipart/form-data",
}, // },
}; // };
let res = await importData(formData, config); // let res = await importData(formData, config);
let { code, msg } = res.data; // let { code, msg } = res.data;
if (code === 1) { // if (code === 1) {
this.$message.success(msg); // this.$message.success(msg);
this.page = 1; // this.page = 1;
this.getWorkmanData(); // this.getWorkmanData();
// }
// },
// 批量上传工作人员
handleChange({ file }) {
this.spinning = true;
if (file.status === "done") {
let { code, msg } = file.response;
if (code == 1) {
this.$message.success(msg);
this.getWorkmanData();
} else {
this.$message.error(msg);
}
this.spinning = false;
} }
}, },
// 批量导入照片 // 批量导入照片
handleUploadImg() { // handleUploadImg() {
let input = document.createElement("input"); // let input = document.createElement("input");
input.setAttribute("type", "file"); // input.setAttribute("type", "file");
input.setAttribute("accept", "application/x-zip-compressed"); // input.setAttribute("accept", "application/x-zip-compressed");
input.style.display = "none"; // input.style.display = "none";
input.addEventListener("change", async () => { // input.addEventListener("change", async () => {
if (input.files && input.files.length > 0) { // if (input.files && input.files.length > 0) {
let file = input.files[0]; // let file = input.files[0];
let formData = new FormData(); // let formData = new FormData();
formData.append("file", file); // formData.append("file", file);
let res = await uploadFile(formData); // let res = await uploadFile(formData);
// if (res.data.code == 1) {
// let result = await uploadAllImg({
// filePath: res.data.url,
// });
// if (result.data.code === 1) {
// this.$message.success(result.data.msg);
// }
// }
// }
// });
// document.body.appendChild(input);
// input.click();
// document.body.removeChild(input);
// },
// 批量导入照片
async handleChangeImg({ file }) {
this.spinning = true;
if (file.status === "done") {
let { code, msg } = file.response;
if (code == 1) {
let url = file.response.url;
let res = await uploadAllImg({
filePath: url,
});
if (res.data.code == 1) { if (res.data.code == 1) {
let result = await uploadAllImg({ this.$message.success(res.data.msg);
filePath: res.data.url, // this.spinning = false;
});
if (result.data.code === 1) {
this.$message.success(result.data.msg);
}
} }
} else {
this.$message.error(msg);
} }
}); this.spinning = false;
document.body.appendChild(input); }
input.click();
document.body.removeChild(input);
}, },
// 修改密码弹窗 // 修改密码弹窗
changePwd(row) { changePwd(row) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment