提交 0da483be 编写于 作者: bo.dang's avatar bo.dang

Merge branch 'dev-merged-20201015' into 'release'

Dev merged 20201015, code review: bo.dang



See merge request !224
...@@ -91,13 +91,39 @@ ...@@ -91,13 +91,39 @@
<el-form-item label="圈子类型" prop="type"> <el-form-item label="圈子类型" prop="type">
<el-radio-group v-model="formData.type" size="small" @change="changeType"> <!--<el-radio-group v-model="formData.type" size="small" @change="changeType">-->
<el-radio-group v-model="formData.type" size="small">
<el-radio :label="0" class="label-type">封闭 - 只对圈子成员可见,成员只能由管理员添加、删除</el-radio> <el-radio :label="0" class="label-type">封闭 - 只对圈子成员可见,成员只能由管理员添加、删除</el-radio>
<el-radio :label="1" class="label-type">半开放 - 对任何人可见,用户请求加入后需管理员同意,成员可自行退出</el-radio> <el-radio :label="1" class="label-type">半开放 - 对任何人可见,用户请求加入后需管理员同意,成员可自行退出</el-radio>
<el-radio :label="2" class="label-type">开放 - 对任何人可见,用户请求加入后无需管理员同意,成员可自行退出</el-radio> <el-radio :label="2" class="label-type">开放 - 对任何人可见,用户请求加入后无需管理员同意,成员可自行退出</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="允许分享圈子" prop="allowShare" v-if="formData.type == 1 || formData.type == 2 " class="required-label">
<el-radio-group v-model="formData.allowShare" size="small">
<el-radio :label="0" class="label-type">不允许</el-radio>
<el-radio :label="1" class="label-type">允许</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="对接部门" prop="deptId" v-if="deptFlag" class="required-label">
<el-select
v-model="formData.deptId"
@change="returnTypeData('deptId')"
placeholder="请选择该小圈的对接部门"
size="small">
<el-option
v-for="(item,index) in deptList"
:key="index"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<div style="margin-top: 60px;margin-left: 250px;"> <div style="margin-top: 60px;margin-left: 250px;">
<el-button type="primary" @click="save()" center>保存</el-button> <el-button type="primary" @click="save()" center>保存</el-button>
<el-button @click="cancle()">取 消</el-button> <el-button @click="cancle()">取 消</el-button>
...@@ -126,6 +152,7 @@ ...@@ -126,6 +152,7 @@
let vm = null; let vm = null;
import { openLoading, closeLoading } from "../../utils/utils"; import { openLoading, closeLoading } from "../../utils/utils";
import { doUpload, getFilePath } from "../../utils/qiniu-util"; import { doUpload, getFilePath } from "../../utils/qiniu-util";
import { getCircleDept } from "../../utils/yqrange/yqrangeApi";
import Cropper from '@/components/common/cropper.vue' import Cropper from '@/components/common/cropper.vue'
export default { export default {
name: "baseinfo", name: "baseinfo",
...@@ -142,6 +169,17 @@ ...@@ -142,6 +169,17 @@
}, },
created() { created() {
vm = this; vm = this;
this.isDept();
// const mobilePhone = localStorage.getItem("mobilePhone");
//
// if(mobilePhone == "13341740525" || mobilePhone == "18251938586"){
// this.deptFlag = true;
// }
// else {
// this.deptFlag = false;
// }
}, },
data() { data() {
let checkProjectStr = (rule, value, callback) => { let checkProjectStr = (rule, value, callback) => {
...@@ -202,6 +240,9 @@ ...@@ -202,6 +240,9 @@
], ],
type: [ type: [
{ required: true, message: "请选择圈子类型", trigger: "blur" }, { required: true, message: "请选择圈子类型", trigger: "blur" },
],
deptId: [
{ required: true, message: "请选择对接部门", trigger: "blur" }
] ]
}, },
imgMouseOver1: false, imgMouseOver1: false,
...@@ -215,6 +256,20 @@ ...@@ -215,6 +256,20 @@
label: '管理员可发布' label: '管理员可发布'
}, },
], ],
deptList: [
{
value: 1,
label: '铁军部'
}, {
value: 2,
label: '医疗事业部'
},{
value: 3,
label: '商业化部'
},
],
deptFlag: false,
shareFlag: false
} }
}, },
...@@ -233,14 +288,21 @@ ...@@ -233,14 +288,21 @@
if (!this.formData.headUrl){ if (!this.formData.headUrl){
this.uploadImgMessage1 = true; this.uploadImgMessage1 = true;
} }
this.$refs[formName].validate(valid => { this.$refs[formName].validate(valid => {
if (valid&&this.formData.headUrl!="") { if (valid && vm.formData.headUrl!="") {
flag = true; flag = true;
} else { } else {
console.log("error submit!!"); console.log("error submit!!");
flag = false; flag = false;
} }
}); });
if(flag){
if(this.formData.deptId == ""){
this.formData.deptId = 0;
}
}
this.$emit('returnIsNext', flag); this.$emit('returnIsNext', flag);
}, },
//上传圈子头像 //上传圈子头像
...@@ -354,6 +416,30 @@ ...@@ -354,6 +416,30 @@
}, },
changeType(){ changeType(){
if(vm.formData.type == 1 || vm.formData.type == 2){
vm.shareFlag = true;
}
else {
vm.shareFlag = false;
}
},
isDept(){
let params = {
type: 2
};
openLoading(vm);
getCircleDept(params).then(res => {
closeLoading(vm);
if (res.code == "000000") {
vm.deptFlag = res.data;
// vm.deptFlag = true;
// this.$message.success('操作成功');
}
}).catch(err => {
this.$message.error('请求失败');
});
} }
} }
} }
......
<template> <template>
<div class="organization-alert"> <div class="organization-alert">
<div class="organization-left"> <div class="organization-left">
<div>已选:{{allSelect.length}}个机构</div> <div v-if="checked">已选:{{totalOrganizationAll}}个机构</div>
<div v-else>已选:{{allSelect.length}}个机构</div>
<div class="hcd"> <div class="hcd">
<div class="tag-list"> <div class="tag-list">
<el-tag <el-tag
...@@ -26,26 +27,27 @@ ...@@ -26,26 +27,27 @@
<el-form-item label> <el-form-item label>
<el-cascader size="small" ref="cascaderRegion" :options="optionsRegion" :props="props" <el-cascader size="small" ref="cascaderRegion" :options="optionsRegion" :props="props"
v-model="formOrganization.administrativeIdList" @change="handleChangeRegion" filterable change-on-select v-model="formOrganization.administrativeIdList" @change="handleChangeRegion" filterable change-on-select
placeholder="请选择地区"></el-cascader> placeholder="请选择地区" :disabled='checked'></el-cascader>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-select size="small" v-model="formOrganization.level" placeholder="全部医院级别"> <el-select size="small" v-model="formOrganization.level" placeholder="全部医院级别" :disabled='checked'>
<el-option v-for="(item, index) in organizationRank" :key="index" :label="item.label" :value="item.id"> <el-option v-for="(item, index) in organizationRank" :key="index" :label="item.label" :value="item.id">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label> <el-form-item label>
<el-input style="width:140px;" size="small" v-model="formOrganization.name" placeholder="请输入机构名称"></el-input> <el-input style="width:140px;" size="small" v-model="formOrganization.name" placeholder="请输入机构名称" :disabled='checked'></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button size="small" type="primary" @click="searchOrganization()">搜索</el-button> <el-button size="small" type="primary" @click="searchOrganization()" :disabled="checked">搜索</el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button size="small" @click="resetOrgOrPerson()">取消搜索</el-button> <el-button size="small" @click="resetOrgOrPerson()" :disabled="checked"huang>取消搜索</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-checkbox v-if="showSelectAll" v-model="checked" @change="handleCheckAllChange" >全部({{ totalOrganization }})</el-checkbox>
<el-table class="rim" ref="multipleOrganization" :data="tableOrganization" tooltip-effect="dark" @select-all="selectAllOrganization" @select="selectOrganization" > <el-table class="rim" ref="multipleOrganization" :data="tableOrganization" tooltip-effect="dark" @select-all="selectAllOrganization" @select="selectOrganization" >
<el-table-column type="selection" :selectable="selectableTableList" ></el-table-column> <el-table-column type="selection" :selectable="selectableTableList"></el-table-column>
<el-table-column prop="orgName" label="医院名称" align="center"></el-table-column> <el-table-column prop="orgName" label="医院名称" align="center"></el-table-column>
<el-table-column prop="orgLevelName" label="医院级别" align="center"></el-table-column> <el-table-column prop="orgLevelName" label="医院级别" align="center"></el-table-column>
<el-table-column prop="provinceName" label="所属省份" align="center"></el-table-column> <el-table-column prop="provinceName" label="所属省份" align="center"></el-table-column>
...@@ -73,7 +75,7 @@ import { openLoading, closeLoading } from "@/utils/utils"; ...@@ -73,7 +75,7 @@ import { openLoading, closeLoading } from "@/utils/utils";
import { doUpload, getFilePath } from "@/utils/qiniu-util"; import { doUpload, getFilePath } from "@/utils/qiniu-util";
import * as operationData from "@/utils/operation"; import * as operationData from "@/utils/operation";
import { getCircleProvincesReq } from '@/utils/yqrange/rangeApi'; import { getCircleProvincesReq } from '@/utils/yqrange/rangeApi';
import { moOption, moOrgSearch, moSave, clearCacheOrg} from '@/utils/yqrange/memberApi'; import { moOption, moOptionAll, moOrgSearch, moSave, moSaveAll, clearCacheOrg} from '@/utils/yqrange/memberApi';
let vm = null; let vm = null;
export default { export default {
props: { props: {
...@@ -125,6 +127,7 @@ export default { ...@@ -125,6 +127,7 @@ export default {
tableOrganization: new Array(), tableOrganization: new Array(),
currentOrganization: 1, currentOrganization: 1,
totalOrganization: 10, totalOrganization: 10,
totalOrganizationAll:0,//全选可以添加机构的总数量
pageSizeOrganization: 2, pageSizeOrganization: 2,
selectionList:[], selectionList:[],
formOrganization: { formOrganization: {
...@@ -136,6 +139,8 @@ export default { ...@@ -136,6 +139,8 @@ export default {
pageNum: 1, pageNum: 1,
pageSize: 10 pageSize: 10
}, },
showSelectAll:false,//只有运营人员显示全部按钮
checked: false,
allSelect: [] allSelect: []
} }
}, },
...@@ -148,8 +153,64 @@ export default { ...@@ -148,8 +153,64 @@ export default {
this.initRange(); this.initRange();
//Idtype:1,内部 2.外部 //Idtype:1,内部 2.外部
vm.idType = localStorage.getItem("storageIdType"); vm.idType = localStorage.getItem("storageIdType");
if (vm.idType == 1) {
//只有内部人员显示全选按钮
vm.showSelectAll = true;
}
}, },
methods: { methods: {
// 选中全部
handleCheckAllChange(){
console.log(this.checked)
this.requestSelectAll();
if (!this.checked){
this.allSelect = [];
this.checked = false;
return
}
},
// 设置全选列表
setSeletAllList(){
let item = {
id:"0",
orgName:"全部",
};
this.allSelect = [];
if (this.totalOrganizationAll > 0) {
this.allSelect.push(item)
}
console.log(this.allSelect)
},
requestSelectAll(){
let administrativeIdItem = operationData.setAdministrativeId(
this.formOrganization.administrativeIdList
);
if (administrativeIdItem == "000_0"){
administrativeIdItem=""
}
let req = {
circleId: this.circleId,
districtIds: administrativeIdItem,
orgLevel: this.formOrganization.level,
orgName: this.formOrganization.name,
type: this.checked === false ? 0 : 1
};
openLoading(vm);
moOptionAll(req).then(res => {
closeLoading(vm);
if (res.code == "000000") {
this.totalOrganizationAll = res.data;
this.setSeletAllList()
} else {
this.$message(res.message);
}
}).catch(err => {
this.$message.error('请求失败');
});
},
clear() { clear() {
clearCacheOrg(this.circleId) clearCacheOrg(this.circleId)
.then(()=>{ .then(()=>{
...@@ -264,6 +325,12 @@ export default { ...@@ -264,6 +325,12 @@ export default {
}, },
// 获取机构列表的机构状态(是否被选中) // 获取机构列表的机构状态(是否被选中)
initOrganizationStatus() { initOrganizationStatus() {
// 判断是否显示全选按钮
if (this.idType == 1 && this.totalOrganization > 0) {
this.showSelectAll = true
}else {
this.showSelectAll = false
}
let tableStatus = this.tableOrganization; let tableStatus = this.tableOrganization;
tableStatus.forEach(row => { tableStatus.forEach(row => {
if (row.status == 1 || row.status == 2) { if (row.status == 1 || row.status == 2) {
...@@ -276,6 +343,9 @@ export default { ...@@ -276,6 +343,9 @@ export default {
}, },
//机构搜索 //机构搜索
getOrganizationChoose() { getOrganizationChoose() {
// if (this.checked) {
// return;
// }
let administrativeIdItem = operationData.setAdministrativeId( let administrativeIdItem = operationData.setAdministrativeId(
this.formOrganization.administrativeIdList this.formOrganization.administrativeIdList
); );
...@@ -352,7 +422,7 @@ export default { ...@@ -352,7 +422,7 @@ export default {
}, },
// 更改当前页数 // 更改当前页数
handleCurrentOrganization(val) { handleCurrentOrganization(val) {
//console.log(`当前页: ${val}`); console.log(`当前页: ${val}`);
this.formOrganization.pageNum = val; this.formOrganization.pageNum = val;
if (this.searchOrganizationType == "choose") { if (this.searchOrganizationType == "choose") {
this.getOrganizationChoose(); this.getOrganizationChoose();
...@@ -362,6 +432,10 @@ export default { ...@@ -362,6 +432,10 @@ export default {
}, },
//机构table中勾选一页 //机构table中勾选一页
selectAllOrganization(selection) { selectAllOrganization(selection) {
if(this.checked){
this.$refs.multipleOrganization.clearSelection()//这个是清除所有选择项,当选择全部时,清除所有选择项
return
}
this.selectionList = selection; this.selectionList = selection;
let setList = []; let setList = [];
let selectList = []; let selectList = [];
...@@ -379,7 +453,7 @@ export default { ...@@ -379,7 +453,7 @@ export default {
typeStatus = 1; typeStatus = 1;
} }
// let = this.$refs.multipleTable.selection // let = this.$refs.multipleTable.selection
console.log(selection, setList, selectList); console.log(selection,"00",setList,"33",selectList,"11",intersect,22,typeStatus);
if (setList.length > 0) { if (setList.length > 0) {
let req = { let req = {
ids: setList, ids: setList,
...@@ -426,10 +500,15 @@ export default { ...@@ -426,10 +500,15 @@ export default {
}); });
}, },
selectableTableList(row, index) { selectableTableList(row, index) {
if (this.checked) {
return false;
}
// if (this.status4Flag == 1) { // if (this.status4Flag == 1) {
if (row.status == 2) { if (row.status == 2) {
return false; return false;
} }
return true; return true;
// } // }
// return true; // return true;
...@@ -474,6 +553,12 @@ export default { ...@@ -474,6 +553,12 @@ export default {
}, },
//删除已选中的tag //删除已选中的tag
handleClose(item) { handleClose(item) {
if (this.checked){
this.allSelect = [];
this.checked = false;
this.requestSelectAll();
return;
}
this.selectOrganization([],item) this.selectOrganization([],item)
this.$refs.multipleOrganization.toggleRowSelection(item); this.$refs.multipleOrganization.toggleRowSelection(item);
}, },
...@@ -483,6 +568,15 @@ export default { ...@@ -483,6 +568,15 @@ export default {
this.$message.error('已选列表为空'); this.$message.error('已选列表为空');
return return
} }
// 内部人员或者全部选中 且是全选
if (this.idType == 1&&this.checked) {
this.requestaddFnAll();
}else {
this.requestaddFn();
}
},
requestaddFn(){
let params = { let params = {
circleId: this.circleId circleId: this.circleId
} }
...@@ -494,6 +588,32 @@ export default { ...@@ -494,6 +588,32 @@ export default {
this.$message.error('保存失败,请重试'); this.$message.error('保存失败,请重试');
}) })
}, },
requestaddFnAll(){
let administrativeIdItem = operationData.setAdministrativeId(
this.formOrganization.administrativeIdList
);
if (administrativeIdItem == "000_0"){
administrativeIdItem=""
}
let req = {
circleId: this.circleId,
districtIds: administrativeIdItem,
orgLevel: this.formOrganization.level,
orgName: this.formOrganization.name,
type: this.checked === false ? 0 : 1
};
moSaveAll(req)
.then(res => {
if (res.code == "000000") {
this.$emit('addOrg');
}else {
this.$message(res.message);
}
})
.catch(() => {
this.$message.error('保存失败,请重试');
})
},
// 取消 // 取消
canclefn() { canclefn() {
this.$emit('handleClose') this.$emit('handleClose')
......
...@@ -6,14 +6,14 @@ ...@@ -6,14 +6,14 @@
<i class="text" @click="dialogOrgFn()">添加机构</i> <i class="text" @click="dialogOrgFn()">添加机构</i>
</el-col> </el-col>
<el-col class="add-organization" v-if="showImportFlag"> <el-col class="add-organization" v-if="showImportFlag">
<el-upload <!--<el-upload-->
class="bg-uploader" <!--class="bg-uploader"-->
action="#" <!--action="#"-->
:show-file-list="false" <!--:show-file-list="false"-->
:before-upload="beforeUploadOrg"> <!--:before-upload="beforeUploadOrg">-->
<i class="el-icon-document-add"></i> <i class="el-icon-document-add"></i>
<i class="text">批量导入</i> <i class="text" @click="batchImport()">批量导入</i>
</el-upload> <!--</el-upload>-->
</el-col> </el-col>
<el-col class="organization-search"> <el-col class="organization-search">
<el-form :inline="true" :model="formOrganization" class="demo-form-inline" > <el-form :inline="true" :model="formOrganization" class="demo-form-inline" >
...@@ -93,23 +93,90 @@ ...@@ -93,23 +93,90 @@
> >
<p style="text-align: center;">{{detelMessage}}</p> <p style="text-align: center;">{{detelMessage}}</p>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="confirmDelete">删 除</el-button> <el-button type="primary" @click="confirmDelete">删 除</el-button>
<el-button type="primary" @click="hideDeleteFrom">取 消</el-button> <el-button @click="hideDeleteFrom">取 消</el-button>
</span> </span>
</el-dialog> </el-dialog>
<el-dialog <el-dialog
title="导入错误提示" :title="dialogTitle"
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
width="500px" width="500px"
:close-on-click-modal="false" :close-on-click-modal="false"
@close="handleErrorClose" @close="handleErrorClose"
center center>
> <!--<el-table :data="dialogErrorData" align="center">-->
<el-table :data="dialogErrorData" align="center"> <!--<el-table-column property="rowNumber" label="行数" align="center"></el-table-column>-->
<el-table-column property="rowNumber" label="行数" align="center"></el-table-column> <!--<el-table-column property="wrongData" label="错误提示" align="center"></el-table-column>-->
<el-table-column property="wrongData" label="错误提示" align="center"></el-table-column> <!--</el-table>-->
</el-table>
<div v-if="importSuccessFlag" style="text-align: center;">
<div>本次成功导入<span style="color: green;">&nbsp;{{importNum}}条&nbsp;</span>数据</div>
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="handleErrorClose" style="margin-top: 20px;">关闭</el-button>
</span>
</div>
<div v-if="!importSuccessFlag" style="text-align: center;">
<div v-if="importNum == 0">数据不符合格式要求,请修正后再次导入</div>
<div v-if="importNum != 0"><span style="color: red;">&nbsp;{{importNum}}条&nbsp;</span>数据不符合格式要求,请修正后再次导入</div>
<br>
<div>
<span>
<el-button @click="downloadFile" type="text" size="small" style="color: #449284 !important;">下载错误数据></el-button>
<!--<a @click="downloadFile">下载错误数据</a>-->
</span>
</div>
<div style="margin-top: 20px;">
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="handleErrorClose" style="float: left;margin-left: 130px;">取 消</el-button>
<el-upload
class="bg-uploader"
action="#"
:show-file-list="false"
:before-upload="beforeUploadOrg">
<el-button type="primary" size="small" style="margin-left: -100px;">重新导入</el-button>
</el-upload>
</span>
</div>
</div>
</el-dialog>
<el-dialog
title="批量导入"
:visible.sync="dialogImportVisible"
width="650px"
:close-on-click-modal="false"
@close="handleImportClose"
center>
<div style="float:left;width: 250px;">
<span>1.下载模板,填写信息</span>
<br>
<div>
<el-button type="primary" size="small" style="float:left; margin-top: 30px;" @click="download1">下载模板1</el-button>
<span style="float:left; margin-top: 72px;margin-left: -90px;">填写机构明细导入</span>
</div>
<div>
<el-button type="primary" size="small" style="margin-top: 30px;margin-left: 48px;" @click="download2">下载模板2</el-button>
<span style="float: right;margin-top:10px;">填写机构ID导入</span>
</div>
</div>
<div style="float:left;margin-left: 90px;width: 1px;height: 100px; background: #c8cbd2;"></div>
<div style="margin-left: 400px;height: 130px;">
<span>2.上传填写好的文件</span>
<br>
<el-upload
class="bg-uploader"
action="#"
:show-file-list="false"
:before-upload="beforeUploadOrg">
<el-button type="primary" size="small" style="margin-top: 30px;">上传文件</el-button>
</el-upload>
</div>
</el-dialog> </el-dialog>
</div> </div>
...@@ -192,6 +259,12 @@ export default { ...@@ -192,6 +259,12 @@ export default {
dialogVisible: false, dialogVisible: false,
dialogErrorData: [], dialogErrorData: [],
showImportFlag: false, showImportFlag: false,
dialogImportVisible: false,
importMsg: "",
importSuccessFlag: false,
importNum: 0,
dialogTitle: "",
errorFileUrl: ""
} }
}, },
components: { components: {
...@@ -205,9 +278,50 @@ export default { ...@@ -205,9 +278,50 @@ export default {
if(vm.idType == 1){ if(vm.idType == 1){
this.showImportFlag = true; this.showImportFlag = true;
} }
else {
// window.addEventListener("setItemEvent", function (e) {
//
// let highMainManager = 0;
// if(e.key == "highMainManager"){
// highMainManager = e.newValue;
// }
//
// let mainManager = 0;
// if(e.key == "mainManager"){
// mainManager = e.newValue;
// }
//
// let manager = 0;
// if(e.key == "manager"){
// manager = e.newValue;
// }
//
// if(highMainManager == 1 || mainManager == 1 || manager == 1){
// vm.showImportFlag = true;
// }
// else {
// vm.showImportFlag = false;
// }
//
//
// console.log('key: '+e.key);
// console.log('newValue: '+e.newValue);
// console.log('oldValue: '+e.oldValue);
// });
setTimeout(() => {
let highMainManager = localStorage.getItem('highMainManager');
let mainManager = localStorage.getItem('mainManager');
let manager = localStorage.getItem('manager');
if(highMainManager == 1 || mainManager == 1 || manager == 1){
this.showImportFlag = true;
}
else { else {
this.showImportFlag = false; this.showImportFlag = false;
} }
},3500)
}
}, },
mounted() { mounted() {
}, },
...@@ -401,7 +515,7 @@ export default { ...@@ -401,7 +515,7 @@ export default {
} }
}, },
detel(item) { detel(item) {
this.detelMessage = `删除后 "${item.orgName}" 将无法访问本圈,确定删除吗?` this.detelMessage = `删除后 "${item.orgName}" 将无法访问本圈,确定删除吗?`
this.deleteVisible = true this.deleteVisible = true
this.clickItem = item this.clickItem = item
}, },
...@@ -448,6 +562,11 @@ export default { ...@@ -448,6 +562,11 @@ export default {
// 批量导入 // 批量导入
beforeUploadOrg(file) { beforeUploadOrg(file) {
// // 机构数已超10000,无法导入机构
// if(vm.totalOrganization > 10000){
// this.$message.warning('机构数已超10000,无法导入机构');
// return;
// }
let name = file.name; let name = file.name;
let type = name.substring(name.lastIndexOf('.') + 1); let type = name.substring(name.lastIndexOf('.') + 1);
...@@ -470,23 +589,33 @@ export default { ...@@ -470,23 +589,33 @@ export default {
closeLoading(vm); closeLoading(vm);
if (res.code == "000000") { if (res.code == "000000") {
vm.dialogImportVisible = false;
if(res.data.successNum == 0 && res.data.wrongDataList.length > 0){ // 导入成功
if(res.data.status){
this.dialogVisible = true;
this.dialogErrorData = res.data.wrongDataList;
}
else {
this.$message({ vm.dialogVisible = true;
type: 'success', vm.dialogTitle = "导入成功";
message: '导入成功!' vm.importSuccessFlag = true;
}); vm.importNum = res.data.successNum;
vm.initRange(); vm.initRange();
vm.searchOrganization(); vm.searchOrganization();
vm.$emit('refreshRenYuan'); vm.$emit('refreshRenYuan');
} }
else {
vm.dialogVisible = true;
vm.dialogTitle = "导入失败";
vm.importSuccessFlag = false;
vm.importNum = res.data.failNum;
vm.errorFileUrl = res.data.file;
// this.$message({
// type: 'success',
// message: '导入成功!'
// });
}
} }
else { else {
this.$message({ this.$message({
...@@ -503,15 +632,38 @@ export default { ...@@ -503,15 +632,38 @@ export default {
handleErrorClose() { handleErrorClose() {
this.dialogVisible = false; this.dialogVisible = false;
}, },
// 批量导入
batchImport(){
this.dialogImportVisible = true;
},
handleImportClose(){
this.dialogImportVisible = false;
},
// 下载模板1
download1(){
const url = "https://files.yunqueyi.com/template/import_hospital_by_detail_1.xlsx";
window.location.href = url;
},
// 下载模板2
download2(){
const url = "https://files.yunqueyi.com/template/import_hospital_by_id.xlsx";
window.location.href = url;
},
// 下载错误数据文件
downloadFile(){
window.location.href = vm.errorFileUrl;
}
} }
} }
</script> </script>
<style > <style >
.organization .el-dialog { /*.organization .el-dialog {*/
max-height: 90%; /*max-height: 90%;*/
overflow: scroll; /*overflow: scroll;*/
} /*}*/
</style> </style>
<style lang="scss" scoped> <style lang="scss" scoped>
.organization { .organization {
......
...@@ -6,14 +6,14 @@ ...@@ -6,14 +6,14 @@
<i class="text" @click="dialogMemberFn()">添加人员</i> <i class="text" @click="dialogMemberFn()">添加人员</i>
</el-col> </el-col>
<el-col class="add-organization" v-if="showImportFlag"> <el-col class="add-organization" v-if="showImportFlag">
<el-upload <!--<el-upload-->
class="bg-uploader" <!--class="bg-uploader"-->
action="#" <!--action="#"-->
:show-file-list="false" <!--:show-file-list="false"-->
:before-upload="beforeUploadDoc"> <!--:before-upload="beforeUploadDoc">-->
<i class="el-icon-document-add"></i> <i class="el-icon-document-add"></i>
<i class="text">批量导入</i> <i class="text" @click="batchImport()">批量导入</i>
</el-upload> <!--</el-upload>-->
</el-col> </el-col>
<el-col class="organization-search"> <el-col class="organization-search">
<el-form :inline="true" :model="formOrganization" class="demo-form-inline" > <el-form :inline="true" :model="formOrganization" class="demo-form-inline" >
...@@ -99,21 +99,98 @@ ...@@ -99,21 +99,98 @@
</span> </span>
</el-dialog> </el-dialog>
<!--<el-dialog-->
<!--title="导入错误提示"-->
<!--:visible.sync="dialogVisible"-->
<!--width="500px"-->
<!--:close-on-click-modal="false"-->
<!--@close="handleErrorClose"-->
<!--center-->
<!--&gt;-->
<!--<el-table :data="dialogErrorData" align="center">-->
<!--<el-table-column property="rowNumber" label="行数" align="center"></el-table-column>-->
<!--<el-table-column property="wrongData" label="错误提示" align="center"></el-table-column>-->
<!--</el-table>-->
<!--</el-dialog>-->
<el-dialog <el-dialog
title="导入错误提示" :title="dialogTitle"
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
width="500px" width="500px"
:close-on-click-modal="false" :close-on-click-modal="false"
@close="handleErrorClose" @close="handleErrorClose"
center center>
> <!--<el-table :data="dialogErrorData" align="center">-->
<el-table :data="dialogErrorData" align="center"> <!--<el-table-column property="rowNumber" label="行数" align="center"></el-table-column>-->
<el-table-column property="rowNumber" label="行数" align="center"></el-table-column> <!--<el-table-column property="wrongData" label="错误提示" align="center"></el-table-column>-->
<el-table-column property="wrongData" label="错误提示" align="center"></el-table-column> <!--</el-table>-->
</el-table>
<div v-if="importSuccessFlag" style="text-align: center;">
<div>本次成功导入<span style="color: green;">&nbsp;{{importNum}}条&nbsp;</span>数据</div>
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="handleErrorClose" style="margin-top: 20px;">关闭</el-button>
</span>
</div>
<div v-if="!importSuccessFlag" style="text-align: center;">
<div v-if="importNum == 0">数据不符合格式要求,请修正后再次导入</div>
<div v-if="importNum != 0"><span style="color: red;">&nbsp;{{importNum}}条&nbsp;</span>数据不符合格式要求,请修正后再次导入</div>
<br>
<div>
<span>
<el-button @click="downloadFile" type="text" size="small" style="color: #449284 !important;">下载错误数据></el-button>
<!--<a @click="downloadFile">下载错误数据</a>-->
</span>
</div>
<div style="margin-top: 20px;">
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="handleErrorClose" style="float: left;margin-left: 130px;">取 消</el-button>
<el-upload
class="bg-uploader"
action="#"
:show-file-list="false"
:before-upload="beforeUploadDoc">
<el-button type="primary" size="small" style="margin-left: -100px;">重新导入</el-button>
</el-upload>
</span>
</div>
</div>
</el-dialog> </el-dialog>
<el-dialog
title="批量导入"
:visible.sync="dialogImportVisible"
width="650px"
:close-on-click-modal="false"
@close="handleImportClose"
center>
<div style="float:left;width: 250px;">
<span>1.下载模板,填写信息</span>
<br>
<div>
<el-button type="primary" size="small" style="float:left; margin-top: 30px;" @click="download1">下载模板</el-button>
</div>
</div>
<div style="float:left;margin-left: 40px;width: 1px;height: 100px; background: #c8cbd2;"></div>
<div style="margin-left: 400px;height: 130px;">
<span>2.上传填写好的文件</span>
<br>
<el-upload
class="bg-uploader"
action="#"
:show-file-list="false"
:before-upload="beforeUploadDoc">
<el-button type="primary" size="small" style="margin-top: 30px;">上传文件</el-button>
</el-upload>
</div>
</el-dialog>
</div> </div>
</template> </template>
...@@ -203,7 +280,13 @@ export default { ...@@ -203,7 +280,13 @@ export default {
detelMessage: '', detelMessage: '',
dialogVisible: false, dialogVisible: false,
dialogErrorData: [], dialogErrorData: [],
showImportFlag: false showImportFlag: false,
dialogImportVisible: false,
importMsg: "",
importSuccessFlag: false,
importNum: 0,
dialogTitle: "",
errorFileUrl: ""
} }
}, },
created() { created() {
...@@ -214,13 +297,22 @@ export default { ...@@ -214,13 +297,22 @@ export default {
if(vm.idType == 1){ if(vm.idType == 1){
this.showImportFlag = true; this.showImportFlag = true;
} }
else {
setTimeout(() => {
let highMainManager = localStorage.getItem('highMainManager');
let mainManager = localStorage.getItem('mainManager');
let manager = localStorage.getItem('manager');
if(highMainManager == 1 || mainManager == 1 || manager == 1){
this.showImportFlag = true;
}
else { else {
this.showImportFlag = false; this.showImportFlag = false;
} }
},1000);
}
}, },
mounted() { mounted() {
}, },
methods: { methods: {
initRange() { initRange() {
...@@ -228,7 +320,7 @@ export default { ...@@ -228,7 +320,7 @@ export default {
this.formOrganization.name = ""; this.formOrganization.name = "";
this.formOrganization.orgName = ""; this.formOrganization.orgName = "";
this.formOrganization.source = 0 this.formOrganization.source = 0
this.getList() this.getList(1)
}, },
setMoreOption(data, type) { setMoreOption(data, type) {
let option = []; let option = [];
...@@ -253,7 +345,7 @@ export default { ...@@ -253,7 +345,7 @@ export default {
this.formOrganization.pageNum = 1; this.formOrganization.pageNum = 1;
this.getList() this.getList()
}, },
getList() { getList(first) {
let idType = localStorage.getItem("storageIdType"); let idType = localStorage.getItem("storageIdType");
let req = { let req = {
circleId: this.circleId, circleId: this.circleId,
...@@ -266,7 +358,10 @@ export default { ...@@ -266,7 +358,10 @@ export default {
}; };
openLoading(vm); openLoading(vm);
mpRelSearch(req).then(res => { mpRelSearch(req).then(res => {
if (!first) {
closeLoading(vm); closeLoading(vm);
}
if (res.code == "000000") { if (res.code == "000000") {
this.peoplesDtoList = res.data.peoplesDtoList; this.peoplesDtoList = res.data.peoplesDtoList;
this.totalPeople = res.data.total; this.totalPeople = res.data.total;
...@@ -295,7 +390,7 @@ export default { ...@@ -295,7 +390,7 @@ export default {
this.getList(); this.getList();
}, },
detel(item) { detel(item) {
this.detelMessage = `删除后 "${item.name}" 将无法访问本圈, 确定删除么?` this.detelMessage = `删除后 "${item.name}" 将无法访问本圈, 确定删除么?`
this.deleteVisible = true this.deleteVisible = true
this.clickItem = item this.clickItem = item
}, },
...@@ -340,6 +435,11 @@ export default { ...@@ -340,6 +435,11 @@ export default {
beforeUploadDoc(file) { beforeUploadDoc(file) {
// // 人员数已超10000,无法导入机构
// if(vm.totalPeople > 10000){
// this.$message.warning('人员数已超10000,无法导入机构');
// return;
// }
let name = file.name; let name = file.name;
let type = name.substring(name.lastIndexOf('.') + 1); let type = name.substring(name.lastIndexOf('.') + 1);
if (type !== 'xls' && type !== 'xlsx') { if (type !== 'xls' && type !== 'xlsx') {
...@@ -361,22 +461,32 @@ export default { ...@@ -361,22 +461,32 @@ export default {
closeLoading(vm); closeLoading(vm);
if (res.code == "000000") { if (res.code == "000000") {
vm.dialogImportVisible = false;
// 导入成功
if(res.data.status){
vm.dialogVisible = true;
vm.dialogTitle = "导入成功";
vm.importSuccessFlag = true;
vm.importNum = res.data.successNum;
vm.initRange();
// vm.searchOrganization();
// vm.$emit('refreshRenYuan');
}
else {
if(res.data.successNum == 0 && res.data.wrongDataList.length > 0){ vm.dialogVisible = true;
vm.dialogTitle = "导入失败";
vm.importSuccessFlag = false;
vm.importNum = res.data.failNum;
vm.errorFileUrl = res.data.file;
this.dialogVisible = true; // this.$message({
// type: 'success',
// message: '导入成功!'
// });
this.dialogErrorData = res.data.wrongDataList;
} }
else {
this.$message({
type: 'success',
message: '导入成功!'
});
vm.initRange();
}
} }
else { else {
this.$message({ this.$message({
...@@ -384,6 +494,32 @@ export default { ...@@ -384,6 +494,32 @@ export default {
message: res.message message: res.message
}); });
} }
// if (res.code == "000000") {
//
//
// if(res.data.successNum == 0 && res.data.wrongDataList.length > 0){
//
// this.dialogVisible = true;
//
// this.dialogErrorData = res.data.wrongDataList;
// }
// else {
// this.$message({
// type: 'success',
// message: '导入成功!'
// });
// vm.initRange();
// }
//
// }
// else {
// this.$message({
// type: 'error',
// message: res.message
// });
// }
// vm.setDialog(res); // vm.setDialog(res);
}); });
// }; // };
...@@ -393,6 +529,25 @@ export default { ...@@ -393,6 +529,25 @@ export default {
handleErrorClose() { handleErrorClose() {
this.dialogVisible = false; this.dialogVisible = false;
}, },
// 批量导入
batchImport(){
this.dialogImportVisible = true;
},
handleImportClose(){
this.dialogImportVisible = false;
},
// 下载模板
download1(){
const url = "https://files.yunqueyi.com/template/import_people_by_name_mobile.xlsx";
window.location.href = url;
},
// 下载错误数据文件
downloadFile(){
window.location.href = vm.errorFileUrl;
}
} }
} }
</script> </script>
......
...@@ -67,7 +67,15 @@ export const moOption = (params) => { ...@@ -67,7 +67,15 @@ export const moOption = (params) => {
description: '添加机构- 勾选操作', description: '添加机构- 勾选操作',
}) })
}; };
export const moOptionAll = (params) => {
return fetch({
headers,
url: getBaseUrl(`circle/memberSelect/org/option/all`),
method: 'post',
data: params,
description: '添加机构- 全选勾选/反选操作',
})
};
export const moOptionBlackList = (params) => { export const moOptionBlackList = (params) => {
return fetch({ return fetch({
headers, headers,
...@@ -87,7 +95,15 @@ export const moSave = (params) => { ...@@ -87,7 +95,15 @@ export const moSave = (params) => {
description: '添加机构-保存', description: '添加机构-保存',
}) })
}; };
export const moSaveAll = (params) => {
return fetch({
headers,
url: getBaseUrl(`circle/memberSelect/org/save/all`),
method: 'post',
data: params,
description: '添加机构- 全选-保存',
})
};
export const moSaveBlackList = (params) => { export const moSaveBlackList = (params) => {
return fetch({ return fetch({
headers, headers,
......
...@@ -161,4 +161,14 @@ export const applyUpdate = (params) => { ...@@ -161,4 +161,14 @@ export const applyUpdate = (params) => {
}) })
}; };
export const getCircleDept = (params) => {
return fetch({
headers,
url: getBaseUrl(`circle/circle/judge/menu/${params.type}`),
method: 'get',
data: params,
description: '参数为类型目前2为是否有圈子设置所属部门的权限,返回结果为true/false',
})
};
...@@ -61,7 +61,9 @@ ...@@ -61,7 +61,9 @@
dynamicFlag: '', dynamicFlag: '',
idType: localStorage.getItem("storageIdType"), idType: localStorage.getItem("storageIdType"),
roleType: null, roleType: null,
type: 0 type: 0,
deptId: "",
allowShare: 1
} }
} }
}, },
...@@ -143,11 +145,11 @@ ...@@ -143,11 +145,11 @@
// 修改编辑基础信息 // 修改编辑基础信息
returnIsNext(flag) { returnIsNext(flag) {
if (flag == true) { if (flag == true) {
this.commitQuanziInfo(); vm.commitQuanziInfo();
} }
}, },
returnTypeData(item) { returnTypeData(item) {
this.formData[item.name] = item.val vm.formData[item.name] = item.val
}, },
//获取圈子详情 //获取圈子详情
getCircleInfo() { getCircleInfo() {
...@@ -155,15 +157,18 @@ ...@@ -155,15 +157,18 @@
// closeLoading(this); // closeLoading(this);
if (res.code == "000000") { if (res.code == "000000") {
this.formData = { ...this.formData, ...res.data }; this.formData = { ...this.formData, ...res.data };
if(vm.formData.deptId == 0){
vm.formData.deptId = "";
}
} else { } else {
this.$message(res.message); vm.$message(res.message);
} }
}).catch(err => { }).catch(err => {
this.$message.error('请求失败'); vm.$message.error('请求失败');
}); });
}, },
commitQuanziInfo() { commitQuanziInfo() {
let req = this.formData; let req = vm.formData;
console.log("commitQuanziInfo() : name = " + req.name + ", headUrl = " + req.headUrl console.log("commitQuanziInfo() : name = " + req.name + ", headUrl = " + req.headUrl
+ ", coverUrl = " + req.coverUrl + ", introduce = " + req.introduce + ", dynamicFlag = " + req.dynamicFlag) + ", coverUrl = " + req.coverUrl + ", introduce = " + req.introduce + ", dynamicFlag = " + req.dynamicFlag)
vm.POST("circle/circle/save", req).then(res => { vm.POST("circle/circle/save", req).then(res => {
......
...@@ -122,7 +122,7 @@ ...@@ -122,7 +122,7 @@
}, },
created() { created() {
this.initPrivilege(); this.initPrivilege();
this.search(); this.search(1);
}, },
methods: { methods: {
...@@ -167,16 +167,17 @@ ...@@ -167,16 +167,17 @@
}, },
// 搜索 // 搜索
search(){ search(first){
this.searchForm.pageNo = 1; this.searchForm.pageNo = 1;
this.searchList(); this.searchList(first);
}, },
searchList() { searchList(first) {
if(!first) {
console.log('查询圈子')
openLoading(this); openLoading(this);
}
let params = this.searchForm; let params = this.searchForm;
console.log('查询圈子')
applyList(params).then((res) => { applyList(params).then((res) => {
closeLoading(this); closeLoading(this);
if(res.code == "000000") { if(res.code == "000000") {
......
...@@ -135,8 +135,8 @@ ...@@ -135,8 +135,8 @@
</template> </template>
<script> <script>
import { openLoading, closeLoading } from "../../utils/utils"; import { openLoading, closeLoading } from "../../utils/utils";
import BreadCrumb from "@/components/breadcrumb.vue"; import BreadCrumb from "@/components/breadcrumb.vue";
import { getRangeList,updateRangeStatus, getCircleSettingList, saveCircleSetting} from "../../utils/yqrange/yqrangeApi"; import { getRangeList,updateRangeStatus, getCircleSettingList, saveCircleSetting} from "../../utils/yqrange/yqrangeApi";
import ElTabPane from "element-ui/packages/tabs/src/tab-pane"; import ElTabPane from "element-ui/packages/tabs/src/tab-pane";
import RangeApply from "./range-apply"; import RangeApply from "./range-apply";
export default { export default {
...@@ -401,7 +401,6 @@ export default { ...@@ -401,7 +401,6 @@ export default {
// 应用配置 // 应用配置
setting(row){ setting(row){
this.dialogSettingVisible = true; this.dialogSettingVisible = true;
this.settingForm.circleId = row.id; this.settingForm.circleId = row.id;
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册