提交 89e552bc 编写于 作者: yi.li's avatar yi.li

Merge branch 'dev-followUp-20190312' of...

Merge branch 'dev-followUp-20190312' of 192.168.110.53:com.pica.cloud.education.frontend/pica.cloud.web-education-admin into dev-followUp-20190312
......@@ -7,4 +7,4 @@ dist/
node_modules/
.DS_Store
.vscode
envConfig.js
\ No newline at end of file
src/utils/envConfig.js
\ No newline at end of file
......@@ -51,9 +51,7 @@ export default {
vm.getToken()
},
mounted() {
// setInterval(function(){
// vm.pushMessage()
// },60000)
},
methods: {
// 解密token
......@@ -64,8 +62,10 @@ export default {
let paramStr = href.substring(offset + 1, href.length)
let pars = base64decode(paramStr)
let paramMap = getUrlParamsMap(pars, "&")
if (isNotEmptyUtils(paramMap["token"]) || localStorage.getItem('storageToken')) {
if (isNotEmptyUtils(paramMap["token"])) {
vm.token = paramMap["token"]
localStorage.setItem('storageToken', vm.token)
vm.$router.push({ path: 'home' })
} else {
window.location.href = getLoginUrl() // 没有token返回登录页面
return
......@@ -79,14 +79,6 @@ export default {
vm.changeToken(vm.token)
vm.getUserAuth(vm.token)
},
// 实时消息推送
pushMessage() {
vm.$notify({
title: '警告',
message: '这是一条警告的提示消息',
type: 'warning'
});
},
// 修改token
...mapActions([
'changeToken',
......
......@@ -8,7 +8,6 @@ const createComponent = r => require.ensure([], () => r(require('../views/educat
const roleManager = r => require.ensure([], () => r(require('../views/system/role.vue')),'role')
const addManager = r => require.ensure([], () => r(require('../views/education/add-manager.vue')), 'add-manager')
const itemRole = r => require.ensure([], () => r(require('../views/system/item-role.vue')), 'item-role')
const tree = r => require.ensure([], () => r(require('../views/education/tree.vue')), 'tree')
import followRouters from './follow'
......@@ -46,9 +45,6 @@ export default [{
},{
path: '/item-role',
component: itemRole
},{
path: '/tree',
component: tree
},
followRouters,
]
......
const getters = {
_token: state => state.common._token,
idType: state => state.common.idType
}
export default getters
import followApi from '../../../utils/followup/followapis'
import followApi from '../../utils/followup/followapis'
export default {
namespaced: true,
......
import followApi from '../../../utils/followup/followapis'
import followApi from '../../utils/followup/followapis'
export default {
namespaced: true,
......
import education from './education/getters'
import { containObject } from '../utils/utils'
const getters = containObject(education)
const getters = {
_token: state => state.common._token,
idType: state => state.common.idType
}
export default getters
\ No newline at end of file
import Vue from 'vue'
import Vuex from 'vuex'
import common from './modules/common'
import common from './education/common';
//随访
import followModules from './modules/followup/index'
import followModules from './followup/index';
import getters from './getters'
......
......@@ -185,6 +185,9 @@ html,body{
.el-message-box__status {
display: none;
}
.el-message-box__message {
text-align: center
}
.el-message-box__btns {
text-align: center !important;
button {
......@@ -199,6 +202,11 @@ html,body{
background: #449284 !important;
border: 1px solid #449284 !important;
}
.el-button.is-disabled {
background: #449284 !important;
border: 1px solid #449284 !important;
opacity: 0.5;
}
.el-pagination.is-background .el-pager li:not(.disabled).active {
background: #449284 !important;
}
......
......@@ -9,15 +9,15 @@ export const envConfig = {
// baseUrl: 'https://test1-sc.yunqueyi.com/',
//baseUrl: 'https://uat-sc.yunqueyi.com/',
baseUrl: 'http://localhost:11905/portal/',
baseUrl: 'http://dev-sc.yunqueyi.com/portal/',
qiniuFileUrl: "http://localhost:10201/contents/admin/qiniu/token1",
qiniuResourceUrl: "https://test1-videos.yunqueyi.com",
qiniuImgUrl: "https://test1-file.yunqueyi.com",
loginUrl: 'https://dev-saas.yunqueyi.com/pica-login/work_station.html',
innerLoginUrl: 'http://localhost:8090/PICA_SSO_FE/html/pica_login.html',
innerLoginUrl: 'http://localhost:8090/PICA_SSO_FE/html/pica_index.html',
yuequeyiIndexUrl: 'https://dev-saas.yunqueyi.com/pica_index.html',
followUpApi: '',
followUpApiSoSoApi:'http://sosoapi.yunqueyi.com/sosoapi-web/pass/mock/73',
basicDataUrl: 'https://dev-sc.yunqueyi.com/',
},
dev: {
baseUrl: 'https://dev-sc.yunqueyi.com/portal/',
......@@ -25,9 +25,9 @@ export const envConfig = {
qiniuResourceUrl: "https://test1-videos.yunqueyi.com",
qiniuImgUrl: "https://test1-file.yunqueyi.com",
loginUrl: 'https://dev-saas.yunqueyi.com/pica-login/work_station.html',
innerLoginUrl: 'https://dev-sso.yunqueyi.com/PICA_SSO_FE/html/pica_login.html',
innerLoginUrl: 'https://dev-sso.yunqueyi.com/PICA_SSO_FE/html/pica_index.html',
yuequeyiIndexUrl: 'https://dev-saas.yunqueyi.com/pica_index.html',
followUpApi: '',
basicDataUrl: 'https://dev-sc.yunqueyi.com/',
},
test: {
baseUrl: 'https://test1-sc.yunqueyi.com/portal/',
......@@ -35,9 +35,9 @@ export const envConfig = {
qiniuResourceUrl: "https://test1-videos.yunqueyi.com",
qiniuImgUrl: "https://test1-file.yunqueyi.com",
loginUrl: 'https://test1-saas.yunqueyi.com/pica-login/work_station.html',
innerLoginUrl: 'https://test1-sso.yunqueyi.com/PICA_SSO_FE/html/pica_login.html',
innerLoginUrl: 'https://test1-sso.yunqueyi.com/PICA_SSO_FE/html/pica_index.html',
yuequeyiIndexUrl: 'https://test-saas.yunqueyi.com/pica_index.html',
followUpApi: '',
basicDataUrl: 'https://test1-sc.yunqueyi.com/',
},
uat: {
baseUrl: 'https://uat-sc.yunqueyi.com/portal/',
......@@ -45,9 +45,9 @@ export const envConfig = {
qiniuResourceUrl: "https://videos.yunqueyi.com", // 视频
qiniuImgUrl: "https://file.yunqueyi.com",
loginUrl: 'https://uat-saas.yunqueyi.com/pica-login/work_station.html',
innerLoginUrl: 'https://uat-sso.yunqueyi.com/PICA_SSO_FE/html/pica_login.html',
innerLoginUrl: 'https://uat-sso.yunqueyi.com/PICA_SSO_FE/html/pica_index.html',
yuequeyiIndexUrl: 'https://uat-saas.yunqueyi.com/pica_index.html',
followUpApi: '',
basicDataUrl: 'https://uat-sc.yunqueyi.com/',
},
pro: {
baseUrl: 'https://sc.yunqueyi.com/portal/',
......@@ -55,8 +55,8 @@ export const envConfig = {
qiniuResourceUrl: "https://videos.yunqueyi.com",
qiniuImgUrl: "https://file.yunqueyi.com",
loginUrl: 'https://saas.yunqueyi.com/pica-login/work_station.html',
innerLoginUrl: 'https://sso.yunqueyi.com/PICA_SSO_FE/html/pica_login.html',
innerLoginUrl: 'https://sso.yunqueyi.com/PICA_SSO_FE/html/pica_index.html',
yuequeyiIndexUrl: 'https://saas.yunqueyi.com/pica_index.html',
followUpApi: '',
basicDataUrl: 'https://sc.yunqueyi.com/',
}
}
......@@ -11,12 +11,8 @@ const service = axios.create({
// request拦截器
service.interceptors.request.use(config => {
if(config.data && config.data.token) {
localStorage.setItem('storageToken',config.data.token)
}
config.headers['sysCode'] = 12
config.headers['token'] = localStorage.getItem('storageToken')
//config.headers['token'] = 'AB14D7D7675E4D09B4B1566170076122'
config.headers['deviceInfo'] = JSON.stringify({ "app_channel": "", "app_mac": "", "app_uuid": "", "app_version": "", "device_brand": "", "device_ip": "", "device_model": "", "device_net": "", "device_ops": "", "resolution_wh": "", "system_level": "", "device_type": '10' })
// if (config.data && config.data.setEntry) {
// config.headers['sysCode'] = config.data.sysCode || 10
......
......@@ -159,6 +159,11 @@ export function getInnerLoginUrl() {
return getConfigByEnvType('innerLoginUrl')
}
// 云鹊医首页
export function getYunQueYiUrl() {
return getConfigByEnvType('yuequeyiIndexUrl')
}
// 七牛上传视频和图片
export function uploadVideo() {
return getConfigByEnvType('qiniuResourceUrl')
......
import axios from 'axios';
// 对象的合并
export const containObject = function(...obj1) {
let obj = Object.assign(...obj1)
return obj
}
//共通函数
Array.prototype.contains = function (obj) {
if (this.length > 0) {
......
......@@ -27,15 +27,27 @@
</el-col>
</el-form-item>
<el-form-item label="项目时间:" required>
<el-col :span="6">
<el-form-item prop="duringTime">
<el-col :span="3">
<el-form-item label>
<el-date-picker
v-model="formData.projectBegintime"
size="mini"
type="daterange"
start-placeholder="请选择项目开始时间"
end-placeholder="请选择项目结束时间"
v-model="formData.duringTime"
type="date"
placeholder="请选择开始时间"
value-format="yyyy-MM-dd HH:mm:ss"
:picker-options="pickerOptions0"
></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="~">
<el-date-picker
v-model="formData.projectEndtime"
size="mini"
type="date"
placeholder="请选择结束时间"
value-format="yyyy-MM-dd 23:59:59"
:picker-options="pickerOptions1"
></el-date-picker>
</el-form-item>
</el-col>
......@@ -74,7 +86,7 @@
</el-upload>
</el-form-item>
<el-form-item label="封面类型:">
<el-radio-group size="mini" v-model="formData.type">
<el-radio-group size="mini" v-model="formData.type" @change="changeCover">
<el-radio :label="1">图片</el-radio>
<el-radio :label="2">视频</el-radio>
</el-radio-group>
......@@ -87,18 +99,35 @@
:show-file-list="false"
:before-upload="beforeUploadCoverPic"
>
<img v-if="formData.attachmentUrl2" :src="formData.attachmentUrl2" class="bg-img">
<img
v-if="formData.type == 1 && formData.attachmentUrl2"
:src="formData.attachmentUrl2"
class="bg-img"
>
<video
v-if="formData.type == 2 && formData.attachmentUrl2"
width="100"
controls
class="bg-video"
>
<source :src="formData.attachmentUrl2" type="video/mp4">浏览器不支持mp4
</video>
<img
v-if="!formData.attachmentUrl2"
class="bg-img"
src="../../assets/image/small.png"
>
<!-- <i v-else class="el-icon-plus avatar-uploader-icon"></i> -->
<div class="limit-text">
<div v-show="formData.type == 1" class="limit-text">
<p>尺寸:750*420</p>
<p>限制大小: 2.0 Mb</p>
<p>支持.jpg,.png格式</p>
</div>
<div v-show="formData.type == 2" class="limit-text">
<p></p>
<p>限制大小: 500 Mb</p>
<p>支持.mp4</p>
</div>
</el-upload>
</el-form-item>
<el-form-item label="可下载附件:">
......@@ -125,7 +154,7 @@
</div>
<div class="second-step" v-else-if="active === 1">
<el-tabs v-model="activeName" @tab-click="handleClickTabs">
<el-tab-pane label="设定行政范围" name="first">
<el-tab-pane v-if="idTypeValue == 1" label="设定行政范围" name="first">
<el-row :gutter="20">
<el-col class="rim" :span="12">
<!--
......@@ -216,15 +245,15 @@
:data="tableOrganization"
tooltip-effect="dark"
style="width: 100%"
@selection-change="handleSelectionOrganization"
@selection-change="selectionChangeOrganization"
>
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="name" label="医院名称"></el-table-column>
<el-table-column prop="hospitalLevel" label="医院级别"></el-table-column>
<el-table-column prop="provinceName" label="所属省份"></el-table-column>
<el-table-column prop="cityName" label="所属城市"></el-table-column>
<el-table-column prop="countyName" label="所属区县"></el-table-column>
<el-table-column prop="townName" label="所属街道"></el-table-column>
<el-table-column prop="name" label="医院名称" min-width="100" align="center"></el-table-column>
<el-table-column prop="hospitalLevel" label="医院级别" align="center"></el-table-column>
<el-table-column prop="provinceName" label="所属省份" align="center"></el-table-column>
<el-table-column prop="cityName" label="所属城市" align="center"></el-table-column>
<el-table-column prop="countyName" label="所属区县" align="center"></el-table-column>
<el-table-column prop="townName" label="所属街道" align="center"></el-table-column>
</el-table>
<div class="pagination">
<el-pagination
......@@ -247,17 +276,17 @@
:data="tableDepartment"
tooltip-effect="dark"
style="width: 100%"
@selection-change="handleSelectionChange"
@selection-change="selectionChangeDepartment"
>
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="name" label="科室名称"></el-table-column>
<el-table-column prop="name" label="科室名称" align="center"></el-table-column>
</el-table>
</el-col>
</el-tab-pane>
<el-tab-pane label="设定人员" name="fourth">
<el-form :inline="true" :model="formPersonnel" class="demo-form-inline">
<el-form :inline="true" :model="formPerson" class="demo-form-inline">
<el-form-item label>
<el-select size="mini" v-model="formPersonnel.hospital" placeholder="全部医院">
<el-select size="mini" v-model="formPerson.hospital" placeholder="全部医院">
<el-option
v-for="(item, index) in organizationRank"
:key="index"
......@@ -267,7 +296,7 @@
</el-select>
</el-form-item>
<el-form-item>
<el-select size="mini" v-model="formPersonnel.department" placeholder="全部部门">
<el-select size="mini" v-model="formPerson.department" placeholder="全部部门">
<el-option
v-for="(item, index) in organizationRank"
:key="index"
......@@ -300,24 +329,24 @@
:data="tablePerson"
tooltip-effect="dark"
style="width: 100%"
@selection-change="handleSelectionChange"
@selection-change="selectionChangePerson"
>
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="name" label="人员名称"></el-table-column>
<el-table-column prop="hospitalName" label="所属医院"></el-table-column>
<el-table-column prop="departmentName" label="所属部门"></el-table-column>
<el-table-column prop="provinceName" label="所属省份"></el-table-column>
<el-table-column prop="cityName" label="所属城市"></el-table-column>
<el-table-column prop="countyName" label="所属区县" show-overflow-tooltip></el-table-column>
<el-table-column prop="name" label="人员名称" align="center"></el-table-column>
<el-table-column prop="hospitalName" label="所属医院" align="center"></el-table-column>
<el-table-column prop="departmentName" label="所属部门" align="center"></el-table-column>
<el-table-column prop="provinceName" label="所属省份" align="center"></el-table-column>
<el-table-column prop="cityName" label="所属城市" align="center"></el-table-column>
<el-table-column prop="countyName" label="所属区县" align="center"></el-table-column>
</el-table>
<div class="pagination">
<el-pagination
background
@size-change="handleSizePerson"
@current-change="handleCurrentPerson"
:current-page="formPersonnel.pageNum"
:current-page="formPerson.pageNum"
:page-sizes="[10, 20, 40]"
:page-size="formPersonnel.pageSize"
:page-size="formPerson.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="totalPerson"
></el-pagination>
......@@ -394,7 +423,8 @@
import BreadCrumb from "../../components/breadcrumb.vue";
import { doUpload, getFilePath } from "../../utils/qiniuUtil";
import { returnData } from "../mock";
import { setTimeout } from "timers";
import { mapGetters } from "vuex";
import { openLoading, closeLoading } from "../../utils/utils";
let vm = null;
export default {
components: {
......@@ -418,6 +448,7 @@ export default {
district: "长宁区"
};
return {
idTypeValue: "",
itemOrganization: itemOrganization,
itemPerson: itemPerson,
projectId: null,
......@@ -426,7 +457,7 @@ export default {
curmbSecond: "新建项目",
//页面展示位置
stepData: [true, false, false],
active: 1,
active: 0,
activeName: "first",
//基层信息 数据
imageUrl: "",
......@@ -434,26 +465,46 @@ export default {
projectName: "",
projectBegintime: "",
projectEndtime: "",
duringTime: "",
projectIntro: "",
type: 1,
attachmentUrl1: "",
attachmentUrl2: "",
attachmentUrl3: ""
},
pickerOptions0: {
disabledDate: time => {
if (this.formData.projectEndtime != "") {
return (
time.getTime() > new Date(this.formData.projectEndtime).getTime()
);
}
}
},
pickerOptions1: {
disabledDate: time => {
return (
time.getTime() < new Date(this.formData.projectBegintime).getTime()
); //减去一天的时间代表可以选择同一天;
}
},
fileList: [],
//设定行政范围 数据
allSelectedKeys: [],
updatedTree: false,
defaultProps: {
children: "children",
label: "label",
isLeaf: "isLeaf"
},
//treeData: [],
treeData: [],
tagsRegion: [],
//设定机构 数据
organizationChange: false,
checkTableState: {
multipleOrganization: true,
multipleDepartment: true,
multiplePerson: true
},
updatedOrganization: false,
formOrganization: {
name: "",
region: "",
......@@ -483,29 +534,35 @@ export default {
}
],
hasOrganizationInit: false,
//tableOrganization: Array(10).fill(itemOrganization),
tableOrganization: new Array(),
multipleSelectionOrganization: [],
currentOrganization: 1,
totalOrganization: 10,
pageSizeOrganization: 2,
changedOrganization: {},
//设定科室 数据
firstDepartment: true,
formDepartment: {
grade: ""
},
tableDepartment: [],
multipleSelectionDepartment: [],
updatedDepartment: false,
changedDepartment: {},
//设定人员 数据
formPersonnel: {
formPerson: {
hospital: "",
department: "",
pageNum: 1,
pageSize: 10
},
tablePerson: new Array(),
multipleSelectionPerson: [],
currentPerson: 1,
pageSizePerson: 2,
totalPerson: 10,
updatedPerson: false,
changedPerson: {},
//选择项目组件 数据
optionsComponent: [],
optionsCertificate: [],
......@@ -515,6 +572,7 @@ export default {
certificate: ""
},
tagsComponent: [],
projectStatus: "",
//校验工具 数据
rulesComponent: {
component: [
......@@ -580,15 +638,24 @@ export default {
}
};
},
computed: {
...mapGetters(["_token", "idType"])
},
created() {
vm = this;
this.projectId = vm.getUrlSearch(window.location.href, "projectId"),
(this.projectId = vm.getUrlSearch(window.location.href, "projectId")),
this.editManager();
this.changeOnStep(this.active);
this.getComponentInfo();
this.$nextTick(function() {
this.getComponentInfo();
this.getDepartment();
//this.getDepartment();
this.idTypeValue = vm.idType;
//this.idTypeValue = 2;
if (this.idTypeValue == 2) {
console.log("idType:", vm.idType, " idTypeValue:", this.idTypeValue);
this.activeName = "second";
}
});
},
methods: {
......@@ -610,6 +677,11 @@ export default {
resetForm(formName) {
this.$refs[formName].resetFields();
},
//改变封面类型
changeCover(radio) {
this.formData.attachmentUrl2 = "";
//console.log(radio);
},
//设置编辑数据
setEditData(editData) {
//console.log(editData);
......@@ -618,11 +690,7 @@ export default {
id: vm.getUrlSearch(window.location.href, "projectId"),
projectName: editData.projectData.projectName,
projectBegintime: editData.projectData.projectBegintime,
projectEndtime: editData.projectData.projectBegintime,
duringTime: [
editData.projectData.projectBegintime,
editData.projectData.projectBegintime
],
projectEndtime: editData.projectData.projectEndtime,
projectIntro: editData.projectData.projectIntro,
type: editData.attachmentData[1].attachmentType,
attachmentUrl1: editData.attachmentData[0].attachmentUrl,
......@@ -642,12 +710,13 @@ export default {
let componentEdit = [];
let certificateEdit = 0;
for (let i = 0; i < editData.componentData.length; i++) {
componentEdit.push(editData.componentData[i].id);
componentEdit.push(editData.componentData[i].relevanceId);
}
this.formComponent.component = componentEdit;
this.changeValue(componentEdit);
if (editData.certificateData.length > 0) {
this.formComponent.configure = 1;
this.formComponent.certificate = editData.componentData[0].id;
this.formComponent.certificate = editData.componentData[0].relevanceId;
}
},
//编辑管理
......@@ -659,6 +728,7 @@ export default {
if (res.code == "000000" && res.data.projectData != null) {
let editData = res.data;
this.setEditData(editData);
this.projectStatus = res.data.projectData.projectStatus;
} else {
console.log(res);
}
......@@ -670,8 +740,8 @@ export default {
//console.log(this.formData);
let projectModel = {
projectName: this.formData.projectName,
projectBegintime: this.formData.duringTime[0],
projectEndtime: this.formData.duringTime[1],
projectBegintime: this.formData.projectBegintime,
projectEndtime: this.formData.projectEndtime,
projectIntro: this.formData.projectIntro
};
let attachmentModel = [
......@@ -719,6 +789,12 @@ export default {
vm.POST("portalInfo/insertOrUpdate", postData).then(res => {
if (res.code == "000000") {
console.log(res);
this.active++;
this.stepData = [false, true, false];
this.projectId = res.data.id;
this.projectStatus = res.data.projectStatus;
this.initRange();
this.getDepartment();
}
});
},
......@@ -754,8 +830,9 @@ export default {
let param = {
componentIds: this.formComponent.component,
certificateId: this.formComponent.certificate,
projectId: parseInt(vm.getUrlSearch(window.location.href, "projectId")),
type: type
projectId: this.projectId,
type: type,
status: this.projectStatus
};
vm.POST("portalInfo/componentDraft", param).then(res => {
console.log(res);
......@@ -764,6 +841,7 @@ export default {
title: "成功",
message: "项目创建成功"
});
this.$router.push("item-manager");
} else {
this.$notify({
title: "",
......@@ -803,6 +881,35 @@ export default {
}
} else if (this.active == 1) {
//暂存步骤2
let req = {
projectId: this.projectId,
setKindOfAdministrative: this.getKind("administrative"),
setKindOfOrganization: this.getKind("organization"),
setKindOfDepartment: this.getKind("department"),
setKindOfPeople: this.getKind("person")
};
if (req.setKindOfAdministrative == 3) {
req.scopeOfAdministrative = this.getScope("administrativeUpdate");
}
if (req.setKindOfOrganization == 2 || req.setKindOfOrganization == 3) {
req.scopeOfOrganization = this.getScopeOrganization(
req.setKindOfOrganization
);
}
if (req.setKindOfDepartment == 3) {
req.scopeOfDepartment = this.getScopeDepartment();
}
if (req.setKindOfPeople == 2 || req.setKindOfPeople == 3) {
req.scopeOfPeople = this.getScopePeople(req.setKindOfPeople);
}
vm.POST("scope", req).then(res => {
//移动到选择项目组件
console.log(res);
this.$notify({
title: "",
message: res.message
});
});
} else if (this.active == 2) {
//暂存步骤3
let formName = "formComponent";
......@@ -839,9 +946,9 @@ export default {
if (res.code == "000000") {
//移动到第二页 选择范围
this.insertOrUpdate("add");
this.active++;
this.stepData = [false, true, false];
this.initRange();
// this.active++;
// this.stepData = [false, true, false];
//this.initRange();
//this.checkAllTable();
} else {
this.$message.error("项目名称" + res.message);
......@@ -850,23 +957,44 @@ export default {
} else {
//编辑
this.insertOrUpdate("edit");
this.active++;
this.stepData = [false, true, false];
this.initRange();
// this.active++;
// this.stepData = [false, true, false];
//this.initRange();
}
}
} else if (this.active == 1) {
if (this.idTypeValue == 1) {
//内部管理员
if (this.tagsRegion.length > 0) {
//选择了范围
let req = {
projectId: 54,
setKindOfAdministrative: 3,
scopeOfAdministrative: "000:2|000_110:1",
setKindOfOrganization: 3,
scopeOfOrganization: "2|3|4|5|6|7",
setKindOfDepartment: 3,
scopeOfDepartment: "54",
setKindOfPeople: 1,
scopeOfPeople: ""
projectId: this.projectId,
setKindOfAdministrative: this.getKind("administrative"),
//scopeOfAdministrative: "000:2|000_110:1",
setKindOfOrganization: this.getKind("organization"),
//scopeOfOrganization: "2|3|4|5|6|7",
setKindOfDepartment: this.getKind("department"),
//scopeOfDepartment: "54",
setKindOfPeople: this.getKind("person")
//scopeOfPeople: ""
};
if (req.setKindOfAdministrative == 3) {
req.scopeOfAdministrative = this.getScope("administrativeUpdate");
}
if (
req.setKindOfOrganization == 2 ||
req.setKindOfOrganization == 3
) {
req.scopeOfOrganization = this.getScopeOrganization(
req.setKindOfOrganization
);
}
if (req.setKindOfDepartment == 3) {
req.scopeOfDepartment = this.getScopeDepartment();
}
if (req.setKindOfPeople == 2 || req.setKindOfPeople == 3) {
req.scopeOfPeople = this.getScopePeople(req.setKindOfPeople);
}
vm.POST("scope", req).then(res => {
if (res.code == "000000") {
//移动到选择项目组件
......@@ -880,6 +1008,15 @@ export default {
});
}
});
} else {
//没有选择范围
vm.$message({
showClose: true,
message: "选择项目范围后才能进行下一步操作",
type: "error"
});
}
}
}
},
//图片上传
......@@ -909,17 +1046,18 @@ export default {
if (this.formData.type == 1) {
this.beforeAvatarUpload(file, fileLimit);
} else {
console.log(file);
this.beforeUploadMp4(file);
}
},
//上传PDF
beforeUploadPDF(file) {
console.log(file);
console.log(this.fileList);
// console.log(file);
// console.log(this.fileList);
const isPDF = file.type === "application/pdf";
if (!isPDF) {
this.$message.error("请上传PDF格式文件!");
} else {
openLoading(vm);
doUpload(
vm,
file,
......@@ -928,6 +1066,7 @@ export default {
"progress1",
1
).then(function(path) {
closeLoading(vm);
console.log(path);
let fileItem = {
name: path.name,
......@@ -942,7 +1081,32 @@ export default {
//this.fileList3 = fileList.slice(-3);
},
//上传mp4
beforeUploadMp4(file) {},
beforeUploadMp4(file) {
console.log(file);
const isMP4 = file.type === "video/mp4";
const isLt = file.size / 1024 / 1024 < 500;
if (!isLt) {
this.$message.error("上传视频大小不能超过500M !");
}
if (!isMP4) {
this.$message.error("请上传MP4格式文件!");
} else {
openLoading(vm);
doUpload(
vm,
file,
getFilePath(file, null),
"preview4",
"progress1",
1
).then(function(path) {
closeLoading(vm);
console.log(path);
vm.formData.attachmentUrl2 = path.fullPath;
vm.$message.success("上传成功");
});
}
},
//上传图片校验
beforeAvatarUpload(file, fileLimit) {
const isJPG = file.type === "image/jpeg";
......@@ -969,6 +1133,7 @@ export default {
) {
vm.$message.info("上传图片长宽不合适,请重新上传");
} else {
openLoading(vm);
doUpload(
vm,
file,
......@@ -977,6 +1142,7 @@ export default {
"progress1",
1
).then(function(path) {
closeLoading(vm);
console.log(path);
vm.formData[fileLimit.key] = path.fullPath;
vm.$message.success("上传成功");
......@@ -1009,13 +1175,15 @@ export default {
},
//第二步 选择范围 初始化
initRange() {
let projectId = vm.getUrlSearch(window.location.href, "projectId");
let projectId = this.projectId;
if (projectId == null) {
//新建
} else {
//编辑
if(this.idTypeValue == 1) {
this.getAdministrative();
}
}
},
//切换tabs
handleClickTabs(tab, event) {
......@@ -1025,6 +1193,10 @@ export default {
this.getOrganization();
} else if (tabName == "third") {
//设定科室
// if (this.checkTableState.multipleDepartment && this.firstDepartment) {
// this.$refs.multipleDepartment.toggleAllSelection();
// this.firstDepartment = false;
// }
} else if (tabName == "fourth") {
//设定人员
this.getPeople();
......@@ -1047,9 +1219,11 @@ export default {
//查询行政范围(树)
getAdministrative() {
let req = {
projectId: 54
projectId: this.projectId
};
openLoading(vm);
vm.GET("scope/v1/administrative", req).then(res => {
closeLoading(vm);
if (res.code == "000000") {
//console.log(res.data);
let administrativeAll = res.data.administrativeAll;
......@@ -1057,7 +1231,7 @@ export default {
this.treeData = [];
this.treeData[0] = administrativeAll;
this.setTreeData(administrative);
console.log("treeData", this.treeData);
//console.log("treeData", this.treeData);
}
});
},
......@@ -1071,7 +1245,7 @@ export default {
for (let i = 0; i < nodeData.length; i++) {
for (let j = 0; j < allSelectedKeys.length; j++) {
if (
allSelectedKeys[j].type == 2 &&
allSelectedKeys[j].type == 1 &&
nodeData[i].id == allSelectedKeys[j].key
) {
let tagObj = {};
......@@ -1088,7 +1262,10 @@ export default {
console.log("node:", node);
if (data.children.length == 0) {
let id = data.id + "add";
const newChild = [{ id: id, label: "testtest", children: [] },{ id: id, label: "22", children: [] }];
const newChild = [
{ id: id, label: "testtest", children: [] },
{ id: id, label: "22", children: [] }
];
//data.children.push(newChild);
let req = {
......@@ -1147,18 +1324,20 @@ export default {
halfCheckedKeys = this.$refs.tree.getHalfCheckedKeys(),
savedCheckedKeys = this.handlerCheckedData(oldData, checkedKeys).map(
key => {
return { type: 2, key: key };
return { type: 1, key: key };
}
),
savedHalfCheckedKeys = halfCheckedKeys.map(key => {
return { type: 1, key: key };
return { type: 2, key: key };
}),
allSelectedKeys = savedCheckedKeys.concat(savedHalfCheckedKeys);
this.allSelectedKeys = allSelectedKeys;
this.initCheckList(allSelectedKeys);
//console.log("allSelectedKeys", allSelectedKeys);
//改变行政范围后,更新设定机构和设定人员
this.updateOrganizationAndPerson(allSelectedKeys);
this.organizationChange = true;
this.updatedTree = true;
},
// 递归删除列表中所有子节点
delSubKeysByNode(node, checkedKeys) {
......@@ -1211,90 +1390,403 @@ export default {
this.tagsRegion.splice(this.tagsRegion.indexOf(tag), 1);
this.setCheckedKeys(this.tagsRegion);
},
//获取反选数据
getDifference(a, b) {
if (a.constructor === Array && b.constructor === Array) {
let set1 = new Set(a);
let set2 = new Set(b);
return Array.from(new Set([...set1].filter(x => !set2.has(x))));
}
return null;
},
getReverseData(data, check) {
let reverse = [];
//console.log('data',data,'check',check);
for (let i = 0; i < data.length; i++) {
for (let j = 0; j < check.length; j++) {
if (data[i].id !== check[j].id) {
reverse.push(data[i]);
}
}
}
return reverse;
},
//改变 设定机构选项
handleSelectionOrganization(val) {
selectionChangeOrganization(val) {
this.multipleSelectionOrganization = val;
//console.log(this.multipleSelectionOrganization);
this.updatePerson(this.multipleSelectionOrganization);
//console.log(val.length , this.formOrganization.pageSize , this.updatedOrganization)
if (
val.length != 0 &&
val.length != this.formOrganization.pageSize &&
this.updatedOrganization == false
) {
this.updatedOrganization = true;
console.log("机构被更新", this.updatedOrganization);
}
if (this.updatedOrganization == true) {
this.changedOrganization[this.formOrganization.pageNum] = [];
this.changedOrganization[
this.formOrganization.pageNum
][0] = this.multipleSelectionOrganization;
let reverse = this.getDifference(
this.tableOrganization,
this.multipleSelectionOrganization
);
this.changedOrganization[this.formOrganization.pageNum][1] = reverse;
console.log("check机构:", this.changedOrganization);
}
},
//改变 table的check状态
handleSelectionChange(val) {
this.multipleSelection = val;
//console.log(this.multipleSelection);
//改变机构 table 的check状态
selectionChangeDepartment(val) {
this.multipleSelectionDepartment = val;
//console.log(this.multipleSelectionDepartment);
},
//改变人员 table的check状态
selectionChangePerson(val) {
this.multipleSelectionPerson = val;
//console.log(this.multipleSelectionPerson);
if (
val.length != 0 &&
val.length != this.formPerson.pageSize &&
this.updatedPerson == false
) {
this.updatedPerson = true;
console.log("人员被更新", this.updatedPerson);
}
if (this.updatedPerson == true) {
this.changedPerson[this.formPerson.pageNum] = [];
this.changedPerson[
this.formPerson.pageNum
][0] = this.multipleSelectionPerson;
let reverse = this.getDifference(
this.tablePerson,
this.multipleSelectionPerson
);
this.changedPerson[this.formPerson.pageNum][1] = reverse;
console.log("check人员:", this.changedPerson);
}
},
//设定机构table全选
checkAll(flag, name) {
console.log(flag + " " + name);
//console.log(flag + " " + name);
if (name == "multipleOrganization") {
this.changedOrganization = {};
} else if (name == "multiplePerson") {
this.changedPerson = {};
}
if (flag === true) {
if (this.checkTableState[name] === false) {
this.$refs[name].toggleAllSelection();
this.checkTableState[name] = true;
}
} else {
//this.$refs[name].clearSelection();
this.$refs[name].clearSelection();
this.checkTableState[name] = false;
}
},
//获取用户类型
getKind(type) {
let kind = 0;
if(type == 'organization') {
if(this.organizationChange) {
if (type == "administrative") {
//console.log('this.tagsRegion',this.tagsRegion);
if (this.tagsRegion.length > 0) {
kind = 3;
}
} else if (type == "organization") {
if (this.checkTableState.multipleOrganization == true) {
//设置机构类别0:无 1:全选 2:去掉 3:选中
kind = 1;
for (let key in this.changedOrganization) {
if (this.changedOrganization[key][1].length > 0) {
kind = 2;
}
}
} else {
//全部不选
kind = 0;
for (let key in this.changedOrganization) {
if (this.changedOrganization[key][0].length > 0) {
kind = 3;
}
}
}
} else if (type == "department") {
if (this.multipleSelectionDepartment.length > 0) {
kind = 3;
}
} else if (type == "person") {
if (this.checkTableState.multiplePerson == true) {
//设置机构类别0:无 1:全选 2:去掉 3:选中
kind = 1;
for (let key in this.changedPerson) {
if (this.changedPerson[key][1].length > 0) {
kind = 2;
}
}
} else {
//全部不选
kind = 0;
for (let key in this.changedPerson) {
if (this.changedPerson[key][0].length > 0) {
kind = 3;
}
}
}
} else if(type == '') {
}
return kind;
},
//设定的行政范围内容
getScope(type) {
let scope = "";
if (type == "administrative") {
for (let i = 0; i < this.tagsRegion.length; i++) {
scope += this.tagsRegion[i].key;
if (i < this.tagsRegion.length - 1) {
scope += "|";
}
}
} else if (type == "administrativeUpdate") {
//console.log("allSelectedKeys", this.allSelectedKeys);
for (let i = 0; i < this.allSelectedKeys.length; i++) {
scope +=
this.allSelectedKeys[i].key + ":" + this.allSelectedKeys[i].type;
if (i < this.allSelectedKeys.length - 1) {
scope += "|";
}
}
}
//console.log(scope);
return scope;
},
//查询机构列表
getOrganization() {
let req = {
projectId: this.projectId,
setKind: this.getKind('organization'),
setKind: this.getKind("administrative"),
// scope: "000_110",
pageNum: this.formOrganization.pageNum,
pageSize: this.formOrganization.pageSize
};
if(req.setKind == 3) {
req.scope = '000_110';
console.log('tagsRegion',this.tagsRegion);
if (req.setKind == 3) {
req.scope = this.getScope("administrative");
}
vm.GET("scope/v1/organization", req).then(res => {
openLoading(vm);
vm.POST("scope/v1/organization", req).then(res => {
closeLoading(vm);
if (res.code == "000000") {
console.log(res.data);
//console.log(res.data);
this.tableOrganization = res.data.organizationList;
this.totalOrganization = res.data.total;
console.log("changedOrganization", this.changedOrganization);
//console.log('机构状态:'+this.checkTableState.multipleOrganization);
if (this.checkTableState.multipleOrganization == true) {
//全选
if (
this.updatedOrganization == true &&
this.changedOrganization[this.formOrganization.pageNum] !=
undefined
) {
//机构table 勾选被更新过
let rowCheck = this.changedOrganization[
this.formOrganization.pageNum
][0];
//console.log("rowCheck:",rowCheck);
rowCheck.forEach(row => {
// console.log("row", row);
let rowItem = {};
for (let i = 0; i < this.tableOrganization.length; i++) {
if (this.tableOrganization[i].id == row.id) {
rowItem = this.tableOrganization[i];
}
}
this.$nextTick(function() {
this.$refs.multipleOrganization.toggleRowSelection(rowItem);
});
});
} else {
this.$refs.multipleOrganization.toggleAllSelection();
}
} else {
//全不选
if (
this.updatedOrganization == true &&
this.changedOrganization[this.formOrganization.pageNum] !=
undefined
) {
let rowCheck = this.changedOrganization[
this.formOrganization.pageNum
][0];
//console.log("rowCheck:",rowCheck);
rowCheck.forEach(row => {
// console.log("row", row);
let rowItem = {};
for (let i = 0; i < this.tableOrganization.length; i++) {
if (this.tableOrganization[i].id == row.id) {
rowItem = this.tableOrganization[i];
}
}
this.$nextTick(function() {
this.$refs.multipleOrganization.toggleRowSelection(rowItem);
});
});
}
}
}
});
},
//获取科室信息
getDepartment() {
let req = {
projectId: vm.getUrlSearch(window.location.href, "projectId")
projectId: this.projectId
};
vm.GET("scope/v1/department", req).then(res => {
if (res.code == "000000") {
this.tableDepartment = res.data.department;
let rowCheck = this.tableDepartment;
rowCheck.forEach(row => {
if (row.status == 1) {
this.$nextTick(function() {
this.$refs.multipleDepartment.toggleRowSelection(row);
});
}
});
}
});
},
//获取机构id列表
getScopeOrganization(type) {
let scope = "";
if (type == 2) {
for (let key in this.changedOrganization) {
let organizationItem = this.changedOrganization[key][1];
console.log("organizationItem:", organizationItem);
for (let i = 0; i < organizationItem.length; i++) {
scope += organizationItem[i].id + "|";
}
}
} else if (type == 3) {
for (let key in this.changedOrganization) {
let organizationItem = this.changedOrganization[key][0];
for (let i = 0; i < organizationItem.length; i++) {
scope += organizationItem[i].id + "|";
}
}
}
scope = scope.substring(0, scope.length - 1);
console.log("scope", scope);
return scope;
},
//获取人员id列表
getScopePeople(type) {
let scope = "";
if (type == 2) {
for (let key in this.changedPerson) {
let peopleItem = this.changedPerson[key][1];
//console.log("peopleItem:", peopleItem);
for (let i = 0; i < peopleItem.length; i++) {
scope += peopleItem[i].id + "|";
}
}
} else if (type == 3) {
for (let key in this.changedPerson) {
let peopleItem = this.changedPerson[key][0];
for (let i = 0; i < peopleItem.length; i++) {
scope += peopleItem[i].id + "|";
}
}
}
scope = scope.substring(0, scope.length - 1);
console.log("scope people", scope);
return scope;
},
//获取科室列表
getScopeDepartment() {
let scope = "";
for (let i = 0; i < this.multipleSelectionDepartment.length; i++) {
scope += this.multipleSelectionDepartment[i].id + "|";
}
scope = scope.substring(0, scope.length - 1);
return scope;
},
//查询人员列表
getPeople() {
let req = {
projectId: 1,
setKindOfAdministrative: 3,
scopeOfAdministrative: "000_110",
setKindOfOrganization: 3,
scopeOfOrganization: "2|3|4|5|6|7",
setKindOfDepartment: 3,
scopeOfDepartment: 54,
pageNum: this.formPersonnel.pageNum,
pageSize: this.formPersonnel.pageSize
projectId: this.projectId,
setKindOfAdministrative: this.getKind("administrative"),
//scopeOfAdministrative: "000_110",
setKindOfOrganization: this.getKind("organization"),
//scopeOfOrganization: "2|3|4|5|6|7",
setKindOfDepartment: this.getKind("department"),
//scopeOfDepartment: 54,
pageNum: this.formPerson.pageNum,
pageSize: this.formPerson.pageSize
};
vm.GET("scope/v1/people", req).then(res => {
if (req.setKindOfAdministrative == 3) {
req.scopeOfAdministrative = this.getScope("administrative");
}
if (req.setKindOfOrganization == 2 || req.setKindOfOrganization == 3) {
req.scopeOfOrganization = this.getScopeOrganization(
req.setKindOfOrganization
);
}
if (req.setKindOfDepartment == 3) {
req.scopeOfDepartment = this.getScopeDepartment();
}
openLoading(vm);
vm.POST("scope/v1/people", req).then(res => {
closeLoading(vm);
if (res.code == "000000") {
console.log(res.code);
console.log(res);
this.tablePerson = res.data.people;
this.totalPerson = res.data.total;
if (this.checkTableState.multiplePerson == true) {
//全选
if (
this.updatedPerson == true &&
this.changedPerson[this.formPerson.pageNum] != undefined
) {
//机构table 勾选被更新过
let rowCheck = this.changedPerson[this.formPerson.pageNum][0];
//console.log("rowCheck:",rowCheck);
rowCheck.forEach(row => {
// console.log("row", row);
let rowItem = {};
for (let i = 0; i < this.tablePerson.length; i++) {
if (this.tablePerson[i].id == row.id) {
rowItem = this.tablePerson[i];
}
}
this.$nextTick(function() {
this.$refs.multiplePerson.toggleRowSelection(rowItem);
});
});
} else {
this.$refs.multiplePerson.toggleAllSelection();
}
} else {
//person 全不选
if (
this.updatedPerson == true &&
this.changedPerson[this.formPerson.pageNum] != undefined
) {
let rowCheck = this.changedPerson[this.formPerson.pageNum][0];
//console.log("rowCheck:",rowCheck);
rowCheck.forEach(row => {
// console.log("row", row);
let rowItem = {};
for (let i = 0; i < this.tablePerson.length; i++) {
if (this.tablePerson[i].id == row.id) {
rowItem = this.tablePerson[i];
}
}
this.$nextTick(function() {
this.$refs.multiplePerson.toggleRowSelection(rowItem);
});
});
}
}
}
});
},
......@@ -1305,18 +1797,18 @@ export default {
this.formOrganization.pageSize = val;
},
handleCurrentOrganization(val) {
console.log(`当前页: ${val}`);
//console.log(`当前页: ${val}`);
this.formOrganization.pageNum = val;
this.getOrganization();
},
//角色table修改
handleSizePerson(val) {
console.log(`每页 ${val} 条`);
this.formPersonnel.pageSize = val;
this.formPerson.pageSize = val;
},
handleCurrentPerson(val) {
console.log(`当前页: ${val}`);
this.formPersonnel.pageNum = val;
this.formPerson.pageNum = val;
this.getPeople();
},
//行政范围改变更新设定机构和设定人员
......@@ -1334,7 +1826,7 @@ export default {
//选择项目组件
//改变组件选择情况
changeValue(value) {
//console.log(this.formComponent.component);
//console.log('value',value,'optionsComponent',this.optionsComponent);
this.tagsComponent = [];
let len = 0;
for (let i = 0; i < value.length; i++) {
......@@ -1347,6 +1839,7 @@ export default {
}
}
}
//console.log('this.tagsComponent',this.tagsComponent);
},
//选择组件数据绑定
handleCloseComponent(tag) {
......@@ -1420,6 +1913,11 @@ export default {
width: 84px;
height: 100px;
}
.bg-video {
float: left;
width: 100px;
height: 100px;
}
.limit-text {
float: left;
margin-left: 10px;
......@@ -1447,6 +1945,12 @@ export default {
.el-tree-node__expand-icon {
display: none;
}
.el-table__header-wrapper {
.el-checkbox__inner {
//display: none;
//visibility: hidden;
}
}
.department {
margin-top: 20px;
border: 1px solid #dddddd;
......
......@@ -17,8 +17,8 @@
<div class="btn-container">
<el-button v-if="stepNum == 1 && (componentStatus == 1 || !componentStatus)" @click="storageAndNext(1)" type="default" size="small">暂存</el-button>
<el-button v-if="stepNum == 1" @click="storageAndNext(2)" type="primary" size="small" style="margin-left:0;">下一步</el-button>
<el-button v-if="stepNum == 2 && (componentStatus == 1 || !componentStatus)" @click="finishConponent(1)" :disabled="resultFlag == 2" type="default" size="small">暂存</el-button>
<el-button v-if="stepNum == 2" @click="finishConponent(2)" :disabled="resultFlag == 2" type="primary" size="small" style="margin-left:0;">完成</el-button>
<el-button v-if="stepNum == 2 && (componentStatus == 1 || !componentStatus)" :disabled="conditionSelect" @click="finishConponent(1)" type="default" size="small">暂存</el-button>
<el-button v-if="stepNum == 2" @click="finishConponent(2)" :disabled="conditionSelect" type="primary" size="small" style="margin-left:0;">完成</el-button>
</div>
</div>
<div class="first-step" v-if="stepNum == 1">
......@@ -59,7 +59,7 @@
</el-col>
<el-col :span="10" v-if="hasCertificate">
<el-form-item label="选择证书" prop="certificateId">
<el-select v-model="portalComponent.certificateId" @change="selectChange" placeholder="请选择资源包" style="width:60%;">
<el-select v-model="portalComponent.certificateId" @change="selectChange" placeholder="请选择资源包" style="width: 352px;">
<el-option
v-for="(item,index) in certificateIdSelect"
:key="index"
......@@ -84,23 +84,23 @@
</div>
<div class="" v-if="stepNum == 2">
<div class="model-btn">
<el-button v-if="idType == 1" type="primary" size="small" @click="addModule">添加空白模块</el-button>
<el-button type="primary" size="small" @click="addFromModule" style="margin-left:0;">从预设模块添加</el-button>
<el-button v-if="idType == 1" :disabled="conditionSelect" type="primary" size="small" @click="addModule">添加空白模块</el-button>
<el-button :disabled="conditionSelect" type="primary" size="small" @click="addFromModule" style="margin-left:0;">从预设模块添加</el-button>
</div>
<div class="tab-content">
<el-tabs type="card" v-model="firstTab" closable @tab-remove="removeTab">
<el-tabs type="card" v-model="firstTab" :closable="!conditionSelect" @tab-remove="removeTab">
<el-tab-pane v-for="(item,index) in componentList.moduleModelList" :key="index" :label="'模块' + parseInt(index + 1)" :name='"" + parseInt(index + 1)'>
<div>
<el-form ref="moduleForm" :model="item" :rules="moduleRules" label-suffix=":" label-width="130px" style="width:100%;">
<el-row>
<el-col :span="10">
<el-form-item label="模块名称" prop="name">
<el-input v-model="item.name" size="mini" placeholder="请选择模块名称" style="width:288px;"></el-input>
<el-input v-model="item.name" :disabled="conditionSelect || idType == 2 || item.moduleType == 2 || (item.id != '' && item.openFlag == 2)" size="mini" placeholder="请选择模块名称" style="width:288px;"></el-input>
</el-form-item>
</el-col>
<el-col :span="10" v-if="idType == 1">
<el-form-item label="是否对外开放" prop="openFlag">
<el-radio-group v-model="item.openFlag" @change="selectIsOpen(index)" :disabled="item.moduleType == 2 || (item.id != '' && item.openFlag == 2)">
<el-radio-group v-model="item.openFlag" @change="selectIsOpen(index)" :disabled="conditionSelect || item.moduleType == 2 || (item.id != '' && item.openFlag == 2)">
<el-radio :label="2" @change="moduleOpenChange"></el-radio>
<el-radio :label="1" @change="moduleOpenChange"></el-radio>
</el-radio-group>
......@@ -111,7 +111,7 @@
<div class="template-btn" v-if="idType == 1">
<span class="word-size">添加一个模板</span>
<el-button
:disabled="item.moduleType == 2 || (item.id != '' && item.openFlag == 2)"
:disabled="conditionSelect || item.moduleType == 2 || (item.id != '' && item.openFlag == 2)"
v-for="(_item,_index) in templateDataList"
:key="_index"
type="primary"
......@@ -125,7 +125,7 @@
<div class="template-content-div">
<div class="title">
{{item1.name}}
<span v-if="item.moduleType == 1 && (item.id == '' || (item.id != '' && item.openFlag == 1)) && idType == 1">
<span v-if="conditionAnd && item.moduleType == 1 && (item.id == '' || (item.id != '' && item.openFlag == 1)) && idType == 1">
变更顺序:
<i class="el-icon-caret-bottom" @click="sortUp(index,index1)" style="font-size:17px;"></i>
<i class="el-icon-caret-top" @click="sortDown(index,index1)" style="font-size:17px;"></i>
......@@ -141,15 +141,15 @@
<el-col :span="10" class="item-icon">
<span class="require">*</span>
<el-form-item label="考试名称">
<el-input v-model="item3.content1" :disabled="item.moduleType == 2 || (item.id != '' && item.openFlag == 2) || idType == 2" size="mini" maxlength='30' placeholder="请输入考试名称" style="width:288px;"></el-input>
<span v-if="item2.numFlag == 2 && index3 == 0 && item.moduleType == 1 && idType == 1 && (item.id == '' || (item.id != '' && item.openFlag == 1))"><i class="el-icon-circle-plus" @click="addMatterCourse(index,index1,index2)" style="color:#449284;"></i></span>
<span v-if="item2.numFlag == 2 && index3 > 0 && item.moduleType == 1 && idType == 1 && (item.id == '' || (item.id != '' && item.openFlag == 1))"><i class="el-icon-delete" @click="deleteMatterCourse(index,index1,index2,index3)" style="color:red;"></i></span>
<el-input v-model="item3.content1" :disabled="conditionSelect || item.moduleType == 2 || (item.id != '' && item.openFlag == 2) || idType == 2" size="mini" maxlength='30' placeholder="请输入考试名称" style="width:288px;"></el-input>
<span v-if="conditionAnd && item2.numFlag == 2 && index3 == 0 && item.moduleType == 1 && idType == 1 && (item.id == '' || (item.id != '' && item.openFlag == 1))"><i class="el-icon-circle-plus" @click="addMatterCourse(index,index1,index2)" style="color:#449284;"></i></span>
<span v-if="conditionAnd && item2.numFlag == 2 && index3 > 0 && item.moduleType == 1 && idType == 1 && (item.id == '' || (item.id != '' && item.openFlag == 1))"><i class="el-icon-delete" @click="deleteMatterCourse(index,index1,index2,index3)" style="color:red;"></i></span>
</el-form-item>
</el-col>
<el-col :span="10" class="item-icon">
<span class="require">*</span>
<el-form-item label="关联考试">
<el-select v-model="item3.content2" @focus="examIDfocus(index,index1,index2,index3)" @change="changeExamID" :disabled="item.moduleType == 2 || idType == 2 || (item.id != '' && item.openFlag == 2)" size="mini" placeholder="请选择考试ID" style="width:288px;">
<el-select v-model="item3.content2" @focus="examIDfocus(index,index1,index2,index3)" @change="changeExamID" :disabled="conditionSelect || item.moduleType == 2 || idType == 2 || (item.id != '' && item.openFlag == 2)" size="mini" placeholder="请选择考试ID" style="width:288px;">
<el-option
v-for="(itemTest,indexTest) in testIdSelect"
:key="indexTest"
......@@ -164,7 +164,7 @@
<el-col :span="10" class="item-icon">
<span class="require">*</span>
<el-form-item label="配置证书">
<el-radio-group v-model="item3.certificateFlag" :disabled="item.moduleType == 2 || idType == 2 || (item.id != '' && item.openFlag == 2)">
<el-radio-group v-model="item3.certificateFlag" :disabled="conditionSelect || item.moduleType == 2 || idType == 2 || (item.id != '' && item.openFlag == 2)">
<el-radio :label="2"></el-radio>
<el-radio :label="1"></el-radio>
</el-radio-group>
......@@ -173,7 +173,7 @@
<el-col :span="10" v-if="item3.certificateFlag == 2" class="item-icon">
<span class="require">*</span>
<el-form-item label="选择证书">
<el-select v-model="item3.content3" :disabled="item.moduleType == 2 || idType == 2 || (item.id != '' && item.openFlag == 2)" size="mini" placeholder="请选择证书" style="width:288px;">
<el-select v-model="item3.content3" :disabled="conditionSelect || item.moduleType == 2 || idType == 2 || (item.id != '' && item.openFlag == 2)" size="mini" placeholder="请选择证书" style="width:288px;">
<el-option
v-for="(itemCertificate,indexCertificate) in certificateIdSelect"
:key="indexCertificate"
......@@ -193,15 +193,15 @@
<el-col :span="10" class="item-icon">
<span class="require">*</span>
<el-form-item label="课程名称">
<el-input v-model="item3.content1" :disabled="item.moduleType == 2 || idType == 2 || (item.id != '' && item.openFlag == 2)" size="mini" maxlength='30' placeholder="请输入课程名称" style="width:288px;"></el-input>
<span v-if="item2.numFlag == 2 && index3 == 0 && item.moduleType == 1 && idType == 1 && (item.id == '' || (item.id != '' && item.openFlag == 1))"><i class="el-icon-circle-plus" @click="addMatterCourse(index,index1,index2)" style="color:#449284;"></i></span>
<span v-if="item2.numFlag == 2 && index3 > 0 && item.moduleType == 11 && idType == 1 && (item.id == '' || (item.id != '' && item.openFlag == 1))"><i class="el-icon-delete" @click="deleteMatterCourse(index,index1,index2,index3)" style="color:red;"></i></span>
<el-input v-model="item3.content1" :disabled="conditionSelect || item.moduleType == 2 || idType == 2 || (item.id != '' && item.openFlag == 2)" size="mini" maxlength='30' placeholder="请输入课程名称" style="width:288px;"></el-input>
<span v-if="conditionAnd && item2.numFlag == 2 && index3 == 0 && item.moduleType == 1 && idType == 1 && (item.id == '' || (item.id != '' && item.openFlag == 1))"><i class="el-icon-circle-plus" @click="addMatterCourse(index,index1,index2)" style="color:#449284;"></i></span>
<span v-if="conditionAnd && item2.numFlag == 2 && index3 > 0 && item.moduleType == 1 && idType == 1 && (item.id == '' || (item.id != '' && item.openFlag == 1))"><i class="el-icon-delete" @click="deleteMatterCourse(index,index1,index2,index3)" style="color:red;"></i></span>
</el-form-item>
</el-col>
<el-col :span="10" class="item-icon">
<span class="require">*</span>
<el-form-item label="关联课程">
<el-select v-model="item3.content2" @focus="courseIDfocus(index,index1,index2,index3)" @change="changeCourseID" :disabled="item.moduleType == 2 || idType == 2 || (item.id != '' && item.openFlag == 2)" size="mini" placeholder="请选择课程ID" style="width:288px;">
<el-select v-model="item3.content2" @focus="courseIDfocus(index,index1,index2,index3)" @change="changeCourseID" :disabled="conditionSelect || item.moduleType == 2 || idType == 2 || (item.id != '' && item.openFlag == 2)" size="mini" placeholder="请选择课程ID" style="width:288px;">
<el-option
v-for="(itemCourse,indexCourse) in courseIdSelect"
:key="indexCourse"
......@@ -320,7 +320,7 @@ let validateRepeatWord = function(rule, value, callback, message) {
let validateModuleName = function(rule, value, callback, message) {
const reg = /^[\u4e00-\u9fa5]{2,20}$/
if(!reg.test(value)) {
callback(new Error('输入长度为2-20个中文'))
callback(new Error('输入长度为2-20个字符'))
return
}
for(let i = 0;i<vm.componentList.moduleModelList.length;i++) {
......@@ -362,6 +362,8 @@ export default {
componentId: '',
componentStatus: '',
resultFlag: '',
conditionSelect: false,
conditionAnd: false,
isStorage: false,
dialogTitle: '选择模板',
curmbFirst: '教培项目',
......@@ -411,7 +413,7 @@ export default {
"name": [
{ required: true, message: '输入组件名称', trigger: 'blur' },
{ validator: function(rule, value, callback) {
validateRepeatWord(rule, value, callback, '输入长度为2-20个中文')
validateRepeatWord(rule, value, callback, '输入长度为2-20个字符')
},
trigger: 'blur' }
],
......@@ -455,10 +457,12 @@ export default {
created() {
vm = this
vm.componentId = vm.$route.query.id
vm.componentStatus = vm.$route.query.status
vm.resultFlag = vm.$route.query.resultFlag // 判断可编辑基础信息还是全部信息 1 为全部 2 为基础
vm.componentStatus = vm.$route.query.status // 3 启用 4 禁用
vm.resultFlag = vm.$route.query.resultFlag // 判断可编辑范围是基础信息还是全部信息 1 为全部 2 为基础
vm.getCertificateList() // 获取证书列表
vm.componentBasicInfo() // 根据ID查询组件基本信息
vm.conditionSelect = vm.resultFlag == 2 || vm.componentStatus == 3 || vm.componentStatus == 4
vm.conditionAnd = vm.resultFlag == 1 && vm.componentStatus != 3 && vm.componentStatus != 4
},
methods: {
// 根据ID查询组件基本信息
......@@ -555,6 +559,8 @@ export default {
vm.getModuleData()
vm.getTestListData()
vm.getCourseData()
} else {
vm.$message.info("暂存成功!")
}
}
})
......@@ -564,13 +570,10 @@ export default {
const isJPG = file.type === 'image/jpeg'
const isPNG = file.type === 'image/png'
const isLt2M = file.size / 1024 / 1024 < 2
if (!isJPG && !isPNG) {
if ( !isJPG && !isPNG && !isLt2M ) {
vm.$message.error('图片不符合规范,请根据规范上传图片')
return;
}
if (!isLt2M) {
vm.$message.error('图片不符合规范,请根据规范上传图片');
}
let _img = new FileReader()
_img.readAsDataURL(file)
_img.onload = function(theFile) {
......@@ -831,6 +834,7 @@ export default {
vm.GET('portalComponent/deletePortalPartById',{id: vm.componentList.moduleModelList[i].templetModelList[j].partModelList[q].partContentModelList[index3].id}).then((res) => {
if( res.code == '000000') {
vm.$message.info('成功删除模板元件内容!')
vm.getModuleData()
}
})
}else{
......@@ -887,12 +891,12 @@ export default {
return
}
if(isEmptyList(vm.componentList.moduleModelList[i].templetModelList)) {
vm.$message.info("请给第"+ parseInt(i + 1) +"个模块添加有效模板后再保存")
vm.$message.info("模块内容不能为空")
return
}
for(let j = 0; j < vm.componentList.moduleModelList[i].templetModelList.length; j++) {
for(let k = 0; k < vm.componentList.moduleModelList[i].templetModelList[j].partModelList.length; k++) {
if(!vm.componentList.moduleModelList[i].templetModelList[j].partModelList[k].partContentModelList[0].content1 || !vm.componentList.moduleModelList[i].templetModelList[j].partModelList[k].partContentModelList[0].content2) {
if(!vm.componentList.moduleModelList[i].templetModelList[j].partModelList[k].partContentModelList[0].content1) {
vm.$message.info( vm.componentList.moduleModelList[i].templetModelList[j].name + "中名称为空,请添加内容后保存")
return
}
......@@ -925,6 +929,8 @@ export default {
if(res.code == "000000") {
if(flag == 2) {
vm.$router.push({ path: 'item-component' })
} else {
vm.$message.info("暂存成功!")
}
} else {
vm.$message({
......@@ -940,9 +946,19 @@ export default {
vm.GET('portalComponent/ModuleList',{openFlag: 2}).then((res) => {
if( res.code == '000000') {
vm.resourceArray = res.data.moduleModelList
for(let i = 0; i < vm.componentList.moduleModelList.length; i++) {
vm.compareArray(vm.componentList.moduleModelList[i].id)
}
}
})
},
compareArray(id) {
for(let j = 0; j < vm.resourceArray.length; j++) {
if( id == vm.resourceArray[j].id) {
vm.resourceArray.splice(j,1)
}
}
},
// 选择资源包
selectChange(val) {
if(vm.resourceArray && vm.resourceArray.length > 0) {
......@@ -957,36 +973,13 @@ export default {
// 确定选择预设模块
submitDialog() {
vm.columnFormVisible = false
let flag = true
if(isNotEmptyUtils(vm.dialogData)) {
for(let i = 0; i < vm.componentList.moduleModelList.length; i++) {
if(vm.componentList.moduleModelList[i].id == vm.dialogData.id) {
flag = false
vm.$confirm('该模块已经被添加到本组件,是否还需要再添加一次?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
showClose: false,
type: 'warning'
}).then(() => {
vm.dialogData.moduleType = 2
vm.dialogData.mappingId = null
vm.componentList.moduleModelList.push(vm.dialogData)
vm.firstTab = vm.componentList.moduleModelList.length + ''
}).catch(() => {
vm.$message({
type: 'info',
message: '已取消选择'
})
})
break
}
}
if(flag) {
vm.dialogData.moduleType = 2
vm.dialogData.mappingId = null
vm.componentList.moduleModelList.push(vm.dialogData)
vm.firstTab = vm.componentList.moduleModelList.length + ''
}
vm.dialogData = []
vm.selectResource.resourceModuleSelect = ''
}
}
}
......
......@@ -45,7 +45,7 @@
</el-table-column>
<el-table-column label="操作" fixed="right" align="center" min-width="200">
<template slot-scope="scope">
<el-button type="primary" v-if="scope.row.status == 1 || scope.row.status == 2" size="small" @click="editComponentList(scope.row)">编辑</el-button>
<el-button type="primary" size="small" @click="editComponentList(scope.row)">编辑</el-button>
<el-button type="primary" v-if="scope.row.status == 1 || scope.row.status == 2 || scope.row.status == 4" size="small" @click="enableAndDisable(scope.row,1)">启用</el-button>
<el-button type="primary" v-if="scope.row.status == 3" size="small" @click="enableAndDisable(scope.row,2)">禁用</el-button>
<el-button type="primary" v-if="scope.row.status == 1 || scope.row.status == 2" size="small" @click="deleteComponent(scope.row)">删除</el-button>
......@@ -216,6 +216,11 @@ export default {
},
// 删除
deleteComponent(row) {
vm.$confirm('确定要删除该组件吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
vm.GET('portalComponent/deleteComponentById',{id: row.id}).then((res) => {
if(res.code == "000000") {
vm.$message({
......@@ -227,6 +232,12 @@ export default {
}).catch(function (error) {
vm.$message.error(error);
});
}).catch(() => {
vm.$message({
type: 'info',
message: '已取消'
})
})
},
handleSizeChange(value) {
vm.searchParam.pageSize = value
......
......@@ -10,7 +10,7 @@
<el-input v-model="formInline.projectName" size="mini" placeholder="请输入项目名称"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<!-- <el-col :span="8">
<el-form-item label="项目时间:">
<el-date-picker
v-model="formInline.duringTime"
......@@ -21,8 +21,40 @@
value-format="yyyy-MM-dd HH:mm:ss"
></el-date-picker>
</el-form-item>
</el-col>-->
<el-col :span="6">
<el-form-item label="项目时间:">
<el-date-picker
v-model="formInline.projectBegintime"
size="mini"
type="date"
placeholder="请选择开始时间"
value-format="yyyy-MM-dd HH:mm:ss"
:picker-options="pickerOptions0"
></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="~">
<el-date-picker
v-model="formInline.projectEndtime"
size="mini"
type="date"
placeholder="请选择结束时间"
value-format="yyyy-MM-dd 23:59:59"
:picker-options="pickerOptions1"
></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="9" style="padding:0;text-align:right;padding-right:15px;">
<el-button type="primary" size="small" @click="getProjectList">查询</el-button>
<el-button type="default" size="small" @click="resetForm" style="margin-left:0;">重置</el-button>
</el-col>
</el-form>
</el-row>
<el-row>
<el-col :span="5">
<el-form ref="formInline" :model="formInline" label-width="75px" style="width:100%;">
<el-form-item label="发布状态:">
<el-select size="mini" v-model="formInline.projectStatus" placeholder="请选择发布状态">
<el-option
......@@ -33,24 +65,16 @@
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6" style="padding:0;text-align:right;padding-right:15px;">
<el-button type="primary" size="small" @click="getProjectList">查询</el-button>
<el-button type="default" size="small" @click="resetForm" style="margin-left:0;">重置</el-button>
</el-col>
</el-form>
</el-col>
</el-row>
<el-form :model="formInline" class="demo-form-inline">
<el-form-item>
<el-button class="add-button" size="small" type="primary" @click="toPage()">新建项目</el-button>
</el-form-item>
</el-form>
<el-table
v-loading="loading"
:data="tableData"
:header-cell-style="{background:'#FAFAFA',color:'#000'}"
>
<el-table-column prop="createdId" label="ID编号" min-width="100" align="center"></el-table-column>
<el-table :data="tableData" style="width: 100%">
<el-table-column prop="id" label="ID编号" min-width="100" align="center"></el-table-column>
<el-table-column prop="projectName" label="项目名称" min-width="100" align="center"></el-table-column>
<el-table-column prop="createdName" label="创建人" align="center"></el-table-column>
<el-table-column prop="projectIntro" label="项目简介" align="center"></el-table-column>
......@@ -145,6 +169,7 @@
import BreadCrumb from "../../components/breadcrumb.vue";
import { create } from "domain";
import { returnData } from "../mock";
import { openLoading, closeLoading } from "../../utils/utils";
let vm = null;
export default {
components: {
......@@ -197,8 +222,25 @@ export default {
projectEndtime: "",
projectStatus: "",
pageNo: 1,
pageSize: 10,
duringTime: ""
pageSize: 10
},
pickerOptions0: {
disabledDate: time => {
if (this.formInline.projectEndtime != "") {
return (
time.getTime() >
new Date(this.formInline.projectEndtime).getTime()
);
}
}
},
pickerOptions1: {
disabledDate: time => {
return (
time.getTime() <
new Date(this.formInline.projectBegintime).getTime()
); //减去一天的时间代表可以选择同一天;
}
}
};
},
......@@ -210,38 +252,16 @@ export default {
toPage() {
this.$router.push("add-manager");
},
setParam(data) {
let param = {};
if (
data.duringTime !== null &&
data.duringTime !== "" &&
data.duringTime[0] !== null &&
data.duringTime[1] !== null
) {
param.projectBegintime = data.duringTime[0];
param.projectEndtime = data.duringTime[1];
}
for (let key in data) {
if (
key !== "duringTime" &&
key !== "projectBegintime" &&
key !== "projectEndtime"
) {
param[key] = data[key];
}
}
console.log(param);
return param;
},
//查询项目列表
getProjectList() {
let req = {};
req = this.setParam(this.formInline);
req = this.formInline;
openLoading(vm);
vm.GET("portalInfo/getProjectList", req).then(res => {
closeLoading(vm);
if (res.code == "000000") {
vm.tableData = res.data.data;
vm.totalRows = res.data.totalRows;
this.loading = false;
}
});
},
......@@ -367,19 +387,12 @@ export default {
color: #449284;
border-bottom: 1px solid #efefef;
}
.table-option span {
color: #409eff;
}
// .table-option span {
// color: #409eff;
// }
.add-button {
float: right;
}
.el-table .cell {
color: #929292;
}
.el-table th > .cell {
font-weight: bold;
color: #000;
}
}
}
</style>
\ No newline at end of file
......@@ -19,7 +19,8 @@
</div>
</template>
<script>
import { getLoginUrl,getInnerLoginUrl } from '../../utils/index.js'
import { getLoginUrl,getInnerLoginUrl, getYunQueYiUrl } from '../../utils/index.js'
import { mapGetters } from 'vuex'
let vm = null
export default {
props: {
......@@ -39,7 +40,11 @@ export default {
systemInfoList: []
}
},
computed: {},
computed: {
...mapGetters([
'_token'
])
},
created() {
vm = this
},
......@@ -54,7 +59,7 @@ export default {
}
}
if(command === 'forward') {
window.location.href = 'https://www.yunqueyi.com/'
window.location.href = getYunQueYiUrl()
}
}
}
......
......@@ -22,7 +22,8 @@
</template>
<script>
import { mapGetters } from 'vuex'
import { setTimeout } from 'timers';
import { setTimeout } from 'timers'
import { isNotEmptyUtils } from '../../utils/utils'
let vm = null
export default {
props: {
......@@ -36,7 +37,6 @@ export default {
},
data() {
return {
// authList: {},
items: [
{
title: '数据总览',
......@@ -58,11 +58,6 @@ export default {
icon: 'el-icon-setting',
index: 'item-manager'
},
{
title: '树',
icon: 'el-icon-setting',
index: 'tree'
}
]
},{
title: '系统管理',
......@@ -107,43 +102,22 @@ export default {
},
created() {
vm = this
vm.authSelect()
},
methods: {
// 获取菜单数据
authSelect() {
vm.$nextTick(() => {
vm.getUserAuth()
})
// let req = {
// "token": vm.tokenValue,
// "system_type": "25"
// }
// vm.POST('portalComponent/menu/list',req).then((res) => {
// if( res.code == '000000') {
// vm.items = res.data.picapMenuModels
// vm.$nextTick(() => {
// vm.getUserAuth()
// })
// }
// })
},
// 获取用户权限
getUserAuth() {
if(vm.authList && vm.authList.length > 0) {
if(!vm.authList.P001) { // 项目管理
watch: {
authList(newVal, oldVal){
if(!newVal.P001) { // 项目管理
vm.items[1].subs[1].index = 'blank'
}
if(!vm.authList.P002) { // 组件管理
if(!newVal.P002) { // 组件管理
vm.items[1].subs[0].index = 'blank'
}
if(!vm.authList.P001) { // 角色管理
if(!newVal.P003) { // 角色管理
vm.items[2].subs[0].index = 'blank'
}
}
}
},
methods: {
}
}
</script>
......@@ -176,6 +150,9 @@ export default {
color: #fff;
background: #06232C;
}
.el-menu-item:focus, .el-menu-item:hover {
background: #06232C !important;
}
}
}
</style>
......
......@@ -58,9 +58,8 @@
</el-form>
</el-row>
<el-table
v-loading="loading"
:data="tableData"
:header-cell-style="{background:'#FAFAFA',color:'#000'}"
style="width: 100%"
>
<el-table-column prop="userId" label="用户ID" align="center"></el-table-column>
<el-table-column prop="userName" label="姓名" align="center"></el-table-column>
......@@ -88,8 +87,8 @@
<el-button
type="primary"
size="small"
v-show="showButton(scope.row,'L4')"
@click="openDialog(scope.row,'L4')"
v-show="showButton(scope.row,'L0')"
@click="openDialog(scope.row,'L0')"
>降为普通用户</el-button>
</template>
</el-table-column>
......@@ -133,6 +132,7 @@
<script>
import BreadCrumb from "../../components/breadcrumb.vue";
import { create } from "domain";
import { openLoading, closeLoading } from "../../utils/utils";
let vm = null;
export default {
components: {
......@@ -142,7 +142,7 @@ export default {
const item = {
userId: "298490",
userName: "李雪",
projeceRole: "L4",
projeceRole: "L0",
organizationName: "浙江省人民医院",
departmentsName: "外科"
};
......@@ -181,7 +181,7 @@ export default {
},
{
label: "普通用户",
value: "L4"
value: "L0"
}
],
numL2: 0,
......@@ -203,7 +203,6 @@ export default {
methods: {
//查询用户列表
queryRoleList() {
this.loading = true;
this.formInline.portalProjectId = vm.getUrlSearch(
window.location.href,
"portalProjectId"
......@@ -213,11 +212,12 @@ export default {
}
let req = {};
req = this.formInline;
openLoading(vm);
vm.GET("portalProjectOrRole/queryRoleList", req).then(res => {
closeLoading(vm);
if (res.code == "000000") {
vm.tableData = res.data.projectRoleInfoModels;
vm.totalRows = res.data.total;
this.loading = false;
//this.roleList = setRoleList(res.data.roleList);
this.organizationList = res.data.organizationList;
......@@ -232,7 +232,8 @@ export default {
portalProjectId: this.formInline.portalProjectId,
updateL: this.scopeRow.updateL,
userId: this.scopeRow.userId,
numL2: this.numL2
numL2: this.numL2,
nowL: this.scopeRow.projeceRole
};
vm.GET("portalProjectOrRole/roleLevelUpdate", req).then(res => {
this.dialog.show = false;
......@@ -272,14 +273,14 @@ export default {
let flag = false;
//console.log("当前等级 " + row.projeceRole + " 改变成等级 " + projeceRole);
if (row.projeceRole == "L2") {
if (projeceRole == "L4") {
if (projeceRole == "L0") {
flag = true;
}
} else if (row.projeceRole == "L3") {
if (projeceRole == "L2" || projeceRole == "L4") {
if (projeceRole == "L2" || projeceRole == "L0") {
flag = true;
}
} else if (row.projeceRole == "L4") {
} else if (row.projeceRole == "L0") {
if (projeceRole == "L2" || projeceRole == "L3") {
flag = true;
}
......@@ -299,17 +300,17 @@ export default {
this.scopeRow.updateL = projeceRole;
if (row.projeceRole == "L2") {
this.dialog.role = "项目负责人";
if (projeceRole == "L4") {
if (projeceRole == "L0") {
this.dialog.option = "降级为普通用户";
}
} else if (row.projeceRole == "L3") {
this.dialog.role = "次级负责人";
if (projeceRole == "L2") {
this.dialog.option = "升级为项目负责人";
} else if (projeceRole == "L4") {
} else if (projeceRole == "L0") {
this.dialog.option = "降级为普通用户";
}
} else if (row.projeceRole == "L4") {
} else if (row.projeceRole == "L0") {
this.dialog.role = "普通用户";
if (projeceRole == "L2") {
this.dialog.option = "升级为项目负责人";
......
......@@ -13,27 +13,37 @@
<el-col :span="6">
<el-form-item label="项目时间:">
<el-date-picker
v-model="formInline.projectBegintime"
size="mini"
type="daterange"
start-placeholder="请选择项目开始时间"
end-placeholder="请选择项目结束时间"
v-model="formInline.duringTime"
type="date"
placeholder="请选择开始时间"
value-format="yyyy-MM-dd HH:mm:ss"
:picker-options="pickerOptions0"
></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12" style="padding:0;text-align:right;padding-right:15px;">
<el-col :span="4">
<el-form-item label="~">
<el-date-picker
v-model="formInline.projectEndtime"
size="mini"
type="date"
placeholder="请选择结束时间"
value-format="yyyy-MM-dd 23:59:59"
:picker-options="pickerOptions1"
></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8" style="padding:0;text-align:right;padding-right:15px;">
<el-button type="primary" size="small" @click="search">查询</el-button>
<el-button type="default" size="small" @click="resetForm" style="margin-left:0;">重置</el-button>
</el-col>
</el-form>
</el-row>
<el-table
v-loading="loading"
:data="tableData"
:header-cell-style="{background:'#FAFAFA',color:'#000'}"
:data="tableData" style="width: 100%"
>
<el-table-column prop="createdId" label="ID编号" min-width="100" align="center"></el-table-column>
<el-table-column prop="id" label="ID编号" min-width="100" align="center"></el-table-column>
<el-table-column prop="projectName" label="项目名称" min-width="100" align="center"></el-table-column>
<el-table-column prop="createdName" label="创建人" align="center"></el-table-column>
<el-table-column prop="projectIntro" label="项目简介" align="center"></el-table-column>
......@@ -68,6 +78,7 @@
<script>
import BreadCrumb from "../../components/breadcrumb.vue";
import { create } from "domain";
import { openLoading, closeLoading } from "../../utils/utils";
let vm = null;
export default {
components: {
......@@ -87,9 +98,24 @@ export default {
projectName: "",
projectBegintime: "",
projectEndtime: "",
duringTime: "",
pageNo: 1,
pageSize: 10
pageSize: 10,
type: 2,
},
pickerOptions0: {
disabledDate: time => {
if (this.formInline.projectEndtime != "") {
return time.getTime() > new Date(this.formInline.projectEndtime).getTime();
}
}
},
pickerOptions1: {
disabledDate: time => {
return (
time.getTime() <
new Date(this.formInline.projectBegintime).getTime()
); //减去一天的时间代表可以选择同一天;
}
}
};
},
......@@ -98,38 +124,16 @@ export default {
this.search();
},
methods: {
setParam(data) {
let param = {};
if (
data.duringTime !== null &&
data.duringTime !== "" &&
data.duringTime[0] !== null &&
data.duringTime[1] !== null
) {
param.projectBegintime = data.duringTime[0];
param.projectEndtime = data.duringTime[1];
}
for (let key in data) {
if (
key !== "duringTime" &&
key !== "projectBegintime" &&
key !== "projectEndtime"
) {
param[key] = data[key];
}
}
console.log(param);
return param;
},
search() {
let req = {};
console.log(this.formInline);
req = this.setParam(this.formInline);
//console.log(this.formInline);
req = this.formInline;
openLoading(vm);
vm.GET("portalInfo/getProjectList", req).then(res => {
closeLoading(vm);
if (res.code == "000000") {
vm.tableData = res.data.data;
vm.totalRows = res.data.totalRows;
this.loading = false;
}
});
},
......@@ -173,19 +177,16 @@ export default {
.to-right {
float: right;
}
.table-option span {
color: #409eff;
}
.add-button {
float: right;
}
.el-table .cell {
color: #929292;
}
.el-table th > .cell {
font-weight: bold;
color: #000;
}
// .el-table .cell {
// color: #929292;
// }
// .el-table th > .cell {
// font-weight: bold;
// color: #000;
// }
}
}
</style>
\ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册