提交 229a6cf2 编写于 作者: qian.jie's avatar qian.jie

Merge branch 'feature/jq_1' into 'develop'

Feature/jq 1

See merge request !216
......@@ -21,21 +21,6 @@
class="required-label"
prop="triageDepartmentId"
>
<!-- <el-select
v-model="model.triageDepartmentId"
placeholder="请选择分诊科室"
clearable
filterable
style="width: 56%; height: 32px; line-height: 32px"
@change="change"
>
<el-option
v-for="item in depList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select> -->
<el-cascader
ref="cascader"
v-model="model.triageDepartmentId"
......@@ -263,8 +248,13 @@
},
change() {
const checkedNodes = this.$refs['cascader'].getCheckedNodes();
this.model.triageDepartmentId = checkedNodes[0].value;
this.model.triageDepartment = checkedNodes[0].label;
if (checkedNodes.length > 0) {
this.model.triageDepartmentId = checkedNodes[0].value;
this.model.triageDepartment = checkedNodes[0].label;
}else{
this.model.triageDepartmentId = '';
this.model.triageDepartment = '';
}
console.log(this.model.triageDepartmentId, 'model.triageDepartmentId');
console.log(this.model.triageDepartment, 'model.triageDepartment');
},
......
......@@ -15,7 +15,7 @@
class="serviceSchedule_select"
>
<div class="agmentSelect-select-left">
<el-cascader
<!-- <el-cascader
v-model="innerform"
class="serviceSchedule-cascader"
filterable
......@@ -26,7 +26,32 @@
:show-all-levels="false"
@expand-change="handleItemChange"
@change="selectApi($event, innerform)"
/>
/> -->
<el-cascader
ref="cascader"
v-model="departmentId"
filterable
clearable
class="serviceSchedule-cascader"
:options="allTilst"
placeholder="选择科室"
:show-all-levels="false"
@change="changeDepartment"
>
<template slot-scope="{ data }">
<span :style="{ fontSize: '15px', color: '#606266' }">{{
data.label
}}</span>
<span
:style="{
fontSize: '10px',
color: '#606266',
marginLeft: '10px',
opacity: '0.7',
}"
>{{ data.text }}</span>
</template>
</el-cascader>
<el-date-picker
v-model="dateTime"
class="serviceSchedule_dateTime"
......@@ -81,14 +106,13 @@
</div>
</template>
<script>
import { departmentAll } from '@/api/diagnosis';
import FullCalendar from '@fullcalendar/vue';
import dayGridPlugin from '@fullcalendar/daygrid';
import timeGridPlugin from '@fullcalendar/timegrid';
import interactionPlugin from '@fullcalendar/interaction';
import resourceTimeGridPlugin from '@fullcalendar/resource-timegrid';
import {
getFirstLevelLable,
childLabelList,
previewWork,
setPlatformUpper,
getPlatformUpper,
......@@ -160,11 +184,13 @@
index: 0,
getWidth: '100%',
getMaxWidth: '100%',
allTilst: [],
allList: {},
};
},
watch: {},
created() {
this.getFirstLevelLable();
this.departmentAll();
this.getPlatformUpper();
},
mounted() {},
......@@ -194,45 +220,57 @@
getInputNumber(value) {
console.log(value, 'getInputNumbergetInputNumber');
},
// 通过监听expand-change事件(当展开节点发生变化时触发)获取第二层数据,组装interfaceOptions数据
handleItemChange(val) {
const value = val[0];
childLabelList(value).then((res) => {
if (res.code === '000000') {
const interfaceArr = (res.data || []).map((item) => {
return {
value: item.name,
no: item.id,
};
});
this.interfaceOptions.filter((item) => {
if (item.no === value) {
this.$set(item, 'interface', interfaceArr);
}
return;
});
departmentAll() {
departmentAll().then((res) => {
if (res.code == '000000') {
console.log(res, 'res111');
this.allList = res.data || {};
this.showListALL();
}
});
},
getFirstLevelLable() {
getFirstLevelLable().then((res) => {
if (res.code === '000000') {
this.interfaceOptions = res.data || [];
this.interfaceOptions.forEach((item, index) => {
// 添加属性
this.$set(this.interfaceOptions[index], 'interface', []);
});
} else {
this.$message({
message: res.msg,
type: 'warning',
});
}
showListALL() {
const arr = [];
const { departmentMapList, parentDepartmentList } = this.allList;
parentDepartmentList.map((item) => {
const obj = {
label: item.departmentName,
value: item.departmentId,
children: [],
};
departmentMapList.map((info) => {
if (info.parentDepartmentId === obj.value) {
const children = [];
info.diagnoseDepartmentRespList.map((detail) => {
const secondObj = {
label: detail.departmentName,
value: detail.departmentId,
text: '',
};
let secondChildren = '';
(detail.departmentDeseaseRespList || []).map((res) => {
secondChildren += res.deseaseName + ' ';
});
secondObj.text = `(${secondChildren})`;
children.push(secondObj);
});
obj.children = children;
}
});
arr.push(obj);
});
console.log(arr);
this.allTilst = arr;
},
// 获取选择的值
selectApi(e, value) {
this.departmentId = value[1];
changeDepartment() {
const checkedNodes = this.$refs['cascader'].getCheckedNodes();
if (checkedNodes.length > 0) {
this.departmentId = checkedNodes[0].value;
}else{
this.departmentId = '';
}
},
getNowDate(value) {
this.dateTime = value;
......
......@@ -14,27 +14,15 @@
<div class="serviceSchedule-containerInfo">
<div class="serviceSchedule-containerInfo-left">
<el-cascader
v-model="innerform"
class="serviceSchedule-cascader"
ref="cascader"
v-model="searchParam.departmentId"
filterable
clearable
:options="interfaceOptions"
:props="props"
placeholder="选择科室"
:show-all-levels="false"
@expand-change="handleItemChange"
@change="selectApi($event, innerform)"
/>
<el-cascader
v-model="innerform"
class="serviceSchedule-cascader"
filterable
clearable
:options="allTilst"
placeholder="选择科室"
:show-all-levels="false"
@expand-change="handleItemChange"
@change="selectApi($event, innerform)"
@change="changeDepartment"
>
<template slot-scope="{ data }">
<span :style="{ fontSize: '15px', color: '#606266' }">{{
......@@ -43,7 +31,7 @@
<span
:style="{
fontSize: '10px',
color: '#00BDA5',
color: '#606266',
marginLeft: '10px',
opacity: '0.7',
}"
......@@ -172,13 +160,12 @@
<script>
import {
getFirstLevelLable,
childLabelList,
workQuery,
switchOpen,
workInStep,
getLevel,
} from '@/api/serviceSchedule';
import { departmentAll } from '@/api/diagnosis';
import TableServiceSchedule from '@/components/list/table-serviceSchedule';
export default {
components: {
......@@ -239,121 +226,32 @@
loading: false,
newCreateList: [],
allTilst: [],
allList: {
parentDepartmentList: [
{
no: 11,
value: '妇产科',
},
{
no: 27,
value: '口腔科',
},
],
departmentMapList: [
{
diagnoseDepartmentRespList: [
{
departmentDeseaseRespList: [
{
deseaseId: 1001,
deseaseName: '高血压',
},
{
deseaseId: 1002,
deseaseName: '高血脂',
},
{
deseaseId: 1002,
deseaseName: '高血糖',
},
],
departmentId: 4,
departmentName: '妇科',
parentdepartmentId: 11,
},
{
departmentDeseaseRespList: [
{
deseaseId: 1003,
deseaseName: '这是一个妇科的描述1',
},
],
departmentId: 56,
departmentName: '妇产科',
parentdepartmentId: 11,
},
{
departmentDeseaseRespList: [
{
deseaseId: 1002,
deseaseName: '这是一个妇科的描述2',
},
],
departmentId: 172,
departmentName: '产前检查科',
parentdepartmentId: 11,
},
],
parentDepartmentId: 11,
},
{
diagnoseDepartmentRespList: [
{
departmentDeseaseRespList: [
{
deseaseId: 1064,
deseaseName: '口腔科描述3',
},
],
departmentId: 64,
departmentName: '口腔科',
parentdepartmentId: 27,
},
{
departmentDeseaseRespList: [
{
deseaseId: 1065,
deseaseName: '口腔科描述2',
},
],
departmentId: 64,
departmentName: '颌面外科',
parentdepartmentId: 27,
},
{
departmentDeseaseRespList: [
{
deseaseId: 1066,
deseaseName: '口腔科描述1',
},
],
departmentId: 64,
departmentName: '牙周科',
parentdepartmentId: 27,
},
],
parentDepartmentId: 27,
},
],
},
allList: {},
};
},
watch: {},
created() {
this.getFirstLevelLable();
this.getLevel();
this.departmentAll();
this.search();
this.showListALL();
},
methods: {
departmentAll() {
departmentAll().then((res) => {
if (res.code == '000000') {
console.log(res, 'res111');
this.allList = res.data || {};
this.showListALL();
}
});
},
showListALL() {
const arr = [];
const { departmentMapList, parentDepartmentList } = this.allList;
parentDepartmentList.map((item) => {
const obj = {
label: item.value,
value: item.no,
label: item.departmentName,
value: item.departmentId,
children: [],
};
departmentMapList.map((info) => {
......@@ -366,7 +264,7 @@
text: '',
};
let secondChildren = '';
detail.departmentDeseaseRespList.map((res) => {
(detail.departmentDeseaseRespList || []).map((res) => {
secondChildren += res.deseaseName + ' ';
});
secondObj.text = `(${secondChildren})`;
......@@ -381,46 +279,14 @@
console.log(arr);
this.allTilst = arr;
},
// 通过监听expand-change事件(当展开节点发生变化时触发)获取第二层数据,组装interfaceOptions数据
handleItemChange(val) {
const value = val[0];
childLabelList(value).then((res) => {
if (res.code === '000000') {
const interfaceArr = (res.data || []).map((item) => {
return {
value: item.name,
no: item.id,
};
});
this.interfaceOptions.filter((item) => {
if (item.no === value) {
this.$set(item, 'interface', interfaceArr);
}
return;
});
}
});
},
getFirstLevelLable() {
getFirstLevelLable().then((res) => {
if (res.code === '000000') {
this.interfaceOptions = res.data || [];
this.interfaceOptions.forEach((item, index) => {
// 添加属性
this.$set(this.interfaceOptions[index], 'interface', []);
});
} else {
this.$message({
message: res.msg,
type: 'warning',
});
}
});
},
// 获取选择的值
selectApi(e, value) {
this.searchParam.departmentId = value[1];
this.searchParam.pageNo = 1;
changeDepartment() {
const checkedNodes = this.$refs['cascader'].getCheckedNodes();
if (checkedNodes.length > 0) {
this.searchParam.departmentId = checkedNodes[0].value;
}else{
this.searchParam.departmentId = '';
}
},
getCreateType(value) {
this.searchParam.createType = value;
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册