提交 52338241 编写于 作者: hujun's avatar hujun

Merge branch 'release' into 'master'

Release



See merge request !84
...@@ -2568,7 +2568,7 @@ ...@@ -2568,7 +2568,7 @@
}, },
"extract-text-webpack-plugin": { "extract-text-webpack-plugin": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-1.0.1.tgz", "resolved": "http://192.168.110.93:4873/extract-text-webpack-plugin/-/extract-text-webpack-plugin-1.0.1.tgz",
"integrity": "sha1-yVvzy6rEnclvHcbgclSfu2VMzSw=", "integrity": "sha1-yVvzy6rEnclvHcbgclSfu2VMzSw=",
"dev": true, "dev": true,
"requires": { "requires": {
...@@ -7945,6 +7945,11 @@ ...@@ -7945,6 +7945,11 @@
"is-plain-obj": "^1.0.0" "is-plain-obj": "^1.0.0"
} }
}, },
"sortablejs": {
"version": "1.10.0-rc3",
"resolved": "http://192.168.110.93:4873/sortablejs/-/sortablejs-1.10.0-rc3.tgz",
"integrity": "sha1-L+Y0Y6OLXNEuyRT8PgNYMEhJb0I="
},
"source-list-map": { "source-list-map": {
"version": "0.1.8", "version": "0.1.8",
"resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz",
...@@ -9116,7 +9121,7 @@ ...@@ -9116,7 +9121,7 @@
}, },
"webpack-sources": { "webpack-sources": {
"version": "0.1.5", "version": "0.1.5",
"resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-0.1.5.tgz", "resolved": "http://192.168.110.93:4873/webpack-sources/-/webpack-sources-0.1.5.tgz",
"integrity": "sha1-qh86vw8NdNtxEcQOUAuE+WZkB1A=", "integrity": "sha1-qh86vw8NdNtxEcQOUAuE+WZkB1A=",
"dev": true, "dev": true,
"requires": { "requires": {
......
<template>
<div class="add-diagnose-wrap">
<div class="fixed-wrap" v-show="showDiagnoseModal">
<div class="fullscreen-bg"></div>
<div class="add-diagnose-modal" >
<span class="close-btn el-icon-close" @click="hideSelf"></span>
<p class="title-text">添加诊断</p>
<div class="search-input">
<el-input v-model="searchInput" placeholder="搜索诊断" class="search-disease" @input="handleInputSearch" @blur="handleSearchListBlur"></el-input>
</div>
<div class="main-content">
<div class="left-box left">
<!-- 搜索列表 有搜索结果时-->
<div
v-if="searchList && searchList.length > 0"
class="search-list-wrap"
v-infinite-scroll="loadMore"
:infinite-scroll-disabled="busy"
infinite-scroll-distance="5"
infinite-scroll-immediate-check="false"
>
<ul class="search-list">
<li v-for="(searchLi, index) in searchList" @mousedown="handleSearchLiClick(searchLi)">
<div class="left">
<p class="disease-name" v-html="searchLi.diseaseName"></p>
<div class="one-line">
<p class="alias" v-html="searchLi.alias"></p>
<p class="sign" v-if="searchLi.alias">|</p>
<p class="code">{{searchLi.icdCode}}</p>
</div>
</div>
<div class="right" v-if="isSearchLiSelected(searchLi)"><i class="el-icon-check"></i></div>
</li>
<p v-if="busy" class="loading">加载中...</p>
<p v-if="noMore" class="loading">没有更多了...</p>
</ul>
</div>
<!-- 常用诊断 -->
<div v-if="!(searchList && searchList.length > 0)" class="common-diagnose">
<p class="title">常用诊断<span class='no-result' v-if="hasNoResult">没有找到相关搜索结果</span></p>
<ul class="list">
<li
v-for="item in commonList"
:class="returnEachCommonLiClass(item)"
@click="handleEachCommonLiClick(item)"
>
{{item.diseaseName}}
</li>
</ul>
</div>
</div>
<!-- 已选 -->
<div class="choosed-list-wrap left">
<div class="title">已选 {{choosedList.length}}/20</div>
<div class="choosed-list">
<el-tag
v-for="(tag, index) in choosedList"
closable
:disable-transitions="false"
@close="handleClose(tag)">
<div class="text" v-html="tag.alias ? tag.alias : tag.diseaseName"></div>
</el-tag>
</div>
</div>
</div>
<div class="dialog-footer">
<el-button @click="hideSelf">取 消</el-button>
<el-button type="primary" @click="handleConfirm">确 定</el-button>
</div>
</div>
</div>
<!-- 已选数量不能超过20个 提示 -->
<div class="tips-wrap" @mousedown.prevent="preventDefault">
<el-dialog
title="提示"
:close-on-click-modal="false"
:visible.sync="limitTipsVisible"
width="400px"
center>
<span>最多只能选择20种诊断</span>
<span slot="footer" class="dialog-footer">
<!-- <el-button type="primary" >我知道了</el-button> -->
<div class="know-confirm" @mousedown.prevent="hideNumLimitTips" >我知道了</div>
</span>
</el-dialog>
</div>
</div>
</template>
<script>
import {
getCommonDiagnoseList,
goToSearch,
} from '@/utils/patients/patientsapi';
export default {
data() {
return {
showDiagnoseModal: false,
limitTipsVisible: false,
searchInput: '',
searchList: [],
commonList: [],
choosedList: [],
hasNoResult: false,
page: 1,
pageSize: 30,
busy: false,
noMore: false,
totalPageNum: 0,
isInputResponse: false,
searchFlagTimer: null,
}
},
computed: {
},
created() {
let that = this;
getCommonDiagnoseList().then(res => {
// console.log('>>>>>>*********** res: ', res)
if(res.code == '000000'){
that.commonList = res.data;
}else{
that.$message({
message: (data && data.message) || '接口出错',
type: 'warning'
});
}
})
},
mounted() {
// console.log('>>>>>>>>>>>>>>>>>>>>>>>> ', this.showDiagnoseModal)
},
watch: {
showDiagnoseModal(val) {
}
},
methods: {
showSelf(params) {
this.showDiagnoseModal = true;
let list = JSON.parse(JSON.stringify(this.$store.state.patientsDiagnose.selectedDiagList));
this.choosedList = list;
},
hideSelf() {
this.showDiagnoseModal = false;
this.choosedList = [];
this.searchList = [];
this.searchInput = ''
},
preventDefault() {
// console.log('prevent>>>>>>>>>>>>>>>>>>>')
},
hideNumLimitTips() {
this.limitTipsVisible = false;
},
isSearchLiSelected(item) {
return this.hasItem(this.choosedList, item) > -1 ? true : false;
},
handleSearchLiClick(item) {
this.searchInput = '';
let hasIndex = this.hasItem(this.choosedList, item);
if( hasIndex > -1 ){
this.choosedList.splice(hasIndex, 1);
}else{
// 已选20个后,不能再添加,出Tips
if( this.choosedList && this.choosedList.length == 20 ){
this.limitTipsVisible = true;
return;
}
this.choosedList.push(item);
}
},
handleSearchListBlur() {
this.searchList = [];
clearTimeout(this.searchFlagTimer);
// console.log('blur.....')
},
handleSearchWrapScroll() {
// console.log('ddxx88888888888')
// let that = this;
// // console.log('val: ', val)
// // 搜索时
// that.$nextTick(function(){
// let searchListWrap = document.querySelector('.search-list-wrap');
// console.log('>>> ', searchListWrap)
// if( searchListWrap ){
// // searchListWrap.onscroll = function(){
// let contentH = document.querySelector('.search-list').offsetHeight;
// let viewH = 290;
// let scrollTop = searchListWrap.scrollTop;
// if( that.canScroll && (contentH - viewH - scrollTop <= 50) ){
// console.log('到达临界点,开始加载下一页');
// that.canScroll = false;
// that.loadMoreSearchData();
// }
// // }
// }
// })
},
// 搜索框中输入文字 时 page=1 pageSize=30
handleInputSearch() {
// debugger;
clearTimeout(this.searchFlagTimer);
let that = this;
that.page = 1;
that.isInputResponse = false;
if( that.searchInput == ''){
that.searchList = [];
return;
}
that.searchList = [];
let params = {
diseaseName: that.searchInput,
page: 1,
pageSize: 30,
};
this.searchFlagTimer = setTimeout(() => {
goToSearch(params).then(res => {
// console.log('>>>>>>*********** search: ', res)
if(res.code == '000000'){
that.isInputResponse = true;
that.totalPageNum = Math.ceil(res.data.total/that.pageSize); // 总页数
let list = res.data.icdContentsList || [];
if(list.length > 0){
if(that.searchInput == ''){
that.searchList = [];
return;
}
that.searchList = list;
that.hasNoResult = false;
}else{
that.searchList = [];
that.hasNoResult = true;
}
}else{
that.isInputResponse = false;
that.searchList = [];
that.$message({
message: data.message,
type: 'warning'
});
}
})
}, 300)
},
// 上拉加载更多
loadMore() {
// debugger;
// console.log('loadmore...')
let that = this;
if( !that.isInputResponse ){
return;
}
if( !(that.searchList && that.searchList.length > 0) ){
return;
}
that.busy = true;
that.page += 1;
// console.log('请求第几页数据: ', that.page)
if(that.page > that.totalPageNum){
// console.log('没有更多了。。。。。');
that.busy = false;
that.noMore = true;
return;
}else{
that.noMore = false;
}
let params = {
diseaseName: that.searchInput,
page: that.page,
pageSize: that.pageSize,
}
setTimeout(()=>{
goToSearch(params).then(res => {
// console.log('>>>>>>*********** search: ', res)
// request ...加载完成后,可以继续滚动加载\
that.busy = false;
if(res.code == '000000'){
let list = res.data.icdContentsList || [];
if(list.length > 0){
that.searchList = that.searchList.concat(list);
}
}else{
that.$message({
message: data.message,
type: 'warning'
});
}
})
}, 500)
},
handleInputSearchBlur(){
this.searchList = [];
},
handleConfirm() {
let list = JSON.parse(JSON.stringify(this.choosedList));
this.$store.dispatch('patientsDiagnose/changeDiagnoseList', list)
this.showDiagnoseModal = false;
this.searchInput = '';
this.searchList = [];
},
handleClose(tag) {
this.choosedList.splice(this.hasItem(this.choosedList, tag), 1);
},
returnEachCommonLiClass(item) {
let hasIndex = this.hasItem(this.choosedList, item);
if( hasIndex > -1 ){
return 'active';
}else{
return '';
}
},
handleEachCommonLiClick(item) {
// console.log('ddd', item);
let hasIndex = this.hasItem(this.choosedList, item);
if( hasIndex > -1 ){
this.choosedList.splice(hasIndex, 1);
}else{
// 已选20个后,不能再添加,出Tips
if( this.choosedList && this.choosedList.length == 20 ){
this.limitTipsVisible = true;
return;
}
this.choosedList.push(item);
}
},
hasItem(list, item) {
for(let i=0; i<list.length; i++){
if( list[i].icdCode == item.icdCode ){
return i;
}
}
return -1;
},
},
}
</script>
<style lang="less">
.scroll-bar{
/*定义滚动条高宽及背景 高宽分别对应横竖滚动条的尺寸*/
&::-webkit-scrollbar
{
width: 5px;
height: 5px;
background-color: #fff;
}
/*定义滚动条轨道 内阴影+圆角*/
&::-webkit-scrollbar-track
{
// border-radius: 10px;
// background-color: rgb(241, 239, 239);
// background: #fff;
}
/*定义滑块 内阴影+圆角*/
&::-webkit-scrollbar-thumb
{
border-radius: 10px;
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
background-color: #bbb;
}
}
.add-diagnose-wrap{
.fixed-wrap{
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
overflow: auto;
z-index: 1000;
.fullscreen-bg{
position: absolute;
width: 100%; height: 100%;
background: black; opacity: 0.3;
}
.add-diagnose-modal{
position: relative;
border-radius: 4px;
width: 910px; padding: 0 30px 0;
position: fixed;
left: 50%; margin-left: -455px;
top: 60px;
background: #fff;
.close-btn{
position: absolute; right: 20px; top: 20px;
cursor: pointer;
&:hover{
color: #409eff;
}
}
.title-text{
text-align: center;
line-height: 60px;
}
.search-disease{
width: 370px;
}
.main-content{
overflow: hidden;
.left{
float: left;
}
.left-box{
width: 370px;
height: 300px;
.common-diagnose{
width: 100%; height: 300px;
.title{
color: #303133;
font-size: 16px;
line-height: 40px;
margin-top: 10px;
.no-result{
font-size: 14px;
color: #e6a23c;
margin-left: 28px;
}
}
.list{
width: 100%; height: 250px;
overflow: hidden;
overflow-y: scroll;
.scroll-bar;
padding: 10px;
border: 1px solid #DCDFE6;
li{
height: 35px; line-height: 35px; padding: 0 15px;
background: #fff;
border: 1px solid #dcdfe6;
color: #606266;
cursor: pointer;
font-size: 12px;
&.active{
color: #fff;
background: #409eff;
border-color: #409eff;
}
display: inline-block;
margin: 0 10px 10px 0;
border-radius: 4px;
max-width: 350px;
overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
}
}
.search-list-wrap{
width: 100%; height: 290px; margin-top: 10px;
border: 1px solid #DCDFE6;
overflow: hidden;
overflow-y: scroll;
.scroll-bar;
.search-list{
border-radius: 4px;
width: 100%;
padding: 10px;
li{
position: relative;
line-height: 30px;
overflow: hidden;
cursor: pointer;
font-size: 12px;
&:hover{
background: #eee;
}
.left{
width: 310px;
float: left;
span{
color: #ff8429;
}
.disease-name{
font-size: 14px;
}
.one-line{
width: 100%; overflow: hidden;
font-size: 12px; color: #aaa;
.alias{
float: left;
}
.sign{
float: left;
margin: 0 5px;
}
.code{
float: left;
}
}
}
.right{
position: absolute;
right: 0;
top: 50%;
margin-top: -13px;
// width: 0px;
// float: left;
display: inline-block;
vertical-align: middle;
i{
font-size: 24px;
color: #449284;
font-weight: 700;
}
}
.code{
line-height: 30px;
}
}
.loading{
color: #ccc;
text-align: center;
margin: 0;
font-size: 12px;
margin-top: 5px;
}
}
}
}
.choosed-list-wrap{
width: 450px;
height: 300px;
margin-left: 30px;
.title{
color: #303133;
font-size: 16px;
line-height: 40px;
margin-top: 10px;
}
.choosed-list{
overflow: hidden;
overflow-y: scroll;
width: 450px;
height: 250px;
padding: 10px;
border: 1px solid #DCDFE6;
.scroll-bar;
.el-tag {
margin: 0 10px 10px 0;;
.text{
display: inline-block;
max-width: 342px;
overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.el-tag__close{
top: -12px;
}
}
}
}
}
}
.dialog-footer{
text-align: center;
margin: 20px auto;
}
}
.tips-wrap {
.know-confirm{
width: 98px;
height: 40px;
background: #449284;
border-radius: 4px;
text-align: center;
line-height: 40px;
color: #FFF;
margin: 0 auto;
font-size: 14px;
cursor: pointer;
}
}
}
</style>
...@@ -4,6 +4,8 @@ import common from './education/common'; ...@@ -4,6 +4,8 @@ import common from './education/common';
//随访 //随访
import followModules from './followup/index'; import followModules from './followup/index';
import getters from './getters' import getters from './getters'
//居民诊断
import patientsDiagnose from './patientsManage/patientsDiagnose';
Vue.use(Vuex) Vue.use(Vuex)
...@@ -11,7 +13,8 @@ Vue.use(Vuex) ...@@ -11,7 +13,8 @@ Vue.use(Vuex)
export default new Vuex.Store({ export default new Vuex.Store({
modules: { modules: {
common, common,
...followModules ...followModules,
patientsDiagnose,
}, },
getters getters
}) })
......
const patientsDiagnose = {
namespaced: true,
state: {
selectedDiagList: [],
},
mutations: {
CHANGE_DIAGNOSE_LIST: (state, data) => {
state.selectedDiagList = data;
}
},
actions: {
changeDiagnoseList({ commit }, list) {
commit('CHANGE_DIAGNOSE_LIST', list);
}
}
}
export default patientsDiagnose;
\ No newline at end of file
...@@ -10,9 +10,9 @@ export const envConfig = { ...@@ -10,9 +10,9 @@ export const envConfig = {
// baseUrl: 'https://uat-sc.yunqueyi.com/', // baseUrl: 'https://uat-sc.yunqueyi.com/',
// baseUrl: 'http://10.177.15.150:10401/', // baseUrl: 'http://10.177.15.150:10401/',
// baseUrl: 'http://10.177.15.150:11905/', // baseUrl: 'http://10.177.15.150:11905/',
// baseUrl: 'https://dev-sc.yunqueyi.com/', baseUrl: 'https://dev-sc.yunqueyi.com/',
// baseUrl: 'https://test1-sc.yunqueyi.com/', // baseUrl: 'https://test1-sc.yunqueyi.com/',
baseUrl: 'https://uat-sc.yunqueyi.com/', // baseUrl: 'https://uat-sc.yunqueyi.com/',
apiUrl: 'https://dev-api.yunqueyi.com/', apiUrl: 'https://dev-api.yunqueyi.com/',
qiniuFileUrl: "https://dev-sc.yunqueyi.com/contents/admin/qiniu/token1", qiniuFileUrl: "https://dev-sc.yunqueyi.com/contents/admin/qiniu/token1",
qiniuResourceUrl: "https://test1-videos.yunqueyi.com", qiniuResourceUrl: "https://test1-videos.yunqueyi.com",
...@@ -27,9 +27,9 @@ export const envConfig = { ...@@ -27,9 +27,9 @@ export const envConfig = {
workApiSrc: 'https://dev-work.yunqueyi.com', workApiSrc: 'https://dev-work.yunqueyi.com',
// reportUrl: 'http://10.177.15.150:10401/', // reportUrl: 'http://10.177.15.150:10401/',
// reportUrl: 'http://192.168.140.13:10401/', // reportUrl: 'http://192.168.140.13:10401/',
// reportUrl: 'https://dev-sc-report.yunqueyi.com/', reportUrl: 'https://dev-sc-report.yunqueyi.com/',
// reportUrl: 'https://test1-sc-report.yunqueyi.com/', // reportUrl: 'https://test1-sc-report.yunqueyi.com/',
reportUrl: 'https://uat-sc-report.yunqueyi.com/', // reportUrl: 'https://uat-sc-report.yunqueyi.com/',
}, },
dev: { dev: {
baseUrl: 'https://dev-sc.yunqueyi.com/', baseUrl: 'https://dev-sc.yunqueyi.com/',
......
...@@ -54,7 +54,8 @@ service.interceptors.request.use(config => { ...@@ -54,7 +54,8 @@ service.interceptors.request.use(config => {
} }
if( process.env.BUILD_ENV == "development" ){ // 本地开发环境 if( process.env.BUILD_ENV == "development" ){ // 本地开发环境
// console.log('环境变量>>>> ', process.env.BUILD_ENV); // console.log('环境变量>>>> ', process.env.BUILD_ENV);
config.headers['token'] = '6F0F3B3F0EB24A14AA025FA47CD43770'; // config.headers['token'] = 'BFD804F3A3194FBBBE113962222839F6';
config.headers['token'] = '8BAA42D51C014A6090AB7717589F8967';
}else{ }else{
config.headers['token'] = localStorage.getItem('storageToken') config.headers['token'] = localStorage.getItem('storageToken')
} }
......
...@@ -572,3 +572,10 @@ export function getAvgTime(data) { ...@@ -572,3 +572,10 @@ export function getAvgTime(data) {
} }
return list; return list;
} }
export function getComponent(data) {
let list = [];
for(let i=0;i<data.length;i++) {
list.push(data[i].value);
}
return list;
}
\ No newline at end of file
...@@ -377,6 +377,7 @@ export const getRemindPatient = (data) => { ...@@ -377,6 +377,7 @@ export const getRemindPatient = (data) => {
}) })
}; };
// 保存并新增
export const savePatientInfo = (data) => { export const savePatientInfo = (data) => {
return utils.checkAuth(()=>{ return utils.checkAuth(()=>{
return fetch({ return fetch({
...@@ -426,3 +427,38 @@ export const getPatientInfoList = (data) => { ...@@ -426,3 +427,38 @@ export const getPatientInfoList = (data) => {
}) })
}; };
// 添加诊断:获取常用诊断列表
export const getCommonDiagnoseList = params => {
return fetch({
headers,
url: getBaseUrl(`medicineDictionary/icdCommonDiagnosis`),
method: 'get',
params: params,
description: '获取常用诊断列表',
})
}
// 添加诊断:搜索
export const goToSearch = params => {
return fetch({
headers,
url: getBaseUrl(`medicineDictionary/icdContents`),
method: 'get',
params: params,
description: '常用诊断搜索',
})
}
// 选择或搜索诊断
export const getIcdList = params => {
return fetch({
headers,
url: getBaseUrl(`healths/icd/list`),
// url: 'http://sosoapi.yunqueyi.com/sosoapi-web/pass/mock/46/healths/icd/list',
method: 'get',
params: params,
description: '选择或搜索诊断',
})
}
...@@ -36,9 +36,32 @@ ...@@ -36,9 +36,32 @@
style="width:83%;" style="width:83%;"
:disabled="peopleLevel == 'L3'" :disabled="peopleLevel == 'L3'"
></el-input> ></el-input>
<span class="word-num">{{(formData.projectName).replace(/\s+/g,"").length}}/20</span> <span class="word-num">{{(formData.projectName).replace(/\s+/g,"").length}}/24</span>
</el-col> </el-col>
</el-form-item> </el-form-item>
<el-form-item label="发起机构名称:" prop="organizationName">
<el-col :span="13">
<el-input
size="small"
v-model="formData.organizationName"
placeholder="请输入发起机构名称"
style="width:83%;"
:disabled="peopleLevel == 'L3'"
@input="changeOrganizationName"
@blur = "blurName"
@focus = "focusName"
></el-input>
<span class="word-num">{{(formData.organizationName).replace(/\s+/g,"").length}}/12</span>
</el-col>
<el-popover
class="popover-content"
placement="bottom"
:content="organizationContent"
v-model="visibleName"
@click="checkDefault">
<p @click="checkDefault"> 我的机构: {{ organizationContent }} </p>
</el-popover>
</el-form-item>
<el-form-item label="项目时间:" required> <el-form-item label="项目时间:" required>
<el-col :span="5"> <el-col :span="5">
<el-form-item prop="projectBegintime"> <el-form-item prop="projectBegintime">
...@@ -82,7 +105,7 @@ ...@@ -82,7 +105,7 @@
style="width:83%;" style="width:83%;"
:disabled="peopleLevel == 'L3'" :disabled="peopleLevel == 'L3'"
></el-input> ></el-input>
<span class="word-num">{{(formData.projectIntro).replace(/\s+/g,"").length}}/150</span> <span class="word-num">{{(formData.projectIntro).replace(/\s+/g,"").length}}/200</span>
</el-col> </el-col>
</el-form-item> </el-form-item>
<div class="basic-item-icon"> <div class="basic-item-icon">
...@@ -180,6 +203,26 @@ ...@@ -180,6 +203,26 @@
<el-radio :label="1">使用小生态范围</el-radio> <el-radio :label="1">使用小生态范围</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="项目上线通知">
<el-radio-group
size="small"
v-model="formData.sendOption"
:disabled="showNoticeType()"
>
<el-radio :label="1">通知</el-radio>
<el-radio :label="2">不通知</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item v-if="formData.sendOption != 2" label="通知范围">
<el-radio-group
size="small"
v-model="formData.receiveOption"
:disabled="showNoticeType()"
>
<el-radio :label="1">次级负责人</el-radio>
<el-radio :label="2">所有人</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="添加下载文件:"> <el-form-item label="添加下载文件:">
<el-col :span="10"> <el-col :span="10">
<el-upload <el-upload
...@@ -544,12 +587,13 @@ ...@@ -544,12 +587,13 @@
<div class="third-step" v-else-if="active === 2"> <div class="third-step" v-else-if="active === 2">
<el-form <el-form
ref="formComponent" ref="formComponent"
class="form-component"
label-width="150px" label-width="150px"
:model="formComponent" :model="formComponent"
:rules="rulesComponent" :rules="rulesComponent"
> >
<el-form-item label="选择组件:" prop="component"> <el-form-item label="选择组件:" prop="component">
<el-col :span="20"> <el-col :span="10">
<el-select <el-select
v-model="formComponent.component" v-model="formComponent.component"
multiple multiple
...@@ -568,11 +612,12 @@ ...@@ -568,11 +612,12 @@
</el-select> </el-select>
</el-col> </el-col>
</el-form-item> </el-form-item>
<el-form-item label="已选择:"> <el-form-item label="已选择:" class="check-component">
<el-col :span="20"> <el-col :span="20">
<el-tag <el-tag
class = "tags-component"
v-for="tag in tagsComponent" v-for="tag in tagsComponent"
:key="tag.name" :key="tag.value"
closable closable
:type="tag.type" :type="tag.type"
style="margin-left: 10px;" style="margin-left: 10px;"
...@@ -581,10 +626,12 @@ ...@@ -581,10 +626,12 @@
</el-col> </el-col>
</el-form-item> </el-form-item>
<el-form-item label="配置证书:"> <el-form-item label="配置证书:">
<el-radio-group v-model="formComponent.configure" :disabled="projectStatus == 3 || projectStatus == 4 || projectStatus == 5 || projectStatus == 6"> <el-col :span="10">
<el-radio-group class="el-configure" v-model="formComponent.configure" :disabled="projectStatus == 3 || projectStatus == 4 || projectStatus == 5 || projectStatus == 6">
<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>
</el-col>
</el-form-item> </el-form-item>
<!-- <el-form-item v-show="formComponent.configure == 1" label="选择证书:"> <!-- <el-form-item v-show="formComponent.configure == 1" label="选择证书:">
<el-col :span="20"> <el-col :span="20">
...@@ -691,28 +738,15 @@ import { mapGetters } from "vuex"; ...@@ -691,28 +738,15 @@ import { mapGetters } from "vuex";
import { openLoading, closeLoading } from "../../utils/utils"; import { openLoading, closeLoading } from "../../utils/utils";
import * as commonUtil from "../../utils/utils"; import * as commonUtil from "../../utils/utils";
import * as operationData from "../../utils/operation"; import * as operationData from "../../utils/operation";
import Sortable from 'sortablejs'
let vm = null; let vm = null;
export default { export default {
components: { components: {
BreadCrumb BreadCrumb
}, },
data() { data() {
// const itemOrganization = {
// name: "上海市第一人民医院",
// grade: "二甲医院",
// province: "上海市",
// city: "上海市",
// district: "浦东新区",
// street: "张江街道"
// };
// const itemPerson = {
// name: "云小鹊",
// hospital: "上海市第一人民医院",
// department: "全科",
// province: "上海市",
// city: "上海市",
// district: "长宁区"
// };
let checkProjectStr = (rule, value, callback) => { let checkProjectStr = (rule, value, callback) => {
if(value.indexOf("\\") != -1) {//存在 if(value.indexOf("\\") != -1) {//存在
callback(new Error('请勿输入字符“ \\ ”')); callback(new Error('请勿输入字符“ \\ ”'));
...@@ -725,8 +759,7 @@ export default { ...@@ -725,8 +759,7 @@ export default {
return { return {
idTypeValue: 1, idTypeValue: 1,
idTypeProject: '', idTypeProject: '',
// itemOrganization: itemOrganization,
// itemPerson: itemPerson,
projectId: null, projectId: null,
peopleLevel: null, peopleLevel: null,
//面包屑 //面包屑
...@@ -754,6 +787,9 @@ export default { ...@@ -754,6 +787,9 @@ export default {
attachmentMore1: {}, attachmentMore1: {},
attachmentMore2: {}, attachmentMore2: {},
scopeType: 0, scopeType: 0,
organizationName: '',
sendOption: 1,
receiveOption: 1,
}, },
pickerOptions0: { pickerOptions0: {
disabledDate: time => { disabledDate: time => {
...@@ -908,6 +944,8 @@ export default { ...@@ -908,6 +944,8 @@ export default {
value: 1, value: 1,
} }
], ],
visibleName: false,
organizationContent: '',
//校验工具 数据 //校验工具 数据
rulesComponent: { rulesComponent: {
component: [ component: [
...@@ -922,12 +960,16 @@ export default { ...@@ -922,12 +960,16 @@ export default {
{ required: true, message: "请输入项目名称", trigger: "blur" }, { required: true, message: "请输入项目名称", trigger: "blur" },
{ {
min: 2, min: 2,
max: 20, max: 24,
message: "输入长度为2-20的内容,可包含中英文、数字及特殊符号", message: "输入长度为2-24的内容,可包含中英文、数字及特殊符号",
trigger: "blur" trigger: "blur"
}, },
{ validator: checkProjectStr, trigger: 'blur' } { validator: checkProjectStr, trigger: 'blur' }
], ],
organizationName: [
{ required: true, message: "请填写发起机构名称", trigger: "blur" },
{ min: 1, max: 12, message: "超过12个最大字数限制,请精简字数或使用简称", trigger: "blur" }
],
duringTime: [ duringTime: [
{ {
required: true, required: true,
...@@ -962,7 +1004,7 @@ export default { ...@@ -962,7 +1004,7 @@ export default {
], ],
projectIntro: [ projectIntro: [
{ required: true, message: "请填写项目简介", trigger: "blur" }, { required: true, message: "请填写项目简介", trigger: "blur" },
{ min: 1, max: 150, message: "超出可输入的最大长度", trigger: "blur" } { min: 1, max: 200, message: "超出可输入的最大长度", trigger: "blur" }
], ],
attachmentUrl1: [ attachmentUrl1: [
{ required: true, message: "请选择列表图片", trigger: "blur" } { required: true, message: "请选择列表图片", trigger: "blur" }
...@@ -1057,7 +1099,12 @@ export default { ...@@ -1057,7 +1099,12 @@ export default {
attachmentSize: editData.attachmentData[1].attachmentSize attachmentSize: editData.attachmentData[1].attachmentSize
}, },
scopeType: editData.projectData.scopeType, scopeType: editData.projectData.scopeType,
organizationName: editData.projectData.organizationName,
notifyId: editData.notifyData.notifyId,
sendOption: editData.notifyData.sendOption,
receiveOption: editData.notifyData.receiveOption,
}; };
this.organizationContent = editData.projectData.creatorOrganizationName;
if (editData.attachmentData.length > 2) { if (editData.attachmentData.length > 2) {
for (let i = 2; i < editData.attachmentData.length; i++) { for (let i = 2; i < editData.attachmentData.length; i++) {
let pdfItem = { let pdfItem = {
...@@ -1136,6 +1183,7 @@ export default { ...@@ -1136,6 +1183,7 @@ export default {
projectEndtime: this.formData.projectEndtime, projectEndtime: this.formData.projectEndtime,
projectIntro: this.formData.projectIntro, projectIntro: this.formData.projectIntro,
scopeType: this.formData.scopeType, scopeType: this.formData.scopeType,
organizationName: this.formData.organizationName,
}; };
let attachmentModel = [ let attachmentModel = [
{ {
...@@ -1183,10 +1231,20 @@ export default { ...@@ -1183,10 +1231,20 @@ export default {
} }
//idTypeProject //idTypeProject
} }
//教培项目v2.1.0新增通知优化
let notifyData = {
notifyId: 0,
receiveOption: this.formData.receiveOption,
sendOption: this.formData.sendOption,
};
if(option == "edit" || option == "storageEdit") {
notifyData.notifyId = this.formData.notifyId;
}
let postData = { let postData = {
projectModel: JSON.stringify(projectModel), projectModel: JSON.stringify(projectModel),
attachmentModel: JSON.stringify(attachmentModel), attachmentModel: JSON.stringify(attachmentModel),
attachmentPDFModel: JSON.stringify(attachmentPDFModel) attachmentPDFModel: JSON.stringify(attachmentPDFModel),
notifyData: JSON.stringify(notifyData),
}; };
//console.log(postData); //console.log(postData);
openLoading(vm); openLoading(vm);
...@@ -1262,6 +1320,7 @@ export default { ...@@ -1262,6 +1320,7 @@ export default {
} }
this.optionsComponent = optionsComponent; this.optionsComponent = optionsComponent;
this.optionsCertificate = optionsCertificate; this.optionsCertificate = optionsCertificate;
this.organizationContent = res.data.creatorOrganizationName;
} }
this.editManager(); this.editManager();
}); });
...@@ -1269,7 +1328,8 @@ export default { ...@@ -1269,7 +1328,8 @@ export default {
//项目组件信息 暂存/完成 //项目组件信息 暂存/完成
componentDraft(type) { componentDraft(type) {
let param = { let param = {
componentIds: this.formComponent.component, // componentIds: this.formComponent.component,
componentIds: operationData.getComponent(vm.tagsComponent),
// certificateId: this.formComponent.certificate, // certificateId: this.formComponent.certificate,
certificateId: [], certificateId: [],
projectId: this.projectId, projectId: this.projectId,
...@@ -1278,6 +1338,7 @@ export default { ...@@ -1278,6 +1338,7 @@ export default {
certificateType: this.formExam.certificateType, certificateType: this.formExam.certificateType,
getCertificateRule: [], getCertificateRule: [],
}; };
// console.log('排序后',vm.tagsComponent,'param',param);
if(this.formComponent.configure == 1) { if(this.formComponent.configure == 1) {
// 2.多证书有规 // 2.多证书有规
if(this.formExam.certificateType == 2) { if(this.formExam.certificateType == 2) {
...@@ -1328,6 +1389,7 @@ export default { ...@@ -1328,6 +1389,7 @@ export default {
this.getDepartment(); this.getDepartment();
} else if (active == 2) { } else if (active == 2) {
this.stepData = [false, false, true]; this.stepData = [false, false, true];
this.tagDrop();
} }
}, },
//点击暂存 //点击暂存
...@@ -1430,7 +1492,13 @@ export default { ...@@ -1430,7 +1492,13 @@ export default {
//点击完成 //点击完成
complete() { complete() {
//type 1:暂存 2:完成 //type 1:暂存 2:完成
if (this.status4Flag == 1) { // if (this.status4Flag == 1) {
// vm.$message.info("完成");
// vm.$router.push({ path: "item-manager" });
// return;
// }
console.log('this.peopleLevel',this.peopleLevel);
if (this.peopleLevel == 'L3') {
vm.$message.info("完成"); vm.$message.info("完成");
vm.$router.push({ path: "item-manager" }); vm.$router.push({ path: "item-manager" });
return; return;
...@@ -1510,6 +1578,7 @@ export default { ...@@ -1510,6 +1578,7 @@ export default {
if (res.code == "000000") { if (res.code == "000000") {
this.active++; this.active++;
this.stepData = [false, false, true]; this.stepData = [false, false, true];
this.tagDrop();
} }
} }
); );
...@@ -1559,6 +1628,7 @@ export default { ...@@ -1559,6 +1628,7 @@ export default {
if(statusMove === 0) { if(statusMove === 0) {
this.active++; this.active++;
this.stepData = [false, false, true]; this.stepData = [false, false, true];
this.tagDrop();
} else { } else {
console.log('不能改变范围status:'+res.data.status) console.log('不能改变范围status:'+res.data.status)
} }
...@@ -1608,6 +1678,7 @@ export default { ...@@ -1608,6 +1678,7 @@ export default {
if(statusMove === 0) { if(statusMove === 0) {
this.active++; this.active++;
this.stepData = [false, false, true]; this.stepData = [false, false, true];
this.tagDrop();
} else { } else {
console.log('不能改变范围status:'+res.data.status) console.log('不能改变范围status:'+res.data.status)
} }
...@@ -2883,6 +2954,15 @@ export default { ...@@ -2883,6 +2954,15 @@ export default {
} }
return true; return true;
}, },
//判断通知展示问题
showNoticeType() {
if(this.projectStatus == '' || this.projectStatus == 1 || this.projectStatus == 2) {
if(this.peopleLevel != 'L3') {
return false;
}
}
return true;
},
//选择小生态 //选择小生态
selectChangeEcology(value) { selectChangeEcology(value) {
this.formEcology.pageNum = 1; this.formEcology.pageNum = 1;
...@@ -3074,6 +3154,7 @@ export default { ...@@ -3074,6 +3154,7 @@ export default {
} }
} }
//console.log('this.tagsComponent',this.tagsComponent); //console.log('this.tagsComponent',this.tagsComponent);
vm.tagDrop();
}, },
initTags(value) { initTags(value) {
//console.log('value',value,'optionsComponent',this.optionsComponent); //console.log('value',value,'optionsComponent',this.optionsComponent);
...@@ -3090,6 +3171,9 @@ export default { ...@@ -3090,6 +3171,9 @@ export default {
} }
} }
//console.log('this.tagsComponent',this.tagsComponent); //console.log('this.tagsComponent',this.tagsComponent);
// if(vm.tagsComponent.length > 0) {
// vm.tagDrop();
// }
}, },
//选择组件数据绑定 //选择组件数据绑定
handleCloseComponent(tag) { handleCloseComponent(tag) {
...@@ -3233,6 +3317,9 @@ export default { ...@@ -3233,6 +3317,9 @@ export default {
}, },
//校验考试通过平均分配置 //校验考试通过平均分配置
checkCertificate () { checkCertificate () {
if(vm.formComponent.configure == 2) {
return true;
}
//空判断 //空判断
if(vm.formExam.certificateType == 2) { if(vm.formExam.certificateType == 2) {
let checkIdList = []; let checkIdList = [];
...@@ -3276,7 +3363,51 @@ export default { ...@@ -3276,7 +3363,51 @@ export default {
} }
} }
return true; return true;
},
blurName() {
vm.visibleName = false;
setTimeout(function(){
// console.log('失去焦点');
vm.submitForm('formData');
},200)
},
focusName() {
let textLength = vm.formData.organizationName.length;
if(textLength == 0) {
vm.visibleName = true;
} else {
vm.visibleName = false;
} }
},
changeOrganizationName() {
let textLength = vm.formData.organizationName.length;
console.log('文字长度',textLength);
if(textLength == 0) {
vm.visibleName = true;
} else {
vm.visibleName = false;
}
},
checkDefault() {
// console.log('点击checkDefault')
vm.formData.organizationName = vm.organizationContent;
vm.visibleName = false;
},
tagDrop() {
this.$nextTick(function() {
if(vm.tagsComponent.length > 0) {
const ele = document.querySelector('.check-component .el-col-20');
// console.log('ele',ele);
// Sortable.create(ele,{});
Sortable.create(ele, {
onEnd({ newIndex, oldIndex }) {
const currRow = vm.tagsComponent.splice(oldIndex, 1)[0]
vm.tagsComponent.splice(newIndex, 0, currRow)
}
})
}
});
},
} }
}; };
</script> </script>
...@@ -3418,6 +3549,10 @@ export default { ...@@ -3418,6 +3549,10 @@ export default {
color: #409eff; color: #409eff;
border: 1px solid #409eff; border: 1px solid #409eff;
} }
.el-popover--plain {
padding: 18px 20px;
top: 40px;
}
} }
.second-step { .second-step {
margin: 10px 0 0 20px; margin: 10px 0 0 20px;
...@@ -3496,6 +3631,22 @@ export default { ...@@ -3496,6 +3631,22 @@ export default {
.achievement { .achievement {
margin-top: 60px; margin-top: 60px;
} }
.form-component {
position: relative;
}
.check-component {
top: 0px;
left: 550px;
position: absolute;
z-index: 999;
}
.el-tag {
margin-top: 5px;
display: table;
}
.el-configure {
width: 200px;
}
} }
} }
</style> </style>
\ No newline at end of file
...@@ -753,6 +753,7 @@ export default { ...@@ -753,6 +753,7 @@ export default {
vm.componentList.moduleModelList[i].statusFlag = true; vm.componentList.moduleModelList[i].statusFlag = true;
}else{ }else{
vm.componentList.moduleModelList[i].statusFlag = false; vm.componentList.moduleModelList[i].statusFlag = false;
vm.componentList.moduleModelList[i].openDisabled = true;
} }
} }
}, },
...@@ -1094,9 +1095,11 @@ export default { ...@@ -1094,9 +1095,11 @@ export default {
vm.$nextTick(() => { vm.$nextTick(() => {
for(let i=0;i<vm.componentList.moduleModelList.length;i++) { for(let i=0;i<vm.componentList.moduleModelList.length;i++) {
if(!vm.componentList.moduleModelList[i].name) { if(!vm.componentList.moduleModelList[i].name) {
if(flag == 2) {
return return
} }
} }
}
console.log(vm.componentList.moduleModelList) console.log(vm.componentList.moduleModelList)
vm.POST('portal/portalComponent/insertOrUpdatePortalModule',{model: vm.componentList.moduleModelList,status: flag}).then((res) => { vm.POST('portal/portalComponent/insertOrUpdatePortalModule',{model: vm.componentList.moduleModelList,status: flag}).then((res) => {
if( res.code == '000000') { if( res.code == '000000') {
......
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item prop="diseaseId"> <el-form-item prop="diseaseId">
<el-select <!--<el-select
v-model="searchData.diseaseId" v-model="searchData.diseaseId"
multiple multiple
collapse-tags collapse-tags
...@@ -67,6 +67,25 @@ ...@@ -67,6 +67,25 @@
:key="index" :key="index"
:label="item.diseaseName" :label="item.diseaseName"
:value="item.diseaseId"> :value="item.diseaseId">
</el-option>-->
<!--</el-select>-->
<el-select
v-model="searchData.icdCodeList"
multiple
collapse-tags
filterable
remote
reserve-keyword
placeholder="请选择或搜索诊断"
:remote-method="getDiseaseData"
:loading="loading"
class="set-width"
>
<el-option
v-for="item in icdOptions"
:key="item.icdCode"
:label="item.diseaseName"
:value="item.icdCode">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -229,7 +248,7 @@ ...@@ -229,7 +248,7 @@
<script> <script>
import { mapState, mapActions } from 'vuex' import { mapState, mapActions } from 'vuex'
import { getConstants, getPatientInfoList, getDiseasesList, getLabelList } from '@/utils/patients/patientsapi' import { getConstants, getPatientInfoList, getDiseasesList, getLabelList, getIcdList } from '@/utils/patients/patientsapi'
import { getPlanList } from '@/utils/followup/followapis' import { getPlanList } from '@/utils/followup/followapis'
export default { export default {
components: {}, components: {},
...@@ -248,7 +267,8 @@ ...@@ -248,7 +267,8 @@
diseaseId: [], diseaseId: [],
labelId: [], labelId: [],
fuPlanIdList: [], fuPlanIdList: [],
searchCondition: '' searchCondition: '',
icdCodeList: [],
}, },
paginationSet: { paginationSet: {
pageNum: 1, pageNum: 1,
...@@ -272,6 +292,8 @@ ...@@ -272,6 +292,8 @@
newSelects: [], //新选中的人 newSelects: [], //新选中的人
oldPatientList: [], oldPatientList: [],
showReloadModal: false, showReloadModal: false,
loading: false,
icdOptions: [],
getRowKeys(row) { getRowKeys(row) {
return row.patientId; return row.patientId;
}, },
...@@ -292,6 +314,8 @@ ...@@ -292,6 +314,8 @@
isShowSelectPatient(val){ isShowSelectPatient(val){
if(val){ if(val){
this.getPatientsList() this.getPatientsList()
//获取搜索诊断
this.getDiseaseData();
// 获取常量 性别、年龄 // 获取常量 性别、年龄
getConstants({ getConstants({
numList: 'P057,P006' numList: 'P057,P006'
...@@ -342,6 +366,29 @@ ...@@ -342,6 +366,29 @@
return row.disableNum return row.disableNum
} }
}, },
getDiseaseData(query) {
// if (query !== '') {
let params = {
diseaseName: query ? query : '',
pageSize: 200,
pageNum: 1,
};
this.loading = true;
getIcdList(params).then(data => {
this.loading = false;
if(data.code == "000000") {
this.icdOptions = data.data;
}
}).catch((error) => {
this.$message({
message: error,
type: 'error'
});
});
// }else {
// this.icdOptions = [];
// }
},
getPatientsList(){ getPatientsList(){
const data = { const data = {
pageSize: this.paginationSet.pageSize, pageSize: this.paginationSet.pageSize,
...@@ -355,6 +402,7 @@ ...@@ -355,6 +402,7 @@
addType: this.selectPatientType, //随访是1,分组是2,患教是3 addType: this.selectPatientType, //随访是1,分组是2,患教是3
fuPlanIdList: this.searchData.fuPlanIdList || [], fuPlanIdList: this.searchData.fuPlanIdList || [],
sourceId: this.sourceId, //若是随访的话,传planId;若是分组的话,传labeledId; sourceId: this.sourceId, //若是随访的话,传planId;若是分组的话,传labeledId;
icdCodeList: this.searchData.icdCodeList
} }
getPatientInfoList(data).then(res=>{ getPatientInfoList(data).then(res=>{
if(res.data.patientList){ if(res.data.patientList){
...@@ -377,10 +425,10 @@ ...@@ -377,10 +425,10 @@
item.showLabelName = '-'; item.showLabelName = '-';
} }
//转化疾病 //转化诊断
if(item.patientTypeModels) { if(item.patientTypeModels) {
item.patientTypeModels.forEach(item => { item.patientTypeModels.forEach(item => {
diseaseNames.push(item.name) diseaseNames.push(item.diseaseName)
}) })
item.showDiseaseNames = diseaseNames.join('、'); item.showDiseaseNames = diseaseNames.join('、');
...@@ -486,7 +534,8 @@ ...@@ -486,7 +534,8 @@
diseaseId: [], diseaseId: [],
labelId: [], labelId: [],
fuPlanIdList: [], fuPlanIdList: [],
searchCondition: '' searchCondition: '',
icdCodeList: [],
} }
this.$emit('closeSelectPatient',false) this.$emit('closeSelectPatient',false)
}, },
...@@ -499,7 +548,8 @@ ...@@ -499,7 +548,8 @@
diseaseId: [], diseaseId: [],
labelId: [], labelId: [],
fuPlanIdList: [], fuPlanIdList: [],
searchCondition: '' searchCondition: '',
icdCodeList: [],
} }
this.$emit('sureSelectPatient',false,this.newSelects,this.oldPatientList) this.$emit('sureSelectPatient',false,this.newSelects,this.oldPatientList)
} else { } else {
......
<template> <template>
<div class="form-warp"> <div class="form-warp">
<addDiagnose ref="addDiagnose"></addDiagnose>
<el-form <el-form
:model="patientInfoForm" :model="patientInfoForm"
:rules="rules" :rules="rules"
...@@ -30,14 +31,12 @@ ...@@ -30,14 +31,12 @@
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" style="text-align: center;margin-top:15px;" v-show="!patientId"> <el-button plain size="small" @click="toggleClick">{{tipsText}}</el-button></el-col>
</el-row> </el-row>
<div v-show="isShowAll || patientId"> <!-- <div class="has-header">数据记录</div> -->
<div class="has-header">数据记录</div>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="诊断" prop="diseaseIdList"> <el-form-item label="诊断" prop="diseaseIdList">
<el-select <!-- <el-select
v-model="diseaseIdList" v-model="diseaseIdList"
multiple multiple
@change="changeDiseases" @change="changeDiseases"
...@@ -49,7 +48,11 @@ ...@@ -49,7 +48,11 @@
:label="item.diseaseName" :label="item.diseaseName"
:value="item.diseaseId"> :value="item.diseaseId">
</el-option> </el-option>
</el-select> </el-select> -->
<el-button icon="el-icon-plus" @click="handleAddDiagnose">{{ selectedDiagList && selectedDiagList.length > 0 ? '修改诊断' : '添加诊断' }}</el-button>
<ul class="final-diagnose-list" v-if="selectedDiagList && selectedDiagList.length > 0">
<li v-for="diagnose in selectedDiagList" v-html="diagnose.alias ? diagnose.alias+'; ' : diagnose.diseaseName+'; '"></li>
</ul>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
...@@ -70,6 +73,11 @@ ...@@ -70,6 +73,11 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row>
<el-col :span="24" style="text-align: center;margin-top:15px;" v-show="!patientId"> <el-button plain size="small" @click="toggleClick">{{tipsText}}</el-button></el-col>
</el-row>
<div v-show="isShowAll || patientId">
<div class="has-header">基本信息</div> <div class="has-header">基本信息</div>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
...@@ -178,12 +186,14 @@ ...@@ -178,12 +186,14 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="所在地区" prop="addressList"> <el-form-item label="所在地区" prop="addressList">
<!--@active-item-change="handleItemChange"-->
<el-cascader <el-cascader
ref="cascaderRegion"
placeholder="请选择省市县乡" placeholder="请选择省市县乡"
:options="provinceList" :options="provinceList"
v-model="addressList" v-model="addressList"
@active-item-change="handleItemChange" :props="optionProps"
:props="optionProps"> @change="handleChange">
</el-cascader> </el-cascader>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -227,8 +237,7 @@ ...@@ -227,8 +237,7 @@
placeholder="请输入内容" placeholder="请输入内容"
clearable clearable
maxlength="200" maxlength="200"
:autosize="{ minRows: 3, maxRows: 7}" :autosize="{ minRows: 3, maxRows: 7}">
show-word-limit>
</el-input> </el-input>
<span class="text-count">{{currentCount}} / 200</span> <span class="text-count">{{currentCount}} / 200</span>
</el-form-item> </el-form-item>
...@@ -239,7 +248,7 @@ ...@@ -239,7 +248,7 @@
</div> </div>
</template> </template>
<script> <script>
import { mapGetters } from 'vuex'; import { mapGetters, mapState } from 'vuex';
import { checkMobile } from '@/utils/patients/checkValid'; import { checkMobile } from '@/utils/patients/checkValid';
import { isCardNo, checkProvince, checkBirthday, checkParity, validateIdCard } from '@/utils/patients/checkCardNum'; import { isCardNo, checkProvince, checkBirthday, checkParity, validateIdCard } from '@/utils/patients/checkCardNum';
import { import {
...@@ -252,9 +261,11 @@ ...@@ -252,9 +261,11 @@
getCityList, getCityList,
getCountyList, getCountyList,
getTownList } from '@/utils/patients/patientsapi'; getTownList } from '@/utils/patients/patientsapi';
let vm = null;
import addDiagnose from '@/components/icd/addDiagnose.vue';
export default { export default {
name: "basicInfo", name: "basicInfo",
components: {}, components: { addDiagnose },
data() { data() {
let validCode=(rule,value,callback)=>{ let validCode=(rule,value,callback)=>{
if(value) { if(value) {
...@@ -338,7 +349,55 @@ ...@@ -338,7 +349,55 @@
optionProps: { optionProps: {
value: "id", value: "id",
label: "name", label: "name",
children: "children" children: "children",
lazy: true,
lazyLoad(node, resolve) {
const { level } = node;
console.log("node", node);
if (node.level == 1) {
let req = {
provinceId: node.data.id
};
vm.GET("basic-data/position/cities", req).then(res => {
let newData = res.data.cityList;
newData.map(item => {
vm.$set(item, "id", item.cityId);
vm.$set(item, "name", item.cityName);
vm.$set(item, "children", []);
});
// console.log("newData", newData);
resolve(newData);
});
} else if (node.level == 2) {
let req = {
cityId: node.data.id
};
vm.GET("basic-data/position/counties", req).then(res => {
let newData = res.data.countyList;
newData.map(item => {
vm.$set(item, "id", item.countyId);
vm.$set(item, "name", item.countyName);
vm.$set(item, "children", []);
});
// console.log("newData", newData);
resolve(newData);
});
} else if (node.level == 3) {
let req = {
countyId: node.data.id
};
vm.GET("basic-data/position/towns", req).then(res => {
let newData = res.data.townList;
newData.map(item => {
vm.$set(item, "id", item.townId);
vm.$set(item, "name", item.townName);
vm.$set(item, "leaf", true);
});
// console.log("newData", newData);
resolve(newData);
});
}
}
}, },
tipsText: '展开录入完整信息', tipsText: '展开录入完整信息',
isShowAll: false, isShowAll: false,
...@@ -357,6 +416,7 @@ ...@@ -357,6 +416,7 @@
return time > Date.now() || time < old; return time > Date.now() || time < old;
} }
}, },
region: [],
} }
}, },
props: { props: {
...@@ -376,7 +436,8 @@ ...@@ -376,7 +436,8 @@
this.patientInfoForm = val; this.patientInfoForm = val;
this.baseInfoEdit = this.patientInfoForm.baseInfoEdit; this.baseInfoEdit = this.patientInfoForm.baseInfoEdit;
let customLabels = this.patientInfoForm.customLabels; let customLabels = this.patientInfoForm.customLabels;
let diseases = this.patientInfoForm.diseases; // let diseases = this.patientInfoForm.diseases;
let icdList = this.patientInfoForm.icdList;
if(customLabels && customLabels.length > 0){ if(customLabels && customLabels.length > 0){
customLabels.forEach((kkk)=>{ customLabels.forEach((kkk)=>{
this.labelIdList.push(Number(kkk.labelId)) this.labelIdList.push(Number(kkk.labelId))
...@@ -384,12 +445,17 @@ ...@@ -384,12 +445,17 @@
}else { }else {
this.labelIdList = []; this.labelIdList = [];
} }
if(diseases && diseases.length > 0) { // if(diseases && diseases.length > 0) {
diseases.forEach((dis)=>{ // diseases.forEach((dis)=>{
this.diseaseIdList.push(Number(dis.diseaseId)) // this.diseaseIdList.push(Number(dis.diseaseId))
}) // })
// }else {
// this.diseaseIdList = [];
// }
if(icdList && icdList.length > 0) {
this.$store.dispatch('patientsDiagnose/changeDiagnoseList', icdList)
}else { }else {
this.diseaseIdList = []; this.$store.dispatch('patientsDiagnose/changeDiagnoseList', [])
} }
if(this.patientInfoForm.idNo) { if(this.patientInfoForm.idNo) {
this.hasIdNo = true; this.hasIdNo = true;
...@@ -412,6 +478,7 @@ ...@@ -412,6 +478,7 @@
await this.getTown(provinceId, cityId, countyId); await this.getTown(provinceId, cityId, countyId);
} }
this.addressList = [Number(provinceId), Number(cityId), Number(countyId), Number(townId)]; this.addressList = [Number(provinceId), Number(cityId), Number(countyId), Number(townId)];
// console.log(this.provinceList);
this.$forceUpdate(); this.$forceUpdate();
}else { }else {
this.addressList = []; this.addressList = [];
...@@ -430,6 +497,7 @@ ...@@ -430,6 +497,7 @@
}, },
}, },
created() { created() {
vm = this;
this.initConstant(); this.initConstant();
}, },
mounted(){ mounted(){
...@@ -441,6 +509,9 @@ ...@@ -441,6 +509,9 @@
...mapGetters([ ...mapGetters([
'_token', '_token',
]), ]),
...mapState('patientsDiagnose', {
selectedDiagList: state => state.selectedDiagList
}),
currentCount(){ currentCount(){
if(this.patientInfoForm.remark) { if(this.patientInfoForm.remark) {
return this.patientInfoForm.remark.length return this.patientInfoForm.remark.length
...@@ -476,7 +547,12 @@ ...@@ -476,7 +547,12 @@
cityId: null, cityId: null,
countyId: null, countyId: null,
townId: null, townId: null,
} },
this.$store.dispatch('patientsDiagnose/changeDiagnoseList', [])
},
// 点击 添加诊断
handleAddDiagnose() {
this.$refs.addDiagnose.showSelf();
}, },
initConstant(){ initConstant(){
getDiseasesList().then((data) => { getDiseasesList().then((data) => {
...@@ -506,17 +582,18 @@ ...@@ -506,17 +582,18 @@
}); });
this.getProvinceLists(); this.getProvinceLists();
}, },
changeDiseases(val) { // changeDiseases(val) {
let newDiseaseList = []; // // 格式化数据 提交用
val.forEach((valItem) => { // let newDiseaseList = [];
this.diseasesList.forEach((item2) => { // val.forEach((valItem) => {
if(valItem == item2.diseaseId){ // this.diseasesList.forEach((item2) => {
newDiseaseList.push({parentDiseaseId: item2.diseaseId}); // if(valItem == item2.diseaseId){
} // newDiseaseList.push({parentDiseaseId: item2.diseaseId});
}) // }
}); // })
this.patientInfoForm.patientDiseases = newDiseaseList; // });
}, // this.patientInfoForm.patientDiseases = newDiseaseList;
// },
changeLabels(val){ changeLabels(val){
let newLabelsList = []; let newLabelsList = [];
val.forEach((valItem) => { val.forEach((valItem) => {
...@@ -558,31 +635,38 @@ ...@@ -558,31 +635,38 @@
this.patientInfoForm.cityId = this.addressList[1]; this.patientInfoForm.cityId = this.addressList[1];
this.patientInfoForm.countyId = this.addressList[2]; this.patientInfoForm.countyId = this.addressList[2];
this.patientInfoForm.townId = this.addressList[3]; this.patientInfoForm.townId = this.addressList[3];
this.provinceLists.forEach((item) => { // this.provinceLists.forEach((item) => {
if(this.patientInfoForm.provinceId == item.provinceId) { // if(this.patientInfoForm.provinceId == item.provinceId) {
this.patientInfoForm.provinceName = item.provinceName; // this.patientInfoForm.provinceName = item.provinceName;
} // }
}); // });
this.cityLists.forEach((item) => { // this.cityLists.forEach((item) => {
if(this.patientInfoForm.cityId == item.cityId) { // if(this.patientInfoForm.cityId == item.cityId) {
this.patientInfoForm.cityName = item.cityName; // this.patientInfoForm.cityName = item.cityName;
} // }
}); // });
this.countyLists.forEach((item) => { // this.countyLists.forEach((item) => {
if(this.patientInfoForm.countyId == item.countyId) { // if(this.patientInfoForm.countyId == item.countyId) {
this.patientInfoForm.countyName = item.countyName; // this.patientInfoForm.countyName = item.countyName;
} // }
}) // })
this.townLists.forEach((item) => { // this.townLists.forEach((item) => {
if(this.patientInfoForm.townId == item.townId) { // if(this.patientInfoForm.townId == item.townId) {
this.patientInfoForm.townName = item.townName; // this.patientInfoForm.townName = item.townName;
} // }
}) // })
this.patientInfoForm.provinceName = vm.region[0];
this.patientInfoForm.cityName = vm.region[1];
this.patientInfoForm.countyName = vm.region[2];
this.patientInfoForm.townName = vm.region[3];
if(this.patientInfoForm.provinceName && this.patientInfoForm.cityName && this.patientInfoForm.countyName && this.patientInfoForm.townName) { if(this.patientInfoForm.provinceName && this.patientInfoForm.cityName && this.patientInfoForm.countyName && this.patientInfoForm.townName) {
this.patientInfoForm.patientAddress = `${this.patientInfoForm.provinceName}${this.patientInfoForm.cityName}${this.patientInfoForm.countyName}${this.patientInfoForm.townName}` this.patientInfoForm.patientAddress = `${this.patientInfoForm.provinceName}${this.patientInfoForm.cityName}${this.patientInfoForm.countyName}${this.patientInfoForm.townName}`
}else { }else {
this.patientInfoForm.patientAddress = ''; this.patientInfoForm.patientAddress = '';
} }
// console.log('-----------',this.patientInfoForm.patientAddress)
} }
this.$refs['patientInfoForm'].validate((valid) => { this.$refs['patientInfoForm'].validate((valid) => {
if(!this.patientInfoForm.idNo) { if(!this.patientInfoForm.idNo) {
...@@ -594,6 +678,7 @@ ...@@ -594,6 +678,7 @@
status: true, status: true,
patientInfoForm: { patientInfoForm: {
...this.patientInfoForm, ...this.patientInfoForm,
icdList: this.selectedDiagList,
birthTime: this.patientInfoForm.birthTime ? `${this.patientInfoForm.birthTime} 00:00:00` : '', birthTime: this.patientInfoForm.birthTime ? `${this.patientInfoForm.birthTime} 00:00:00` : '',
} }
}) })
...@@ -603,6 +688,7 @@ ...@@ -603,6 +688,7 @@
// patientInfoForm: this.patientInfoForm, // patientInfoForm: this.patientInfoForm,
patientInfoForm: { patientInfoForm: {
...this.patientInfoForm, ...this.patientInfoForm,
icdList: this.selectedDiagList,
birthTime: this.patientInfoForm.birthTime ? `${this.patientInfoForm.birthTime} 00:00:00` : '', birthTime: this.patientInfoForm.birthTime ? `${this.patientInfoForm.birthTime} 00:00:00` : '',
} }
}) })
...@@ -707,7 +793,9 @@ ...@@ -707,7 +793,9 @@
this.provinceList.map((item, index) => { this.provinceList.map((item, index) => {
if(item.id == provinceId) { if(item.id == provinceId) {
item.children.map((city, idx) => { item.children.map((city, idx) => {
if(city.id == cityId) {
city.children = this.countyLists; city.children = this.countyLists;
}
}) })
} }
}) })
...@@ -722,6 +810,7 @@ ...@@ -722,6 +810,7 @@
this.townLists.map(item => { this.townLists.map(item => {
this.$set(item, "id", item.townId); this.$set(item, "id", item.townId);
this.$set(item, "name", item.townName); this.$set(item, "name", item.townName);
this.$set(item, "leaf", true);
// this.$set(item, "children", []); // this.$set(item, "children", []);
}); });
this.provinceList.map((item, index) => { this.provinceList.map((item, index) => {
...@@ -729,7 +818,9 @@ ...@@ -729,7 +818,9 @@
item.children.map((city, index2) => { item.children.map((city, index2) => {
if(city.id == cityId) { if(city.id == cityId) {
city.children.map((county, index3) => { city.children.map((county, index3) => {
if(county.id == countyId) {
county.children = this.townLists; county.children = this.townLists;
}
}) })
} }
}) })
...@@ -754,7 +845,14 @@ ...@@ -754,7 +845,14 @@
let s = n - old; let s = n - old;
return Math.floor(s / (24 * 3600 * 1000)); return Math.floor(s / (24 * 3600 * 1000));
// return s; // return s;
} },
handleChange() {
setTimeout(function() {
let region = vm.$refs["cascaderRegion"].inputValue;
vm.region = region.split(" / ");
// console.log("vm.region",vm.region)
},20)
},
}, },
filters: { filters: {
emptyFilter: function(value) { emptyFilter: function(value) {
...@@ -799,5 +897,15 @@ ...@@ -799,5 +897,15 @@
.idNoTxt{ .idNoTxt{
display: inline-flex;color:#C0C4CC;line-height:20px;vertical-align: middle; display: inline-flex;color:#C0C4CC;line-height:20px;vertical-align: middle;
} }
.final-diagnose-list{
color: #BBB;
line-height: 20px;
margin-top: 15px;
overflow: hidden;
li{
float:left;
margin-right: 5px;
}
}
} }
</style> </style>
...@@ -35,11 +35,15 @@ ...@@ -35,11 +35,15 @@
<!--<div><p class="title">健康档案编号:</p><p class="info">{{patientInfo.fileLocator | emptyFilter}}</p></div>--> <!--<div><p class="title">健康档案编号:</p><p class="info">{{patientInfo.fileLocator | emptyFilter}}</p></div>-->
<!--<div><p class="title">医保号:</p><p class="info">{{patientInfo.socialCard | emptyFilter}}</p></div>--> <!--<div><p class="title">医保号:</p><p class="info">{{patientInfo.socialCard | emptyFilter}}</p></div>-->
<!--</div>--> <!--</div>-->
<div class="has-header">数据记录</div>
<div class="item wrap-p"> <div class="item wrap-p">
<div><p class="title">诊断:</p><p class="info">{{showDiseaseName | emptyFilter}}</p></div> <div><p class="title">诊断:</p><p class="info">{{showDiseaseName | emptyFilter}}</p></div>
<div><p class="title">分组:</p><p class="info">{{showLabelName | emptyFilter}}</p></div> <div><p class="title">分组:</p><p class="info">{{showLabelName | emptyFilter}}</p></div>
</div> </div>
<!-- <div class="has-header">数据记录</div>
<div class="item wrap-p">
<div><p class="title">诊断:</p><p class="info">{{showDiseaseName | emptyFilter}}</p></div>
<div><p class="title">分组:</p><p class="info">{{showLabelName | emptyFilter}}</p></div>
</div>-->
<div class="has-header">联系方式</div> <div class="has-header">联系方式</div>
<div class="item"> <div class="item">
<div><p class="title">手机号:</p><p class="info">{{patientInfo.mobilePhone | emptyFilter}}</p></div> <div><p class="title">手机号:</p><p class="info">{{patientInfo.mobilePhone | emptyFilter}}</p></div>
...@@ -70,7 +74,6 @@ ...@@ -70,7 +74,6 @@
placeholder="请输入内容" placeholder="请输入内容"
v-model="patientInfo.remark" v-model="patientInfo.remark"
maxlength="200" maxlength="200"
:show-word-limit="true"
> >
</el-input> </el-input>
</p> </p>
...@@ -181,7 +184,8 @@ ...@@ -181,7 +184,8 @@
if(this.patientInfo){ if(this.patientInfo){
this.doctorId = this.patientInfo.doctorId; this.doctorId = this.patientInfo.doctorId;
let customLabels = this.patientInfo.customLabels; let customLabels = this.patientInfo.customLabels;
let diseases = this.patientInfo.diseases; // let diseases = this.patientInfo.diseases;
let icdList = this.patientInfo.icdList;
let groupLabelNames = []; let groupLabelNames = [];
let groupDiseaseNames = []; let groupDiseaseNames = [];
//对出生日期的处理 //对出生日期的处理
...@@ -202,9 +206,18 @@ ...@@ -202,9 +206,18 @@
} else { } else {
this.showLabelName = ''; this.showLabelName = '';
} }
// 对诊断疾病的处理 // 对诊断疾病的处理(老版诊断)
if(diseases) { // if(diseases) {
diseases.forEach(item => { // diseases.forEach(item => {
// groupDiseaseNames.push(item.diseaseName)
// });
// this.showDiseaseName = groupDiseaseNames.join(';');
// } else {
// this.showDiseaseName = '';
// }
// 对诊断疾病的处理(新版诊断)
if(icdList) {
icdList.forEach(item => {
groupDiseaseNames.push(item.diseaseName) groupDiseaseNames.push(item.diseaseName)
}); });
this.showDiseaseName = groupDiseaseNames.join(';'); this.showDiseaseName = groupDiseaseNames.join(';');
......
...@@ -30,15 +30,37 @@ ...@@ -30,15 +30,37 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="诊断:" prop="startDate"> <el-form-item label="诊断:" prop="startDate" class="diagnose-select-style">
<el-select v-model="searchData.diseaseId" size="small" clearable :popper-append-to-body="false"> <!-- <el-select v-model="searchData.diseaseId" size="small" clearable :popper-append-to-body="false" placeholder="请选择或搜索诊断">
<el-option <el-option
v-for="item in diseaseList" v-for="item in diseaseList"
:key="item.diseaseId" :key="item.diseaseId"
:label="item.diseaseName" :label="item.diseaseName"
:value="item.diseaseId"> :value="item.diseaseId">
</el-option> </el-option>
</el-select> -->
<!-- new Start -->
<el-select
v-model="searchData.icdCodeList"
multiple
filterable
remote
size="small"
collapse-tags
reserve-keyword
placeholder="请选择或搜索诊断"
:remote-method="getDiseaseData"
:loading="loading"
:popper-append-to-body="false"
>
<el-option
v-for="item in options"
:key="item.icdCode"
:label="item.diseaseName"
:value="item.icdCode">
</el-option>
</el-select> </el-select>
<!-- new End -->
</el-form-item> </el-form-item>
<el-form-item label="分组:" prop="labelId"> <el-form-item label="分组:" prop="labelId">
<el-select v-model="searchData.labelId" size="small" clearable :popper-append-to-body="false"> <el-select v-model="searchData.labelId" size="small" clearable :popper-append-to-body="false">
...@@ -138,7 +160,8 @@ ...@@ -138,7 +160,8 @@
<script> <script>
import BreadCrumb from '../../../components/breadcrumb.vue' import BreadCrumb from '../../../components/breadcrumb.vue'
import { getConstants, import { getConstants,
getDiseasesList, // getDiseasesList,
getIcdList,
getLabelList, getLabelList,
getPatientList} from '../../../utils/patients/patientsapi' getPatientList} from '../../../utils/patients/patientsapi'
export default { export default {
...@@ -161,12 +184,14 @@ ...@@ -161,12 +184,14 @@
agesList: [], //年龄 agesList: [], //年龄
diseaseList: [], diseaseList: [],
groupList: [], groupList: [],
patientList: [] patientList: [],
options: [],
loading: false,
} }
}, },
mounted() { mounted() {
this.getConstantData(); //获取性别、年龄段常量 this.getConstantData(); //获取性别、年龄段常量
this.getDiseaseData(); //获取疾病种类 this.getDiseaseData(); //获取 搜索诊断
this.getGroupList(); //获取分组 this.getGroupList(); //获取分组
this.getPatients({ this.getPatients({
...this.searchData ...this.searchData
...@@ -188,10 +213,27 @@ ...@@ -188,10 +213,27 @@
}); });
}); });
}, },
getDiseaseData() { getDiseaseData(query) {
getDiseasesList().then((data) => { // getDiseasesList().then((data) => {
// if(data.code == "000000") {
// this.diseaseList = data.data;
// }
// }).catch((error) => {
// this.$message({
// message: error,
// type: 'error'
// });
// });
let params = {
diseaseName: query ? query : '',
pageNum: 1,
pageSize: 200,
};
this.loading = true;
getIcdList(params).then(data => {
this.loading = false;
if(data.code == "000000") { if(data.code == "000000") {
this.diseaseList = data.data; this.options = data.data;
} }
}).catch((error) => { }).catch((error) => {
this.$message({ this.$message({
...@@ -262,7 +304,7 @@ ...@@ -262,7 +304,7 @@
//转化疾病 //转化疾病
if (item.patientTypeModels) { if (item.patientTypeModels) {
item.patientTypeModels.forEach(item => { item.patientTypeModels.forEach(item => {
diseaseNames.push(item.name) diseaseNames.push(item.diseaseName)
}) })
item.showDiseaseNames = diseaseNames.join('、'); item.showDiseaseNames = diseaseNames.join('、');
} else { } else {
...@@ -337,6 +379,22 @@ ...@@ -337,6 +379,22 @@
border-bottom: 1px solid #efefef; border-bottom: 1px solid #efefef;
.search-input{ .search-input{
flex: 1; flex: 1;
.diagnose-select-style{
.el-input__inner{
height: 32px !important;
}
.el-select__tags-text{
display: inline-block;
max-width: 75px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.el-tag__close.el-icon-close{
top: -6px;
}
}
} }
.search-btn { .search-btn {
text-align: right; text-align: right;
......
...@@ -95,6 +95,9 @@ ...@@ -95,6 +95,9 @@
this.$refs.newForm.diseaseIdList = []; this.$refs.newForm.diseaseIdList = [];
this.$refs.newForm.labelIdList = []; this.$refs.newForm.labelIdList = [];
this.$refs.newForm.addressList = []; this.$refs.newForm.addressList = [];
// 清空已选的诊断列表
this.$store.dispatch('patientsDiagnose/changeDiagnoseList', []);
// this.$router.go(0);//体验不好 // this.$router.go(0);//体验不好
},500) },500)
}else { }else {
......
...@@ -109,12 +109,22 @@ ...@@ -109,12 +109,22 @@
></el-pagination> ></el-pagination>
</div> </div>
<el-dialog title :visible.sync="dialog.show" width="30%" center> <el-dialog title :visible.sync="dialog.show" width="30%" center>
<p v-if="numL3 > 1" class="dialog-p"> <!-- <p v-if="numL3 > 1" class="dialog-p">
确认将{{ dialog.role }} 确认将{{ dialog.role }}
<span class="user-name">"{{ dialog.name }}"</span> <span class="user-name">"{{ dialog.name }}"</span>
{{ dialog.option }}吗?" {{ dialog.option }}吗?"
</p> </p>
<p v-else >该用户为此机构仅有的次级负责人,确认需要降级吗?</p> <p v-else >该用户为此机构仅有的次级负责人,确认需要降级吗?</p> -->
<p v-if="numL3 <= 1 && scopeRow.projeceRole == 'L3'" class="dialog-p">
该用户为此机构仅有的次级负责人,确认需要降级吗?
</p>
<p v-else>
确认将{{ dialog.role }}
<span class="user-name">"{{ dialog.name }}"</span>
{{ dialog.option }}吗?"
</p>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button type="default" size="small" @click="dialog.show = false">取消</el-button> <el-button type="default" size="small" @click="dialog.show = false">取消</el-button>
<el-button type="primary" size="small" @click="changeRole()">确定</el-button> <el-button type="primary" size="small" @click="changeRole()">确定</el-button>
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册