Browse Source

区域搜素

admin_version1.0_2025_06_26
kuaileWu 2 weeks ago
parent
commit
e523cd5c45
  1. 6
      src/views/HomeView.vue
  2. 113
      src/views/HosInformation.vue

6
src/views/HomeView.vue

@ -128,7 +128,7 @@ export default {
depart_name: "中医科",
doctor_id: "1",
hid: "1",
hispital_name: "武丽娜中医针灸",
hispital_name: "",
id: "1",
is_fixed: "1",
project_count: 24,
@ -144,7 +144,7 @@ export default {
depart_name: "中医科",
doctor_id: "1",
hid: "1",
hispital_name: "武丽娜中医针灸",
hispital_name: "",
id: "1",
is_fixed: "1",
project_count: 24,
@ -158,7 +158,7 @@ export default {
depart_name: "中医科",
doctor_id: "1",
hid: "1",
hispital_name: "武丽娜中医针灸",
hispital_name: "",
id: "1",
is_fixed: "1",
project_count: 24,

113
src/views/HosInformation.vue

@ -30,13 +30,18 @@
<div class="mb24" style="margin-top:-24px;">
<el-autocomplete
v-model="state"
:fetch-suggestions="queryHospital"
placeholder="请输入医院名称或地址"
@select="handleSelect"
></el-autocomplete>
<!-- <GuipSelectFilter v-model="hospitalName" :options="hosipitalList" :searchable="true" placeholder="请选择" :filter-method="hosipitalFilter" search-placeholder="搜索..." /> -->
v-model="hospitalSearchState"
:fetch-suggestions="queryHospital"
placeholder="请输入医院名称或地址"
ref="hospitalAutocomplete"
@select="hospitalHandleSelect">
<template #append>
<el-button
icon="el-icon-search"
@click="handleSearch"
style="padding: 12px;"></el-button>
</template>
</el-autocomplete>
</div>
<GuipFormItem column="column" class="mb24" label="医院简称">
@ -100,7 +105,7 @@
</GuipFormItem>
</div>
<div class="flex-line"></div>
<div class="flex-right">
<div class="flex-right" v-if="form.worktimes">
<GuipFormItem column="column" label="每周出诊安排" :required="true">
<div class="flex weekPlan" slot="formDom">
<GuipSelect v-for="day in weekDays" :key="day.id" v-model="form.worktimes[day.id].plan"
@ -164,7 +169,7 @@
<el-checkbox @change="handleSelectAllChange" v-model="selectAll"
:indeterminate="isIndeterminate">全选</el-checkbox>
</div>
<span class="totalCount">{{ projectList.length }}已选{{ selectedCount }}</span>
<span class="totalCount">{{ projectList.length }}已选8{{ selectedCount }}</span>
<GuipButton type="ignore" :btnstyle="{ width: '99px', height: '32px', margin: '0 26px' }"
@click="batchOperate(0,'project')">批量禁用</GuipButton>
<GuipButton type="ignore" :btnstyle="{ width: '99px', height: '32px' }"
@ -309,7 +314,7 @@ import GuipSelect from '@/components/GuipSelect.vue';
import GuipSwitch from '@/components/GuipSwitch.vue';
import GuipTable from '@/components/GuipTable.vue';
import GuipDialog from '@/components/GuipDialog.vue';
import GuipSelectFilter from '@/components/GuipSelectFilter.vue';
//import GuipSelectFilter from '@/components/GuipSelectFilter.vue';
import { mapState } from 'vuex';
import { Object } from 'core-js';
@ -330,7 +335,7 @@ export default {
GuipSelect,
GuipTextarea,
GroupFormBtns,
GuipSelectFilter,
// GuipSelectFilter,
},
data() {
return {
@ -361,7 +366,8 @@ export default {
hospitalRestaurants: [],
hospitalSearchState: '',
hospitalSearchTimeout: null,
hospitalSearchFlag: false,
hospitalSearchTimeout: false,
projectList: [
{
@ -474,19 +480,19 @@ export default {
province: '',
city: '',
depart_name: '',
address:"万柏林区 晋祠路一段56号凯旋门小区2幢4005",
afternoon_worktime:"14:00-22:00",
address:"",
afternoon_worktime:"",
depart_id:"1",
h_name:"武丽娜中医针灸",
h_pos:"37.850249,112.53111",
hid:"1",
is_fixed:'1',
morning_worktime:"8:00-11:00",
notice:"周六上午门诊最后一轮扎针到10点50分,11点后到患者的,只开药,不扎针。\r\n初诊患者请先将挂号条交给医助、在门外静坐等待叫号\r\n为了节约大家排号时间,请全部挂号,按挂号顺序治疗\r\n针灸治疗单缴费完毕后请交还医助\r\n药费缴费完毕后交方给药房等待拿药(可办理快递)\r\n请准备一次性医用床单(可现场购买)和户外保温毯(推荐),户外保温毯购买链接:<a href=\"https://m.tb.cn/h.UJglv3C?tk=5KMnd9XFr3D\" target=\"_blank\">https://m.tb.cn/h.UJglv3C?tk=5KMnd9XFr3D</a>",
time_unit:"15",
time_unit_num:"10",
treat_expire:"365",
visit_day:"7"
h_name:"",
h_pos:"",
hid:"0",
is_fixed:'0',
morning_worktime:"",
notice:"",
time_unit:"0",
time_unit_num:"0",
treat_expire:"0",
visit_day:"0"
},
siteFormrules: {
depart_name: [
@ -545,35 +551,52 @@ export default {
...mapState(['hosMenuData']) // VuexshowSidebar
},
methods: {
handleSearch() {
if(this.hospitalSearchFlag) return
this.hospitalSearchFlag = true
this.$refs.hospitalAutocomplete.$refs.suggestions.loading = true
this.queryHospital(this.hospitalSearchState, (results) => {
console.log(results)
this.$refs.hospitalAutocomplete.$refs.suggestions.loading = false
this.$refs.hospitalAutocomplete.hideLoading = true
this.$refs.hospitalAutocomplete.$refs.suggestions.suggestions = results
console.log(this.hospitalSearchState)
this.$refs.hospitalAutocomplete.getData(this.hospitalSearchState)
})
},
hospitalHandleSelect(item) {
console.log(item);
},
queryHospital(queryString, cb) {
if(!this.hospitalSearchFlag) return;
this.hospitalSearchTimeout = setTimeout(function(){
this.hospitalSearchFlag = false
}.bind(this), 5000);
this.$http('POST', '/api/admin/search_hoispital', {
keyword: queryString,
province: this.form.province,
city: this.form.city,
}).then(response => {
if(response.code == 0) {
this.hospitalRestaurants = response.data
}else{
this.hospitalSearchFlag = false
clearTimeout(this.hospitalSearchTimeout)
if(response.code !== 0) {
cb([]);
this.$message.error(response.msg);
return
}
this.hospitalRestaurants = Object.values(response.data)
var restaurants = this.hospitalRestaurants;
var results = queryString ? restaurants : [];
cb(results);
}).catch(error => {
this.hospitalSearchFlag = false
clearTimeout(this.hospitalSearchTimeout)
cb([]);
console.error(error, 'error')
})
var restaurants = this.restaurants;
var results = queryString ? restaurants.filter(this.createStateFilter(queryString)) : restaurants;
clearTimeout(this.timeout);
this.timeout = setTimeout(() => {
cb(results);
}, 3000 * Math.random());
},
hosipitalFilter(keyword, options) {
if (!keyword) return options
return options.filter(item => {
//
return item.label.includes(keyword) || item.value.includes(keyword)
})
},
random() {
var randomNumber = Math.random();
@ -623,7 +646,7 @@ export default {
if(response.code == 0){
this.loading1 = false
this.$nextTick(()=>{
this.courseList = response.data.list;
this.courseList = response.data.list ? response.data.list : [];
this.tableKey1 = Date.now(); //
})
}
@ -987,6 +1010,7 @@ export default {
console.log(data, '---');
},
updateHosInfo(props){
console.log(props)
this.$http('POST', '/api/admin/set_hospital_depart', {
...props
}).then(response => {
@ -998,9 +1022,8 @@ export default {
})
},
submitForm(form) {
console.log(this.$refs[form], '-----');
this.$refs[form].validate((valid) => {
console.log(this[form], '======formxinxi');
console.log(this[form], '======formxinxi8', '=============='+form);
if (valid) {
alert('提交成功!');
let props = {}

Loading…
Cancel
Save