提交 ab84a299 编写于 作者: Yuanzhao.dai's avatar Yuanzhao.dai

Merge branch 'dev-eduadmin-20190222' into dev-followUp-20190312

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