提交 eecfaa66 编写于 作者: 张磊's avatar 张磊

auto commit

上级 05374814
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
"push": "bash gitPush.sh" "push": "bash gitPush.sh"
}, },
"dependencies": { "dependencies": {
"@amap/amap-jsapi-loader": "^1.0.1",
"axios": "^0.19.2", "axios": "^0.19.2",
"core-js": "^3.6.5", "core-js": "^3.6.5",
"dayjs": "^1.8.30", "dayjs": "^1.8.30",
...@@ -73,7 +74,8 @@ ...@@ -73,7 +74,8 @@
"vue-skeleton-webpack-plugin": "^1.2.2", "vue-skeleton-webpack-plugin": "^1.2.2",
"vue-template-compiler": "^2.6.11", "vue-template-compiler": "^2.6.11",
"webpack-bundle-analyzer": "^4.4.2", "webpack-bundle-analyzer": "^4.4.2",
"pdfjs-dist": "2.4.456" "pdfjs-dist": "2.4.456",
"storejs": "2.0.1"
}, },
"eslintConfig": { "eslintConfig": {
"root": true, "root": true,
......
...@@ -28,5 +28,21 @@ ...@@ -28,5 +28,21 @@
<script src="<%= VUE_APP_OSS_URL %>static/js/crypto.min-4.0.0.js"></script> <script src="<%= VUE_APP_OSS_URL %>static/js/crypto.min-4.0.0.js"></script>
<script src="<%= VUE_APP_OSS_URL %>static/js/vconsole-3.3.4.js"></script> <script src="<%= VUE_APP_OSS_URL %>static/js/vconsole-3.3.4.js"></script>
<script src="<%= VUE_APP_OSS_URL %>static/js/lodash-4.17.15.js"></script> <script src="<%= VUE_APP_OSS_URL %>static/js/lodash-4.17.15.js"></script>
<script>
!(function(c,b,d,a){c[a]||(c[a]={});c[a].config=
{
pid:"bj53rb58f5@29641a9002f6545",
appType:"web",
imgUrl:"https://arms-retcode.aliyuncs.com/r.png?",
sendResource:true,
enableLinkTrace:true,
behavior:true,
useFmp:true,
enableSPA:true,
enableConsole:true
};
with(b)with(body)with(insertBefore(createElement("script"),firstChild))setAttribute("crossorigin","",src=d)
})(window,document,"https://retcode.alicdn.com/retcode/bl.js","__bl");
</script>
</body> </body>
</html> </html>
import request from 'mn-template/plugins/http';
// 根据订单号获取检测名称
// /tis/insurance/detectionName?yunOrderNo=11
export const getDetectionName = (yunOrderNo) => {
return request({
method: 'get',
url: `/tis/insurance/detectionName?yunOrderNo=${yunOrderNo}`,
withCredentials: true,
});
};
// /tis/insurance/order/info?yunOrderNo=1
// 查询订单信息
export const getOrderInfo = (yunOrderNo) => {
return request({
method: 'get',
url: `/tis/insurance/order/info?yunOrderNo=${yunOrderNo}`,
withCredentials: true,
});
};
export const appointment = (data) => {
return request({
method: 'post',
data,
url: '/tis/insurance/appointment',
withCredentials: true,
});
};
// /insurance/getDetailByYunOrderNo
// 查看预约详情
export const getDetailByYunOrderNo = (yunOrderNo) => {
return request({
method: 'get',
url: `/tis/insurance/getDetailByYunOrderNo?yunOrderNo=${yunOrderNo}`,
withCredentials: true,
});
};
import $http from 'mn-template/plugins/http'; import request from 'mn-template/plugins/http';
// 获取检测详情 接口
// 获取亲友列表 export const getButtonStatus = (id) => {
export const listRelatives = () => $http({ return request({
method: 'get', method: 'get',
url: '/splitter/live/v2/list', url: `/tis/insurance/buttonStatus?yunOrderNo=${id}`,
params: {version: '3.2.1'} withCredentials: true,
}); });
};
// 新增亲友
export const list = params => $http.get('/aaa/bbb', params);
import request from 'mn-template/plugins/http';
// 获取检测详情 接口
export const getButtonStatus = (id) => {
return request({
method: 'get',
url: `/tis/insurance/makeAppointmentStatus?yunOrderNo=${id}`,
withCredentials: true,
});
};
// 根据订单号获取跳转页状态/
// /tis/insurance/jumpPageStatus?orderNo=1&projectEquityNo=1
export const getJumpPageStatus = (orderNo, projectEquityNo) => {
return request({
method: 'get',
url: `/tis/insurance/jumpPageStatus?orderNo=${orderNo}&projectEquityNo=${projectEquityNo}`,
withCredentials: true,
});
};
...@@ -8,7 +8,7 @@ export const getProvinceList = async params => { ...@@ -8,7 +8,7 @@ export const getProvinceList = async params => {
method: 'get', method: 'get',
params: params, params: params,
withCredentials: true, withCredentials: true,
url: '/basic-data/position/provinces' url: 'tis/insurance/provinces'
}); });
}; };
/** /**
...@@ -19,7 +19,7 @@ export const getCityList = async params => { ...@@ -19,7 +19,7 @@ export const getCityList = async params => {
method: 'get', method: 'get',
params: params, params: params,
withCredentials: true, withCredentials: true,
url: '/basic-data/position/cities' url: 'tis/insurance/cities'
}); });
}; };
/** /**
...@@ -30,7 +30,7 @@ export const getCountyList = async params => { ...@@ -30,7 +30,7 @@ export const getCountyList = async params => {
method: 'get', method: 'get',
params: params, params: params,
withCredentials: true, withCredentials: true,
url: '/basic-data/position/counties' url: '/tis/insurance/counties'
}); });
}; };
/** /**
......
...@@ -48,7 +48,12 @@ export default { ...@@ -48,7 +48,12 @@ export default {
locationAreaCode: { locationAreaCode: {
type: Array, type: Array,
default:() => [] default:() => []
},
projectEquityNo: {
type: String,
default:() => ''
} }
// CX202302091000154321
}, },
data() { data() {
return { return {
...@@ -63,7 +68,7 @@ export default { ...@@ -63,7 +68,7 @@ export default {
}, },
watch: { watch: {
locationAreaCode:{ locationAreaCode:{
async handler(nv, ov) { async handler(nv, ov) {
console.log('locationAreaCode', nv, ov); console.log('locationAreaCode', nv, ov);
this.provinceList = await this.getProvinceList(); this.provinceList = await this.getProvinceList();
this.cityList = await this.getCityList(nv[0]); this.cityList = await this.getCityList(nv[0]);
...@@ -92,35 +97,35 @@ export default { ...@@ -92,35 +97,35 @@ export default {
}, },
// 获取省列表 // 获取省列表
getProvinceList() { getProvinceList() {
return new Promise((resolve, rejects) => { const datas = {projectEquityNo:this.projectEquityNo};
getProvinceList().then(res => { return new Promise((resolve, rejects) => {
getProvinceList(datas).then(res => {
this.hideLoading(); this.hideLoading();
const data = res.data.provinceList.map(ele => { const data = res.data.provinceList.map(ele => {
return { return {
name: ele.provinceName, name: ele.provinceName,
id:ele.provinceId id:ele.provinceId
}; };
}); });
resolve(data); resolve(data);
}).catch(err => { }).catch(err => {
rejects(err); rejects(err);
}); });
}).finally(this.hideLoading); }).finally(this.hideLoading);
}, },
// 获取省列表下市区 // 获取省列表下市区
getCityList(provinceId) { getCityList(provinceId) {
return new Promise((resolve, rejects) => { return new Promise((resolve, rejects) => {
getCityList({ provinceId }).then(res => { getCityList({ provinceId, projectEquityNo:this.projectEquityNo }).then(res => {
this.hideLoading(); this.hideLoading();
const data = res.data.cityList.map(ele => { const data = res.data.cityList.map(ele => {
return { return {
name: ele.cityName, name: ele.cityName,
id:ele.cityId id:ele.cityId
}; };
}); });
resolve(data); resolve(data);
}).catch(err => { }).catch(err => {
rejects(err); rejects(err);
}); });
}).finally(this.hideLoading); }).finally(this.hideLoading);
...@@ -129,15 +134,15 @@ export default { ...@@ -129,15 +134,15 @@ export default {
getCountyList(cityId) { getCountyList(cityId) {
return new Promise((resolve, rejects) => { return new Promise((resolve, rejects) => {
this.hideLoading(); this.hideLoading();
getCountyList({ cityId }).then(res => { getCountyList({ cityId, projectEquityNo:this.projectEquityNo}).then(res => {
const data = res.data.countyList.map(ele => { const data = res.data.countyList.map(ele => {
return { return {
name: ele.countyName, name: ele.countyName,
id:ele.countyId id:ele.countyId
}; };
}); });
resolve(data); resolve(data);
}).catch(err => { }).catch(err => {
rejects(err); rejects(err);
}); });
}).finally(this.hideLoading); }).finally(this.hideLoading);
...@@ -168,16 +173,16 @@ export default { ...@@ -168,16 +173,16 @@ export default {
this.$refs.picker.setColumnValues(currentChangeIndex + 2, this.countyList); this.$refs.picker.setColumnValues(currentChangeIndex + 2, this.countyList);
this.$refs.picker.setColumnIndex(currentChangeIndex + 2, 0); this.$refs.picker.setColumnIndex(currentChangeIndex + 2, 0);
this.hideLoading(); this.hideLoading();
break; break;
case 1: case 1:
this.loading = true; this.loading = true;
this.countyList = await this.getCountyList(columnsIndex[currentChangeIndex].id); this.countyList = await this.getCountyList(columnsIndex[currentChangeIndex].id);
this.$refs.picker.setColumnValues(currentChangeIndex + 1, this.countyList); this.$refs.picker.setColumnValues(currentChangeIndex + 1, this.countyList);
this.hideLoading(); this.hideLoading();
break; break;
case 2: case 2:
this.hideLoading(); this.hideLoading();
break; break;
default: default:
this.hideLoading(); this.hideLoading();
break; break;
......
// //
import request from 'mn-template/plugins/http'; import request from 'mn-template/plugins/http';
export const getHospitalList = (data) => { export const getHospitalList = (params) => {
return request({ return request({
method: 'POST', method: 'GET',
data, params,
url: 'store/admin/customer/list/dropdown', url: '/tis/insurance/hospitalList',
withCredentials: true, withCredentials: true,
}); });
}; };
...@@ -77,6 +77,7 @@ ...@@ -77,6 +77,7 @@
</template> </template>
<script> <script>
import {highLight} from '@/utils/common';
import {getHospitalList} from './api'; import {getHospitalList} from './api';
export default { export default {
props: { props: {
...@@ -87,6 +88,10 @@ export default { ...@@ -87,6 +88,10 @@ export default {
show: { show: {
type: Boolean, type: Boolean,
default:() => false default:() => false
},
projectEquityNo: {
type: String,
default:() => ''
} }
}, },
data() { data() {
...@@ -97,24 +102,31 @@ export default { ...@@ -97,24 +102,31 @@ export default {
finished: false, finished: false,
pageNum: 0, pageNum: 0,
pageSize: 50, pageSize: 50,
searchValue:'', searchValue: '',
}; };
}, },
mounted() { mounted() {
this.getHospitalList(false); this.getHospitalList(false);
}, },
methods: { methods: {
highLight(name, value) {
return highLight(name, value);
},
// 获取机构列表 // 获取机构列表
getHospitalList(isLoad) { getHospitalList(isLoad) {
this.finished = false; this.finished = false;
this.pageNum = isLoad ? this.pageNum + 1 : 1; this.pageNum = isLoad ? this.pageNum + 1 : 1;
const data = { const data = {
certifyStatus: '0', cityId: '',
hospitalId: '', countyId: '',
hospitalIds: [], provinceId:'',
pageNum: this.pageNum, projectEquityNo:this.projectEquityNo,
pageSize: this.pageSize, // pageNum: this.pageNum,
searchStr: this.searchValue, // pageSize: this.pageSize,
keyword: this.searchValue,
}; };
console.log(data); console.log(data);
getHospitalList(data).then(res => { getHospitalList(data).then(res => {
...@@ -176,85 +188,85 @@ export default { ...@@ -176,85 +188,85 @@ export default {
color: #02120F; color: #02120F;
line-height: 18px; line-height: 18px;
text-align: center; text-align: center;
}
.select-hospital-input{
position: absolute;
width: calc(100% - 15px);
top: 58px;
padding-right: 15px;
border-bottom: 1px solid #ebedf0;
/deep/ .van-search__action{
padding-left: 13px;
padding-right: 0;
} }
.select-hospital-input{ }
position: absolute; .select-hospital-list{
width: calc(100% - 15px); padding-top: 120px;
top: 58px; height: calc(100% - 120px);
padding-right: 15px; overflow: hidden;
border-bottom: 1px solid #ebedf0; // position: absolute;
/deep/ .van-search__action{ // top: 100px;
padding-left: 13px; // left: 0;
padding-right: 0; // right: 0;
} // bottom: 0;
} // min-height: 450px;
.select-hospital-list{ // height: 450px;
padding-top: 120px; .van-list{
height: calc(100% - 120px); height: 100%;
overflow: hidden; overflow: auto;
// position: absolute; .list-item{
// top: 100px; position: relative;
// left: 0; padding-top: 14px;
// right: 0; padding-bottom: 12px;
// bottom: 0; &-name{
// min-height: 450px; height: 15px;
// height: 450px; font-size: 15px;
.van-list{
height: 100%;
overflow: auto;
.list-item{
position: relative;
padding-top: 14px;
padding-bottom: 12px;
&-name{
height: 15px;
font-size: 15px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #212121;
line-height: 15px;
margin-bottom: 12px;
}
&-address{
height: 12px;
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #999999;
line-height: 12px
}
&-icon{
position: absolute;
right: 0;
top: 50%;
transform: translateY(-50%);
width: 19px;
height: 19px;
background: url('~@/assets/images/icon-4.png') 0 0 / 100%
100% no-repeat;
}
}
}
.select-hospital-nodata{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
.img{
width: 155px;
height: 85px;
margin: 21px auto;
}
.text{
height: 25px;
font-size: 18px;
font-family: PingFangSC-Medium, PingFang SC; font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500; font-weight: 500;
color: #02120F; color: #212121;
line-height: 25px; line-height: 15px;
margin-bottom: 12px;
}
&-address{
height: 12px;
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #999999;
line-height: 12px
}
&-icon{
position: absolute;
right: 0;
top: 50%;
transform: translateY(-50%);
width: 19px;
height: 19px;
background: url('~@/assets/images/icon-4.png') 0 0 / 100%
100% no-repeat;
} }
} }
} }
.select-hospital-nodata{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
.img{
width: 155px;
height: 85px;
margin: 21px auto;
}
.text{
height: 25px;
font-size: 18px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #02120F;
line-height: 25px;
}
}
}
</style> </style>
// //
import request from 'mn-template/plugins/http'; import request from 'mn-template/plugins/http';
export const getHospitalList = (data) => {
// /tis/insurance/hosptial/scheduling?hospitalId=1&projectEquityNo=1
export const getScheduling = (params) => {
return request({ return request({
method: 'POST', method: 'GET',
data, params,
url: 'store/admin/customer/list/dropdown', url: '/tis/insurance/hosptial/scheduling',
withCredentials: true, withCredentials: true,
}); });
}; };
...@@ -18,26 +18,26 @@ ...@@ -18,26 +18,26 @@
v-for="item in timsArray" v-for="item in timsArray"
:key="item" :key="item"
class="text" class="text"
:class="selectTimes === item ?'selected':''" :class="selectTimes === item.appointmentDate ?'selected':''"
@click="selectTime(item)" @click="selectTime(item.appointmentDate,item)"
> >
{{ item }} {{ item.appointmentDate }}
</div> </div>
</div> </div>
<div class="time-list-right"> <div class="time-list-right">
<div <div
class="text" class="text"
:class="selectTimeBucket === 'am' ?'selected':''" :class="selectTimeBucket === 'amTimeBegin' ?'selected':''"
@click="selectTimeB('am')" @click="selectTimeB('amTimeBegin')"
> >
上午 {{ currentItem.amTimeContent }}
</div> </div>
<div <div
class="text" class="text"
:class="selectTimeBucket === 'pm' ?'selected':''" :class="selectTimeBucket === 'pmTimeBegin' ?'selected':''"
@click="selectTimeB('pm')" @click="selectTimeB('pmTimeBegin')"
> >
下午 {{ currentItem.pmTimeContent }}
</div> </div>
</div> </div>
</div> </div>
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
</template> </template>
<script> <script>
// import {getHospitalList} from './api'; import {getScheduling} from './api';
export default { export default {
props: { props: {
hospitalId: { hospitalId: {
...@@ -56,7 +56,12 @@ export default { ...@@ -56,7 +56,12 @@ export default {
show: { show: {
type: Boolean, type: Boolean,
default:() => false default:() => false
} },
projectEquityNo: {
type: String,
default:() => ''
},
}, },
data() { data() {
return { return {
...@@ -73,14 +78,27 @@ export default { ...@@ -73,14 +78,27 @@ export default {
am: '上午', am: '上午',
pm: '下午', pm: '下午',
}, },
currentItem:''
}; };
},
watch: {
}, },
mounted() { mounted() {
this.getTimes(); // this.getTimes();d
this.getScheduling();
}, },
methods: { methods: {
// 获取机构列表 // 获取机构列表
getScheduling() {
const {projectEquityNo, hospitalId} = this;
getScheduling({ projectEquityNo, hospitalId }).then(res => {
console.log(res);
this.timsArray = res.data;
this.selectTimes = res.data[0].appointmentDate;
this.currentItem = res.data[0];
});
},
selectItem() { selectItem() {
if (this.selectTimes === '') { if (this.selectTimes === '') {
this.$toast('请选择日期'); this.$toast('请选择日期');
...@@ -90,7 +108,7 @@ export default { ...@@ -90,7 +108,7 @@ export default {
this.$toast('请选择时间段'); this.$toast('请选择时间段');
return; return;
} }
this.$emit('change', this.selectTimes + ' ' + this.timeBucket[this.selectTimeBucket]); this.$emit('change', this.selectTimes + ' ' + this.selectTimeBucket);
}, },
cancel() { cancel() {
this.finished = false; this.finished = false;
...@@ -119,12 +137,18 @@ export default { ...@@ -119,12 +137,18 @@ export default {
plusZero(num) { plusZero(num) {
return num > 9 ? num + '' : '0' + num; return num > 9 ? num + '' : '0' + num;
}, },
selectTime(item) { selectTime(selectTimes, item) {
this.selectTimes = item; console.log(item);
this.selectItem(); this.selectTimes = selectTimes;
this.currentItem = item;
this.selectItem();
}, },
selectTimeB(item) { selectTimeB(item) {
this.selectTimeBucket = item; // 约满禁止预约
if (!this.currentItem[item]) {
return;
}
this.selectTimeBucket = item === 'amTimeBegin' ? this.currentItem['amTimeContent'] : this.currentItem['pmTimeContent'];
this.selectItem(); this.selectItem();
} }
} }
...@@ -154,45 +178,45 @@ export default { ...@@ -154,45 +178,45 @@ export default {
line-height: 18px; line-height: 18px;
text-align: center; text-align: center;
border-bottom: 1px solid #ebedf0; border-bottom: 1px solid #ebedf0;
} }
.select-time-list{ .select-time-list{
padding-top: 59px; padding-top: 59px;
height: calc(100% - 59px); height: calc(100% - 59px);
overflow: hidden; overflow: hidden;
display: flex; display: flex;
.time-list-left{ .time-list-left{
width: 130px;
height: 100%;
overflow: auto;
background: #F5F6F8;
.text{
width: 130px; width: 130px;
height: 100%; font-size: 16px;
overflow: auto; text-align: center;
background: #F5F6F8; height: 38px;
.text{ font-family: PingFangSC-Medium, PingFang SC;
width: 130px; font-weight: 500;
font-size: 16px; color: #02120F;
text-align: center; line-height: 38px;
height: 38px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #02120F;
line-height: 38px;
}
} }
.time-list-right{ }
padding: 10px 0; .time-list-right{
.text{ padding: 10px 0;
padding-left: 22px; .text{
height: 41px; padding-left: 22px;
font-size: 16px; height: 41px;
font-family: PingFangSC-Regular, PingFang SC; font-size: 16px;
font-weight: 400; font-family: PingFangSC-Regular, PingFang SC;
color: #666666; font-weight: 400;
line-height: 41px; color: #666666;
} line-height: 41px;
} }
} }
.selected{ }
color: #00BDA5 !important; .selected{
background: #FFFFFF color: #00BDA5 !important;
} background: #FFFFFF
}
</style> </style>
...@@ -50,5 +50,9 @@ if(dd.env.version) { ...@@ -50,5 +50,9 @@ if(dd.env.version) {
sessionStorage.setItem('headerHeight', 0); sessionStorage.setItem('headerHeight', 0);
window.Vue.use(PicaArea); window.Vue.use(PicaArea);
// 设置安全密钥
window._AMapSecurityConfig = {
securityJsCode: '5dfc1ae6a14ad5c005ffb2ad6d718ae4'
};
console.log('router, store, vueApp: ', router, store, vueApp); console.log('router, store, vueApp: ', router, store, vueApp);
console.log('window :>> ', window); console.log('window :>> ', window);
import $http from 'mn-template/plugins/http'; import $http from 'mn-template/plugins/http';
import { Toast } from 'vant';
// 设置axios默认属性 // 设置axios默认属性
$http.setDefaults({ $http.setDefaults({
headers: {} headers: {}
...@@ -16,4 +16,9 @@ $http.setOptions({ ...@@ -16,4 +16,9 @@ $http.setOptions({
$http.addBeforeHook(config => console.log('我是新增的前置钩子', config), 0); $http.addBeforeHook(config => console.log('我是新增的前置钩子', config), 0);
// 新增后置钩子 // 新增后置钩子
$http.addAfterHook(response => console.log('我是新增的后置钩子', response), 0); $http.addAfterHook(response => {
if (response.data.code !== '000000') {
Toast(response.data.message);
}
console.log('我是新增的后置钩子', response);
}, 0);
...@@ -23,7 +23,7 @@ const routerConfig = [ ...@@ -23,7 +23,7 @@ const routerConfig = [
{ {
path: '/insuranceQuestionResult', path: '/insuranceQuestionResult',
name: 'insuranceQuestionResult', name: 'insuranceQuestionResult',
component: () => import('@/views/insurance-question-result/insuranceQuestionResult.vue'), component: () => import('@/views/insurance-question-result/index.vue'),
}, },
{ {
path: '/insuranceQuestionBack', path: '/insuranceQuestionBack',
...@@ -35,6 +35,16 @@ const routerConfig = [ ...@@ -35,6 +35,16 @@ const routerConfig = [
name: 'appoint', name: 'appoint',
component: () => import('@/views/appoint/index.vue'), component: () => import('@/views/appoint/index.vue'),
}, },
{
path: '/geoNavigation',
name: 'geoNavigation',
component: () => import('@/views/geoNavigation/index.vue'),
},
{
path: '/home',
name: 'home',
component: () => import('@/views/home/index.vue'),
},
{ {
path: '/appoint-details', path: '/appoint-details',
name: 'appointDetails', name: 'appointDetails',
......
import store from 'storejs';
export default { export default {
namespaced: true, namespaced: true,
state: { state: {
count: 0 insuranceInfo: {}
}, },
mutations: { mutations: {
add (state, val = 1) { // 存值
state.count += val; SET_INSURANCE_INFO(state, val = {}) {
state.insuranceInfo += val;
}
},
actions: {
// 暂存保险订单信息
setInsuranceInfo({commit}, data) {
commit('SET_INSURANCE_INFO', data);
store.set('insuranceInfo', data);
},
},
getters: {
// 获取 insuranceInfo 的值
insuranceInfo: state => {
const insuranceInfo = state.insuranceInfo.id ? state.insuranceInfo : store.get('insuranceInfo');
return insuranceInfo || {};
} }
} }
}; };
...@@ -247,3 +247,6 @@ ins, a { ...@@ -247,3 +247,6 @@ ins, a {
.page-model { .page-model {
background-color: #ffffff; background-color: #ffffff;
} }
input::-webkit-input-placeholder{
color: #999 !important;
}
export default {
highLight: function (str, val) { export const highLight = (str, val) => {
// str 表示原字符串 if (str !== '' || !val) {
// val 高亮的文本 str = str.replace(val, `<span style="color:#00BDA5">${val}</span>`);
if (str !== '' || !val) {
str = str.replace(val, `<span style="color:#00BDA5">${val}</span>`);
return str;
}
return str; return str;
}, }
callPhone: function (phone) { return str;
window.location.href = `tel:${phone}`;
},
}; };
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
class="appoint-form-title" class="appoint-form-title"
/> />
<van-field <van-field
v-model="dectionForm.username" v-model="dectionForm.beneficiaryName"
label="受检人" label="受检人"
class="appoint-form-items" class="appoint-form-items"
placeholder="请输入受检人姓名" placeholder="请输入受检人姓名"
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
},]" },]"
/> />
<van-field <van-field
v-model="dectionForm.phoneNum" v-model="dectionForm.beneficiaryPhone"
class="appoint-form-items" class="appoint-form-items"
label="手机号" label="手机号"
placeholder="请输入受检人手机号" placeholder="请输入受检人手机号"
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
},]" },]"
/> />
<van-field <van-field
v-model="dectionForm.idCard" v-model="dectionForm.beneficiaryIdNum"
class="appoint-form-items" class="appoint-form-items"
label="身份证号" label="身份证号"
placeholder="请输入受检人真实身份证号" placeholder="请输入受检人真实身份证号"
...@@ -124,7 +124,7 @@ ...@@ -124,7 +124,7 @@
> >
<template #input> <template #input>
<div <div
v-if="!dectionForm.time" v-if="!dectionForm.appointmentTime"
class="appoint-form-placeholder" class="appoint-form-placeholder"
> >
请选择预约时间 请选择预约时间
...@@ -133,7 +133,7 @@ ...@@ -133,7 +133,7 @@
v-else v-else
class="appoint-form-value" class="appoint-form-value"
> >
{{ dectionForm.time }} {{ dectionForm.appointmentTime }}
</div> </div>
</template> </template>
</van-field> </van-field>
...@@ -146,34 +146,44 @@ ...@@ -146,34 +146,44 @@
:disabled="!checkValue" :disabled="!checkValue"
class="appoint-form-submit " class="appoint-form-submit "
:class="checkValue ? 'appoint-form-submit-active':''" :class="checkValue ? 'appoint-form-submit-active':''"
@click="appointment"
> >
提交 提交
</van-button> </van-button>
</div> </div>
<SelectHospital <SelectHospital
:project-equity-no="projectEquityNo"
:show="showselectHospital" :show="showselectHospital"
:hospital-id="hospitalId" :hospital-id="hospitalId"
@change="selectHospital" @change="selectHospital"
@close="closePopup" @close="closePopup"
/> />
<SelectTime <SelectTime
:hospital-id="hospitalId"
:project-equity-no="projectEquityNo"
:show="showSelectTime" :show="showSelectTime"
@change="selectTimes" @change="selectTimes"
@close="closePopup" @close="closePopup"
/> />
<PickArea <PickArea
:location-area-code="locationAreaCode" :location-area-code="locationAreaCode"
:project-equity-no="projectEquityNo"
:show="showArea" :show="showArea"
@confirm="confirm" @confirm="confirm"
@close="closePopup" @close="closePopup"
/> />
<div
id="container"
/>
</div> </div>
</template> </template>
<script> <script>
import {getDetectionName, getOrderInfo, appointment} from '@/api/appoint';
import SelectHospital from '@/components/selectHospital/index.vue'; import SelectHospital from '@/components/selectHospital/index.vue';
import SelectTime from '@/components/selectTime/index.vue'; import SelectTime from '@/components/selectTime/index.vue';
import PickArea from '@/components/pickArea/index.vue'; import PickArea from '@/components/pickArea/index.vue';
import AMapLoader from '@amap/amap-jsapi-loader';
export default { export default {
components: { components: {
SelectHospital, SelectHospital,
...@@ -182,14 +192,15 @@ export default { ...@@ -182,14 +192,15 @@ export default {
}, },
data() { data() {
return { return {
dectionData:{},
dectionForm: { dectionForm: {
detectName: '癌症甲基化早筛检测', detectName: '',
username:'', beneficiaryIdNum:'',
place: '', beneficiaryName: '',
time: '', appointmentTime: '',
currentDate: '', currentDate: '',
timeBucket: '', timeBucket: '',
hospitalId: '', beneficiaryPhone: '',
hospitalName:'', hospitalName:'',
goodsId: '', goodsId: '',
}, },
...@@ -211,38 +222,90 @@ export default { ...@@ -211,38 +222,90 @@ export default {
value: [], value: [],
label: '', label: '',
}, },
geolocation:null,
isShowAddress: false, isShowAddress: false,
showSelectTime:false, showSelectTime:false,
isSelf: false, isSelf: false,
spEquityCode: '', spEquityCode: '',
hospitalId: '',
locationAreaCode:[330, 330400000000, 330424000000] locationAreaCode: [330, 330400000000, 330424000000],
hospitalId: '12746',
projectEquityNo: 'CX202302091000154321',
yunOrderNo:''
}; };
}, },
computed: { computed: {
checkValue() { checkValue() {
return ( return true;
this.dectionForm.hospitalId !== '' &&
this.dectionForm.time !== '' &&
this.dectionForm.currentDate !== '' &&
this.dectionForm.timeBucket !== ''
);
}, },
}, },
mounted() { mounted() {
setTimeout(() => { setTimeout(() => {
this.locationAreaCode = [330, 330400000000, 330424000000]; this.locationAreaCode = [330, 330400000000, 330424000000];
}, 3000); }, 3000);
const { yunOrderNo } = this.$route.query;
this.yunOrderNo = yunOrderNo;
console.log('yunOrderNo', yunOrderNo);
this.getDetectionName(yunOrderNo);
this.getOrderInfo(yunOrderNo);
this.initMap();
}, },
methods: { methods: {
choose() {}, choose() {},
submit() {}, submit() {},
chooseHospital() {}, initMap() {
getMeixinHospitalList() {}, AMapLoader.load({
chooseDate() {}, key:'d22c1f112c97cb93b8d343b18420b98d', // 申请好的Web端开发者Key,首次调用 load 时必填
version:'2.0', // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
plugins:[''], // 需要使用的的插件列表,如比例尺'AMap.Scale'等
}).then((AMap) => {
AMap.plugin('AMap.Geolocation', function() {
var geolocation = new AMap.Geolocation({
// 是否使用高精度定位,默认:true
enableHighAccuracy: true,
// 设置定位超时时间,默认:无穷大
timeout: 10000,
// 定位按钮的停靠位置的偏移量,默认:Pixel(10, 20)
buttonOffset: new AMap.Pixel(10, 20),
// 定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false
zoomToAccuracy: true,
// 定位按钮的排放位置, RB表示右下
buttonPosition: 'RB'
});
geolocation.getCurrentPosition((status, result) => {
console.log('geolocation,', status, result);
});
});
});
},
// 目前是配置一个检测信息,可能会拓展,所以返回的是一个list
getDetectionName(yunOrderNo) {
getDetectionName(yunOrderNo).then(res => {
if (res.code === '000000' && res.data) {
const dectionData = res.data[0] || {};
console.log('getDetectionName', dectionData);
this.dectionData = dectionData;
this.dectionForm.detectName = dectionData.detectionName;
this.dectionForm.goodsId = dectionData.goodsId;
}
});
},
// 获取订单信息
getOrderInfo(yunOrderNo) {
getOrderInfo(yunOrderNo).then(res => {
console.log('getOrderInfo', res);
this.dectionForm.beneficiaryName = res.data.beneficiaryName;
this.dectionForm.beneficiaryPhone = res.data.beneficiaryPhone;
this.dectionForm.beneficiaryIdNum = res.data.beneficiaryIdNum;
});
},
selectTimes(times) { selectTimes(times) {
console.log(times); console.log(times);
this.dectionForm.time = times; this.dectionForm.appointmentTime = times;
this.closePopup('showSelectTime'); this.closePopup('showSelectTime');
}, },
getTimes() { getTimes() {
...@@ -272,7 +335,22 @@ export default { ...@@ -272,7 +335,22 @@ export default {
}, },
cancelSearch() {}, cancelSearch() {},
selectAddress() {}, selectAddress() {},
onConfirm() {}, appointment() {
console.log(this.dectionForm);
const data = {
appointmentTime: this.dectionForm.appointmentTime,
goodsId: this.dectionForm.goodsId,
hospitalId: '12746',
hospitalName: '1111',
patientIdNo: this.dectionForm.beneficiaryIdNum,
patientMobile: this.dectionForm.beneficiaryPhone,
patientName: this.dectionForm.beneficiaryName,
yunOrderNo:this.yunOrderNo,
};
appointment(data).then(res => {
console.log('confirm', res);
});
},
getDetailByUnionId() { }, getDetailByUnionId() { },
confirm(values) { confirm(values) {
...@@ -300,7 +378,7 @@ export default { ...@@ -300,7 +378,7 @@ export default {
box-sizing: border-box; box-sizing: border-box;
color: #ffffff; color: #ffffff;
background: url('https://files.yunqueyi.com/image/png/common/20221213160647748.png') background: url('https://files.yunqueyi.com/image/png/common/20221213160647748.png')
no-repeat top left; no-repeat top left;
background-size: 100% 281px; background-size: 100% 281px;
.bg-img { .bg-img {
...@@ -385,14 +463,17 @@ export default { ...@@ -385,14 +463,17 @@ export default {
} }
} }
.appoint-form-items{ .appoint-form-items{
/deep/ .van-field__label{ /deep/ .van-field__label{
color: #999999; color: #999999;
} }
} }
.appoint-form-placeholder{
color: #999999;
}
.appoint-form-title::after{ .appoint-form-title::after{
display: none; display: none;
} }
// .sub-btn { // .sub-btn {
// background: #00bda5; // background: #00bda5;
// font-size:16px; // font-size:16px;
...@@ -521,7 +602,9 @@ export default { ...@@ -521,7 +602,9 @@ export default {
.disabled { .disabled {
background: #d9d9d9 !important; background: #d9d9d9 !important;
} }
// /deep/ .van-field__control::placeholder{
// color: #999999;
// }
.appoint-form-submit{ .appoint-form-submit{
margin-top: 30px; margin-top: 30px;
height: 40px; height: 40px;
...@@ -534,38 +617,45 @@ export default { ...@@ -534,38 +617,45 @@ export default {
} }
} }
::v-deep { ::v-deep {
.address-wrap { .address-wrap {
height: 590px; height: 590px;
#province { #province {
height: 500px; height: 500px;
} }
#city { #city {
height: 500px; height: 500px;
} }
#county { #county {
height: 500px; height: 500px;
} }
#town { #town {
height: 500px; height: 500px;
} }
.tip-header h3 { .tip-header h3 {
font-weight: 700; font-weight: 700;
color: #212121; color: #212121;
} }
.tip-header .submit-btn { .tip-header .submit-btn {
color: #00bda5 !important; color: #00bda5 !important;
} }
.address-select .show-address-header .item.active:after { .address-select .show-address-header .item.active:after {
background-color: #00bda5; background-color: #00bda5;
} }
.address-select .address-content ul li.active { .address-select .address-content ul li.active {
color: #00bda5; color: #00bda5;
}
} }
} }
}
</style> </style>
<style> <style>
.mpvue-picker-div-show { .mpvue-picker-div-show {
color: #000000; color: #000000;
} }
#container{
display: none;
padding:0px;
margin: 0px;
width: 100%;
height: 800px;
}
</style> </style>
...@@ -74,11 +74,11 @@ ...@@ -74,11 +74,11 @@
class="value" class="value"
> >
{{ detailInfo.recordNo || "--" }} <text {{ detailInfo.recordNo || "--" }} <text
class="value-copy" class="value-copy"
@click="copyNum()" @click="copyNum()"
> >
复制 复制
</text> </text>
</div> </div>
</div> </div>
<div <div
...@@ -121,11 +121,13 @@ ...@@ -121,11 +121,13 @@
</template> </template>
<script> <script>
import {getDetailByYunOrderNo} from '@/api/appoint';
import { mapActions, mapGetters } from 'vuex'; import { mapActions, mapGetters } from 'vuex';
export default { export default {
data() { data() {
return { return {
detailInfo: {}, detailInfo: {},
yunOrderNo:'',
// 状态 0=待预约,1=已预约 ,2=已出报告 4=已取消 5=已过期 // 状态 0=待预约,1=已预约 ,2=已出报告 4=已取消 5=已过期
statusMap: { statusMap: {
0: '待预约', 0: '待预约',
...@@ -141,30 +143,22 @@ export default { ...@@ -141,30 +143,22 @@ export default {
...mapGetters(['hasAccount']), ...mapGetters(['hasAccount']),
}, },
onShow() { mounted() {
setTimeout(() => {
this.locationAreaCode = [330, 330400000000, 330424000000];
}, 3000);
const { yunOrderNo } = this.$route.query;
this.yunOrderNo = yunOrderNo;
console.log('yunOrderNo', yunOrderNo);
this.getDetailByYunOrderNo(yunOrderNo);
}, },
methods: { methods: {
...mapActions(['setDetectionData', 'setAccountStatus', 'setPatientData', 'setRecordID']), ...mapActions(['setDetectionData', 'setAccountStatus', 'setPatientData', 'setRecordID']),
// getDetailByUnionId() {
// getDetailByUnionId((res) => {
// console.log('getDetailByUnionId--', res);
// if (res.code === '000000') {
// this.detailInfo = res.data;
// const detectionServiceRecord = res.data.detectionServiceRecord;
// this.setDetectionData({
// checkList: false,
// projectId: detectionServiceRecord.businessCategoryId,
// ...detectionServiceRecord,
// });
// this.setRecordID(detectionServiceRecord.id);
// this.setPatientData({ patientId: detectionServiceRecord.patientId });
// }
// });
// },
// 导航
navigation() {
getDetailByYunOrderNo(yunOrderNo) {
getDetailByYunOrderNo(yunOrderNo).then(res => {
console.log(res);
});
}, },
checkDetail() { checkDetail() {
......
<template>
<div>
<div
id="navigation"
@click="openGeoApp"
/>
<van-button
type="primary"
block
class="navigation-button"
@click="openGeoApp"
>
块级元素
</van-button>
</div>
</template>
<script>
import AMapLoader from '@amap/amap-jsapi-loader';
export default {
mounted() {
this.initMap();
window.location.href = 'amapuri://route';
},
methods: {
data() {
return {
geoNavigation:null
};
},
initMap() {
var that = this;
AMapLoader.load({
key:'d22c1f112c97cb93b8d343b18420b98d', // 申请好的Web端开发者Key,首次调用 load 时必填
version:'2.0', // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
plugins:[''], // 需要使用的的插件列表,如比例尺'AMap.Scale'等
}).then((AMap) => {
var map = new AMap.Map('navigation', {
resizeEnable: true
});
AMap.plugin('AMap.Driving', function() {
that.geoNavigation = new AMap.Driving({
// 驾车路线规划策略,AMap.DrivingPolicy.LEAST_TIME是最快捷模式
policy: AMap.DrivingPolicy.LEAST_TIME,
map:map
});
var startLngLat = [116.379028, 39.865042];
var endLngLat = [116.427281, 39.903719];
that.geoNavigation.search(startLngLat, endLngLat, function (status, result) {
// 未出错时,result即是对应的路线规划方案
console.log(status, result);
});
});
// geolocation.getCurrentPosition((status, result) => {
// console.log('geolocation,', status, result);
// });
});
},
openGeoApp() {
var target = document.querySelector('#navigation').parentElement.previousElementSibling.previousElementSibling.innerHTML;
console.log(target);
window.location.href = `iosamap://plan${target}`;
}
}
};
</script>
<style>
#navigation{
width: 100vw;
height: 100vh;
}
.navigation-button{
position: fixed;
bottom: 0;
z-index: 99;
}
</style>
...@@ -35,7 +35,7 @@ module.exports = { ...@@ -35,7 +35,7 @@ module.exports = {
port: 8083, port: 8083,
proxy: { proxy: {
'/proxy': { '/proxy': {
target: 'https://test1-sc.yunqueyi.com/', target: 'https://dev-sc.yunqueyi.com/',
// target: 'https://test1-sc.yunqueyi.com/', // target: 'https://test1-sc.yunqueyi.com/',
// target: 'https://uat-sc.yunqueyi.com/', // target: 'https://uat-sc.yunqueyi.com/',
// http://10.241.65.90:3000/mock/1071/cs/route/removeUser // http://10.241.65.90:3000/mock/1071/cs/route/removeUser
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册