XSLu08042 1 day ago
parent
commit
f09309058f

+ 406 - 0
.hbuilderx/launch.json

@@ -825,6 +825,412 @@
 		},
 		"type" : "unicloud"
 	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
+	{
+		"mp-weixin" : 
+		{
+			"launchtype" : "local"
+		},
+		"type" : "unicloud"
+	},
 	{
 		"mp-weixin" : 
 		{

+ 3 - 3
common/request.js

@@ -4,10 +4,10 @@ export default class Request {
 		let that = this;
 		// let path = 'http://127.0.0.1:8113';
 		// var path=uni.getStorageSync('requestPath')
-		// var path = 'https://userapp.his.cdwjyyh.com';
-		// var path = 'https://storeuserapp.bjyjbao.com'; //正式
+
+		var path = 'https://storeuserapp.bjyjbao.com'; //正式
 		// var path = "https://userapp.bjyjbao.com/prod-api"
-		var path = "http://b656b9ad.natappfree.cc"
+		// var path = "http://b656b9ad.natappfree.cc"
 		// var path = "http://192.168.10.126:8113"
 		let token="";
 		let type = 0

+ 100 - 68
components/storeDetail.vue

@@ -16,7 +16,8 @@
 			</view>
 			<view class="storeInfo-item x-start">
 				<view class="label" style="width: 4rem;">经营范围</view>
-				<view id="descbox-desc" :class="showDes|| !showExpandText? 'opacity descbox-desc':'descbox-desc' " :style="{height: isExpand ? 'auto': '84rpx'}">
+				<view id="descbox-desc" :class="showDes|| !showExpandText? 'opacity descbox-desc':'descbox-desc' "
+					:style="{height: isExpand ? 'auto': '84rpx'}">
 					{{storeInfo.businessScope|| ''}}
 					<!-- <view class="expand x-ac">
 						{{!isExpand&&showExpandText ? '展开':'收起'}}
@@ -30,113 +31,117 @@
 			<view class="storeInfo title">资质信息</view>
 			<view class="storeInfo-item mb20">
 				<view class="label mb20">营业执照</view>
+				<view class="label mb20" v-if="storeInfo.businessCode">营业执照上传编码 {{storeInfo.businessCode}}</view>
 				<view class="val x-f">
-					<u-image
-						v-if="storeInfo.businessLicense"
-						shape="square" 
-						lazyLoad 
-						:src="storeInfo.businessLicense" 
-						width="600rpx"
-						height="auto"
-						mode="widthFix" 
-						radius="6"
-						@click="previewImage('businessLicense')"
-					></u-image>
+					<u-image v-if="storeInfo.businessLicense" shape="square" lazyLoad :src="storeInfo.businessLicense"
+						width="600rpx" height="auto" mode="widthFix" radius="6"
+						@click="previewImage('businessLicense')"></u-image>
 					<view v-else>暂未上传</view>
 				</view>
 			</view>
 			<view class="storeInfo-item mb20" v-if="storeInfo.medicalDevice2">
 				<view class="label" mb20>2类器械生产备案</view>
+				<view class="label mb20" v-if="storeInfo.medicalDevice2Code">二类器械生产备案文件编码 {{storeInfo.medicalDevice2Code}}</view>
 				<view class="val x-f">
-					<u-image
-						v-if="storeInfo.medicalDevice2"
-						shape="square" 
-						lazyLoad 
-						:src="storeInfo.medicalDevice2" 
-						width="600rpx"
-						height="auto"
-						mode="widthFix" 
-						radius="6"
-						@click="previewImage('medicalDevice2')"
-					></u-image>
+					<u-image v-if="storeInfo.medicalDevice2" shape="square" lazyLoad :src="storeInfo.medicalDevice2"
+						width="600rpx" height="auto" mode="widthFix" radius="6"
+						@click="previewImage('medicalDevice2')"></u-image>
 					<view v-else>暂未上传</view>
 				</view>
 			</view>
 			<view class="storeInfo-item mb20" v-if="storeInfo.medicalDevice1">
 				<view class="label mb20">1类医疗器械备案</view>
+				<view class="label mb20" v-if="storeInfo.medicalDevice1Code">一类器械生产备案文件编码 {{storeInfo.medicalDevice1Code}}</view>
 				<view class="val x-start">
-					<u-image
-						v-if="storeInfo.medicalDevice1"
-						shape="square" 
-						lazyLoad 
-						:src="storeInfo.medicalDevice1" 
-						width="600rpx"
-						height="auto"
-						mode="widthFix" 
-						radius="6"
-						@click="previewImage('medicalDevice1')"
-					></u-image>
+					<u-image v-if="storeInfo.medicalDevice1" shape="square" lazyLoad :src="storeInfo.medicalDevice1"
+						width="600rpx" height="auto" mode="widthFix" radius="6"
+						@click="previewImage('medicalDevice1')"></u-image>
 					<view v-else>暂未上传</view>
 				</view>
 			</view>
 			<view class="storeInfo-item mb20" v-if="storeInfo.medicalDevice3">
 				<view class="label mb20">3类器械经营许可证</view>
+				<view class="label mb20" v-if="storeInfo.medicalDevice3Code">三类器械生产备案文件编码 {{storeInfo.medicalDevice3Code}}</view>
 				<view class="val x-f">
-					<u-image
-						v-if="storeInfo.medicalDevice3"
-						shape="square" 
-						lazyLoad 
-						:src="storeInfo.medicalDevice3" 
-						width="600rpx"
-						height="auto"
-						mode="widthFix" 
-						radius="6"
-						@click="previewImage('medicalDevice3')"
-					></u-image>
+					<u-image v-if="storeInfo.medicalDevice3" shape="square" lazyLoad :src="storeInfo.medicalDevice3"
+						width="600rpx" height="auto" mode="widthFix" radius="6"
+						@click="previewImage('medicalDevice3')"></u-image>
 					<view v-else>暂未上传</view>
 				</view>
 			</view>
+			
 			<view class="storeInfo-item mb20" v-if="storeInfo.foodLicense">
 				<view class="label mb20">食品经营许可证</view>
+				<view class="label mb20" v-if="storeInfo.foodCode">食品经营许可证上传编码 {{storeInfo.foodCode}}</view>
 				<view class="val x-f">
-					<u-image
-						v-if="storeInfo.foodLicense"
-						shape="square" 
-						lazyLoad 
-						:src="storeInfo.foodLicense" 
-						width="600rpx"
-						height="auto"
-						mode="widthFix" 
-						radius="6"
-						@click="previewImage('foodLicense')"
-					></u-image>
+					<u-image v-if="storeInfo.foodLicense" shape="square" lazyLoad :src="storeInfo.foodLicense"
+						width="600rpx" height="auto" mode="widthFix" radius="6"
+						@click="previewImage('foodLicense')"></u-image>
 					<view v-else>暂未上传</view>
 				</view>
 			</view>
+			
 			<view class="storeInfo-item mb20" v-if="storeInfo.medicalLicense">
 				<view class="label mb20">医疗机构执业许可证</view>
+				<view class="label mb20" v-if="storeInfo.medicalCode">医疗机构执业许可证上传编码 {{storeInfo.medicalCode}}</view>
 				<view class="val x-f">
-					<u-image
-						v-if="storeInfo.medicalLicense"
-						shape="square" 
-						lazyLoad 
-						:src="storeInfo.medicalLicense" 
-						width="600rpx"
-						height="auto"
-						mode="widthFix" 
-						radius="6"
-						@click="previewImage('medicalLicense')"
-					></u-image>
+					<u-image v-if="storeInfo.medicalLicense" shape="square" lazyLoad :src="storeInfo.medicalLicense"
+						width="600rpx" height="auto" mode="widthFix" radius="6"
+						@click="previewImage('medicalLicense')"></u-image>
 					<view v-else>暂未上传</view>
 				</view>
 			</view>
+			<view class="storeInfo-item mb20" v-if="storeInfo.drugLicense">
+				<view class="label mb20">药品经营许可证</view>
+				<view class="label mb20" v-if="storeInfo.drugCode">药品经营许可证编码 {{storeInfo.drugCode}}</view>
+				<view class="val x-f">
+					<u-image v-if="storeInfo.drugLicense" shape="square" lazyLoad :src="storeInfo.drugLicense"
+						width="600rpx" height="auto" mode="widthFix" radius="6"
+						@click="previewImage('drugLicense')"></u-image>
+					<view v-else>暂未上传</view>
+				</view>
+			</view>
+			<view class="storeInfo-item mb20" v-if="storeInfo&&storeInfo.doctorList&&storeInfo.doctorList.length>0">
+				<view v-for="(item,index) in storeInfo.doctorList" :key="index">
+					<view class="label mb20">药师职业证书:{{item.doctorName}}</view>
+					<view class="label mb20" v-if="item.practiseCode">药师职业许可证编码 {{item.practiseCode}}</view>
+					<view class="val ">
+					<!-- 	<view v-for="(img,indexs) in item.imagesArray" :key="indexs">
+							<u-image  shape="square" lazyLoad :src="img"
+								width="600rpx" height="auto" mode="widthFix" radius="6"
+								@click="previewImages(item.imagesArray,indexs)"></u-image>
+						</view>
+						 -->
+						<view v-if="item.imagesArray&&item.imagesArray.length>0">
+							<u-image  shape="square" lazyLoad :src="item.imagesArray[0]"
+								width="600rpx" height="auto" mode="widthFix" radius="6"
+								@click="previewImages(item.imagesArray,indexs)"></u-image>
+						</view>
+						<!-- <u-image v-if="item.practiseImages" shape="square" lazyLoad :src="item.practiseImages"
+							width="600rpx" height="auto" mode="widthFix" radius="6"
+							@click="previewImage('drugLicense')"></u-image> -->
+						<view v-else>暂未上传</view>
+					</view>
+				</view>
+			</view>
+
+			<view class="storeInfo-item mb20" v-if="storeInfo.otherSpecialQualificationCode">
+				<view class="label mb20">其它特殊资质编码 {{storeInfo.otherSpecialQualificationCode}}
+				</view>
+			</view>
+			<view class="storeInfo-item mb20" v-if="storeInfo.qualityAssuranceAgreementCode">
+				<view class="label mb20">质量保证协议编码 {{storeInfo.qualityAssuranceAgreementCode}}</view>
+			</view>
+			<view class="storeInfo-item mb20" v-if="storeInfo.settlementAgreementCode">
+				<view class="label mb20">其它资质入驻协议编码 {{storeInfo.settlementAgreementCode}}</view>
+			</view>
 		</view>
 	</view>
 </template>
 
 <script>
 	export default {
-		props:['storeInfo','source'],
+		props: ['storeInfo', 'source'],
 		data() {
 			return {
 				showDes: false,
@@ -146,12 +151,30 @@
 			}
 		},
 		methods: {
+			sliceimg(){
+				console.log(this.storeInfo)
+				if (this.storeInfo.doctorList && this.storeInfo.doctorList.length > 0) {
+				 this.storeInfo.doctorList = this.storeInfo.doctorList.map(doctor => {
+				    if (doctor.practiseImages) {
+				      doctor.practiseImages = doctor.practiseImages.split(',').map(img => img.trim());
+				    }
+				    return doctor;
+				  });
+				}
+				console.log(this.storeInfo.doctorList)
+			},
 			previewImage(type) {
 				uni.previewImage({
 					current: 0,
 					urls: [this.storeInfo[type]]
 				});
 			},
+			previewImages(type,indexs) {
+				uni.previewImage({
+					current: type[indexs],
+					urls: [type[0]]
+				});
+			},
 			getDescHeight() {
 				return
 				this.$nextTick(() => {
@@ -176,15 +199,18 @@
 	.mb20 {
 		margin-bottom: 20rpx;
 	}
+
 	.box {
 		padding: 0 32rpx 26rpx 32rpx;
 		background-color: #fff;
 	}
+
 	.opacity {
 		position: relative !important;
 		opacity: 1 !important;
 		z-index: 1 !important;
 	}
+
 	.descbox-desc {
 		color: #222;
 		font-weight: 400;
@@ -197,28 +223,34 @@
 		opacity: 0;
 		z-index: -1;
 	}
+
 	.container-body {
 		font-family: PingFang SC, PingFang SC;
 		font-weight: 400;
 		font-size: 28rpx;
 		color: #939599;
 	}
+
 	.businessLicense {
 		height: 80rpx;
 		width: 80rpx;
 		border-radius: 8rpx;
 	}
+
 	.storeInfo {
 		&-item {
 			padding: 6rpx 0;
+
 			.label {
 				flex-shrink: 0;
 			}
+
 			.val {
 				color: #222;
 			}
 		}
 	}
+
 	.title {
 		font-family: PingFang SC, PingFang SC;
 		font-weight: 600;

+ 6 - 6
pages.json

@@ -2341,12 +2341,12 @@
 			// 	"selectedIconPath": "https://bjyjb-1362704775.cos.ap-chongqing.myqcloud.com/shop/image/doctor_select.png",
 			// 	"text": "查医生"
 			// },
-			{
-				"pagePath": "pages/im/conversationList/index",
-				"iconPath": "/static/tabbar/inquiry.png",
-				"selectedIconPath": "/static/tabbar/inquiry_select.png",
-				"text": "问诊"
-			},
+			// {
+			// 	"pagePath": "pages/im/conversationList/index",
+			// 	"iconPath": "/static/tabbar/inquiry.png",
+			// 	"selectedIconPath": "/static/tabbar/inquiry_select.png",
+			// 	"text": "问诊"
+			// },
 			{
 				"pagePath": "pages/shopping/index",
 				"iconPath": "/static/tabbar/store.png",

+ 17 - 16
pages_shopping/productDetails.vue

@@ -87,19 +87,7 @@
 				</view>
 			</view> -->
 		</view>
-		<view class="storebox" v-if="chooseStore.storeId">
-			<view class="x-bc">
-				<view class="x-f">
-					<image class="logo" :src="chooseStore.logoUrl" mode="aspectFill"></image>
-					<view class="storebox-r" @click="goStoreDetail(chooseStore)">
-						<view class="storename ellipsis2">{{chooseStore.storeName||''}}</view>
-						<!-- <view class="storedesc">24小时营业 销售{{$formatSalesNum(chooseStore.salesCount) }}</view> -->
-					</view>
-				</view>
-				<view class="storebox-btn" @click="goStoreDetail(chooseStore)">进店</view>
-			</view>
-			<detail :source="'product'" ref="getStoreInfo" :storeInfo="storeInfo"></detail>
-		</view>
+		
 		<!-- 购买人数、库存 -->
 		<!-- <view class="inventor">
 			<view class="left">
@@ -122,7 +110,7 @@
 		<!-- 功效 -->
 		<view class="effect" v-if="product.instructionManual">
 			<view class="label">{{product.productName}}药品说明书</view>
-			<view :class="product.productType ==2&&isView==0 ? 'hiddenbox':''">
+			<view :class="product.productType ==2&&isView==0 ? 'hiddenbox':''" style="margin-top: 20rpx;">
 				<u-parse :content="product.instructionManual" :style="{display: 'block'}"></u-parse>
 			</view>
 			<view class="shadowbox" v-if="product.productType ==2&&isView==0">
@@ -136,7 +124,7 @@
 			<view class="popupbox">
 				<view class="popupbox-title">如何查看说明书</view>
 				<view class="popupbox-body">
-					<text style="font-weight: bold;">普通用户:</text>需要先问诊获得处方后才能查看说明书,请点<text class="confirm" @click="addCart('buy')">问诊开药</text>开处方!
+					需要先问诊获得处方后才能查看说明书,请点<text class="confirm" @click="addCart('buy')">问诊开药</text>开处方!
 				</view>
 				<view class="popupbox-footer" @click="show=false">我知道了</view>
 			</view>
@@ -177,6 +165,19 @@
 				</view>
 			</view> -->
 		</view>
+		<view class="storebox" v-if="chooseStore.storeId">
+			<view class="x-bc">
+				<view class="x-f">
+					<image class="logo" :src="chooseStore.logoUrl" mode="aspectFill"></image>
+					<view class="storebox-r" @click="goStoreDetail(chooseStore)">
+						<view class="storename ellipsis2">{{chooseStore.storeName||''}}</view>
+						<!-- <view class="storedesc">24小时营业 销售{{$formatSalesNum(chooseStore.salesCount) }}</view> -->
+					</view>
+				</view>
+				<view class="storebox-btn" @click="goStoreDetail(chooseStore)">进店</view>
+			</view>
+			<detail :source="'product'" ref="getStoreInfo" :storeInfo="storeInfo"></detail>
+		</view>
 		<!-- 底部按钮 -->
 		<view class="btn-foot">
 			<view class="menu-box">
@@ -715,7 +716,7 @@
 	}
 	.popupbox {
 		width: 80vw;
-		font-size: 30upx;
+		font-size: 32upx;
 		font-family: PingFang SC;
 		color: #333333;
 		&-title{

+ 8 - 4
pages_store/index.vue

@@ -12,8 +12,12 @@
 						<view class="storebox-btn" @click="navTo(item)">进店</u-icon></view>
 					</view>
 					<view class="storebox-desc">
-						<view>2类器械生产备案:{{item.store.medicalDevice2Code|| '--'}}</view>
-						<view>药品经营许可证:{{item.store.drugCode|| '--'}}</view>
+						<!-- <view>2类器械生产备案:{{item.store.medicalDevice2Code|| '--'}}</view>
+						<view>药品经营许可证:{{item.store.drugCode|| '--'}}</view> -->
+						<view>药品证书:{{item.store.drugCode|| '--'}}</view>
+						<view>器械备案:{{item.store.medicalDevice2Code|| '--'}}</view>
+						<view>公司全称:{{item.store.fullName|| '--'}}</view>
+						
 					</view>
 					<!-- <scroll-view :scroll-x="true" class="scrollView">
 						<view class="scrollItem" v-for="(it,i) in item.recommendProductList" :key="i" @click="showDetail(it)">
@@ -179,10 +183,10 @@
 		border-radius: 16rpx 16rpx 16rpx 16rpx;
 		overflow: hidden;
 		display: flex;
-		align-items: flex-start;
+		align-items: center;
 		margin-bottom: 24rpx;
 		&-desc {
-			font-size: 28rpx;
+			font-size: 22rpx;
 			color: #999;
 		}
 		.logo {

+ 18 - 0
pages_store/storeIndex.vue

@@ -236,6 +236,24 @@
 				storeDetail(this.storeId).then(res=>{
 					if(res.code==200) {
 						this.storeInfo =res.data || {}
+						// if (this.storeInfo.doctorList && this.storeInfo.doctorList.length > 0) {
+						//  this.storeInfo.doctorList = this.storeInfo.doctorList.map(doctor => {
+						//     if (doctor.images) {
+						//       doctor.practiseImages = doctor.practiseImages.split(',').map(img => img.trim());
+						//     }
+						//     return doctor;
+						//   });
+						// }
+						this.storeInfo.doctorList = this.storeInfo.doctorList.map(doctor => {
+							return {
+							  ...doctor,
+							  // 假设images字段是逗号分隔的图片字符串
+							  imagesArray: doctor.practiseImages ? 
+								doctor.practiseImages.split(',').map(img => img.trim()).filter(img => img) : []
+							};
+						  });
+						  
+						console.log(this.storeInfo.doctorList)
 					}
 					this.getElementTop('storeDetailTop');
 				})

+ 2 - 2
pages_user/about.vue

@@ -53,14 +53,14 @@
 				<image class="right" src="https://bjyjb-1362704775.cos.ap-chongqing.myqcloud.com/shop/image/arrow_gray.png" mode="aspectFill"></image>
 			</view>
 			<view style="height: 1px;background-color: #F5F6FA;"></view>
-			<view class="item">
+			<view class="item" @click="openContent('storeRules')">
 				<view class="left">
 					<text class="text">商家规则</text>
 				</view>
 				<image class="right" src="https://bjyjb-1362704775.cos.ap-chongqing.myqcloud.com/shop/image/arrow_gray.png" mode="aspectFill"></image>
 			</view>
 			<view style="height: 1px;background-color: #F5F6FA;"></view>
-			<view class="item">
+			<view class="item" @click="openContent('residencyAgreement')">
 				<view class="left">
 					<text class="text">入驻协议</text>
 				</view>

+ 12 - 1
pages_user/agreement.vue

@@ -54,7 +54,18 @@ export default {
 						else if(this.type=="userPrivacy"){
 							this.content=JSON.parse(res.data).userPrivacy;
 						}
-						 
+						else if(this.type=="pharmacistRegister"){
+							this.content=JSON.parse(res.data).pharmacistRegister;
+						}
+						else if(this.type=="pharmacistFiling"){
+							this.content=JSON.parse(res.data).pharmacistFiling;
+						}
+						else if(this.type=="storeRules"){
+							this.content=JSON.parse(res.data).storeRules;
+						}
+						else if(this.type=="residencyAgreement"){
+							this.content=JSON.parse(res.data).residencyAgreement;
+						}
 					}
 				},
 				rej => {}

+ 15 - 13
pages_user/cert.vue

@@ -1,7 +1,8 @@
 <template>
 	<view class="my-content">
-		<view class="item" v-for="item in certs">
-			<image @click="showImg(item)" :src="item" mode="widthFix"></image>
+		<view class="item" v-for="item in certsList">
+			<view>{{item.certNumber}}</view>
+			<image @click="showImg(item)" :src="it" mode="widthFix" v-for="it in imgList(item.certs)"></image>
 		</view>
 		
 	</view>
@@ -11,20 +12,25 @@
 	export default {
 		data() {
 			return {
-				 certs:[]
+				 certsList:[]
 			}
 		},
+
 		onLoad(val) {
 			this.getConfigByKey();
 		},
 		methods: {
+			imgList(imgs){
+				return imgs ? imgs.split(','):[]
+			},
 			getConfigByKey(){
 				var that=this;
 				var data={key:"his.certs"}
 				getConfigByKey(data).then(
 					res => {
 						if(res.code==200){
-							this.certs=JSON.parse(res.data).certs.split(',');
+							console.log(JSON.parse(res.data))
+							this.certsList=JSON.parse(res.data);
 						}
 					},
 					rej => {}
@@ -32,10 +38,8 @@
 			},
 			showImg(item) {
 				 //预览图片
-				 var urls=[];
-				 urls.push(item)
 				 uni.previewImage({
-					urls: urls,
+					urls: item.certs ? item.certs.split(','):[],
 					current: 0
 				 });
 			},
@@ -57,12 +61,10 @@ page{
 	justify-content: center;
 	align-items: center;
 	.item{
-		display: flex;
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-		margin: 30rpx;
-		width: 100%;
+		image {
+			margin: 30rpx;
+			width: 100%;
+		}
 	}
 	
 }

+ 14 - 3
pages_user/registerDoctor.vue

@@ -170,6 +170,7 @@
 								name="4"
 								:maxCount="3"
 							></u-upload>
+							<view style="color: red;" v-if="form.doctorType==2">第一张证照上传注册证</view>
 						</u-form-item>
 						<u-form-item labelWidth="180rpx" borderBottom label="联系电话" prop="mobile">
 							<u-input  border="none"  placeholder="请输入联系电话" v-model="form.mobile" />
@@ -196,8 +197,9 @@
 						>
 						</u-checkbox>
 					</u-checkbox-group>
-					<text class="text" @click="openContent('doctorRegister')" >{{`《${typeName}注册协议》`}}</text>
-					<text class="text" @click="openContent('doctorFiling')" >{{`《${typeName}多机构备案协议》`}}</text>
+					<text class="text"  v-show="form.doctorType==1" @click="openContent('doctorRegister')" >{{`《${typeName}注册协议》`}}</text>
+					<text class="text" v-show="form.doctorType==1" @click="openContent('doctorFiling')" >{{`《${typeName}多机构备案协议》`}}</text>
+					<text class="text" v-show="form.doctorType==2"  @click="openContent('pharmacistRegister')" >{{`《${typeName}注册协议》`}}</text>
 				</view>
 				<u-picker ref="cityPicker" @cancel="cityShow = false"  keyName="n" @confirm="citySelect" @change="cityChangeHandler"  :show="cityShow" :columns="citys"></u-picker>
 				<u-picker ref="deptPicker" @cancel="deptShow = false"  keyName="deptName" @confirm="deptSelect"   :show="deptShow" :columns="depts"></u-picker>
@@ -362,7 +364,7 @@ export default {
 		},
 		openContent(type){
 			uni.navigateTo({
-				url:"agreement?type="+type
+				url:"/pages_user/agreement?type="+type
 			})
 		},
 		cityChangeHandler(e) {
@@ -537,6 +539,7 @@ export default {
 			if(this.fileList1.length>0){
 				this.form.avatar=this.fileList1[0].url
 			}
+			
 			if(this.fileList2.length>0){
 				var images=[]
 				that.fileList2.forEach(function(item) {
@@ -549,9 +552,17 @@ export default {
 					});
 					return
 				}
+				console.log(that.fileList2,"images==",images)
 				this.form.idCardFrontUrl=images[0];
 				this.form.idCardBackUrl=images[1];
 			}
+			if(!this.form.idCardFrontUrl || !this.form.idCardBackUrl) {
+				uni.showToast({
+					icon:'none',
+					title:"请上传身份证照片(正反面)",
+				});
+				return
+			}
 			if(this.fileList3.length>0){
 				var images=[]
 				that.fileList3.forEach(function(item) {