Browse Source

添加药品比价功能

zjj_happy 2 days ago
parent
commit
36cc4fb4fe

+ 60
- 11
assets/api/mechanism.js View File

@@ -1,10 +1,13 @@
1
-import { Request, Request2 } from "@/assets/js/request.js"
1
+import {
2
+	Request,
3
+	Request2
4
+} from "@/assets/js/request.js"
2 5
 
3 6
 /**
4 7
  * @name 根据ID获取用户信息
5 8
  */
6 9
 export async function getMechanismInfoById(params) {
7
-    return await Request("/mechanism/port/GetMechanismInfoById", params)
10
+	return await Request("/mechanism/port/GetMechanismInfoById", params)
8 11
 }
9 12
 
10 13
 
@@ -12,7 +15,7 @@ export async function getMechanismInfoById(params) {
12 15
  * @name 保存机构的坐标
13 16
  */
14 17
 export async function SaveMechanismPosition(params) {
15
-    return await Request("/mechanism/port/SaveMechanismLocation", params)
18
+	return await Request("/mechanism/port/SaveMechanismLocation", params)
16 19
 }
17 20
 
18 21
 
@@ -20,7 +23,7 @@ export async function SaveMechanismPosition(params) {
20 23
  * @name 删除机构
21 24
  */
22 25
 export async function deleteMechanism(params) {
23
-    return await Request("/mechanism/port/DeleteMechanism", params)
26
+	return await Request("/mechanism/port/DeleteMechanism", params)
24 27
 }
25 28
 
26 29
 
@@ -28,14 +31,14 @@ export async function deleteMechanism(params) {
28 31
  * @name 计算距离
29 32
  */
30 33
 export async function getDistance(params) {
31
-    return await Request("/mechanism/port/GetDistance", params)
34
+	return await Request("/mechanism/port/GetDistance", params)
32 35
 }
33 36
 
34 37
 /**
35 38
  * @name 获取地区
36 39
  */
37 40
 export async function getArea(params) {
38
-    return await Request("/mechanism/port/GetAreaListForMini", params)
41
+	return await Request("/mechanism/port/GetAreaListForMini", params)
39 42
 }
40 43
 
41 44
 
@@ -43,33 +46,79 @@ export async function getArea(params) {
43 46
  * @name 获取分类信息
44 47
  */
45 48
 export async function getCateById(params) {
46
-    return await Request("/category/port/GetCateById", params)
49
+	return await Request("/category/port/GetCateById", params)
47 50
 }
48 51
 
49 52
 /**
50 53
  * @name 查看机构提供服务事项列表
51 54
  */
52 55
 export async function GetServeCateListForMid(params) {
53
-    return await Request("/serveCate/port/GetServeCateListForMid", params)
56
+	return await Request("/serveCate/port/GetServeCateListForMid", params)
54 57
 }
55 58
 
56 59
 /**
57 60
  * @name 根据办理业务id获取办理材料
58 61
  */
59 62
 export async function GetServeCateListById(params) {
60
-    return await Request("/serveCate/port/GetServeCateListById", params)
63
+	return await Request("/serveCate/port/GetServeCateListById", params)
61 64
 }
62 65
 
63 66
 /**
64 67
  * @name 根据医院编码获取定点医院就医指标数据
65 68
  */
66 69
 export async function getHospJyzb(params) {
67
-    return await Request2("/sana/web/query/41072?queryid=41072", params)
70
+	return await Request2("/sana/web/query/41072?queryid=41072", params)
68 71
 }
69 72
 
70 73
 /**
71 74
  * @name 根据机构编码获取定点机构信用等级数据
72 75
  */
73 76
 export async function getCreditLevel(params) {
74
-    return await Request2("/sana/web/query/41073?queryid=41073", params)
77
+	return await Request2("/sana/web/query/41073?queryid=41073", params)
75 78
 }
79
+
80
+
81
+
82
+/**
83
+ * @name 药店药品列表信息(50001)
84
+ */
85
+export async function getMedicineList(params) {
86
+	return await Request2("/sana/web/query/50001?queryid=50001", params)
87
+}
88
+
89
+/**
90
+ * @name 药店药品信息(50002)
91
+ */
92
+export async function getMedicineInfo(params) {
93
+	return await Request2("/sana/web/query/50002?queryId=50002", params)
94
+}
95
+
96
+/**
97
+ * @name 根据药品名称查询药店药品列表信息(50003)
98
+ */
99
+export async function getMedicineListByName(params) {
100
+	return await Request2("/sana/web/query/50003?queryid=50003", params)
101
+}
102
+
103
+/**
104
+ * @name 根据药品名称查询药品列表信息(50004)
105
+ */
106
+export async function getMedicineListByName2(params) {
107
+	return await Request2("/sana/web/query/50004?queryid=50004", params)
108
+}
109
+
110
+/**
111
+ * @name 查询常用药品列表信息(50005)
112
+ */
113
+export async function getCommonMedicineList(params) {
114
+	return await Request2("/sana/web/query/50005?queryid=50005", params)
115
+}
116
+
117
+
118
+/**
119
+ * @name 查询该药品 比价门店列表数据
120
+ * https://cc-e.chs.zhengzhou.gov.cn/gzh/app/mechanism/port/GetDrugStoreListByDrug
121
+ */
122
+export async function GetDrugStoreListByDrug(params) {
123
+	return await Request("/mechanism/port/GetDrugStoreListByDrug", params)
124
+}

+ 463
- 256
components/index/Sale.vue View File

@@ -1,61 +1,126 @@
1 1
 <template>
2
-	<view class="comm-sale">{{isDetails}}--{{isSale}}
3
-			<view class="list-item" v-if="!isSale">
4
-				<view class="item-title">
5
-					<view class="title-name">
6
-						<view class="">
7
-							开塞露
8
-						</view>
9
-						<view class="">
10
-								甲类
2
+	<view class="comm-sale">
3
+		<view v-if="!isSale" class="list-item" v-for="(item, index) of saleList" :key="item.id" :style="{margin: !isDetails ? '30rpx 0' : '0'}">
4
+			<view class="item-title">
5
+				<view class="title-name">
6
+					<view class="title-icon"></view>
7
+					<view class="">
8
+						{{ item.ypmc }}
9
+					</view>
10
+
11
+				</view>
12
+				<!-- <view class="other-price">
13
+					<view style="opacity: 0;">
14
+						甲类
15
+					</view>
16
+				</view> -->
17
+			</view>
18
+			<view class="item-info">
19
+				<view class="info-item">
20
+					<view class="left row-24 scqy-style-box">
21
+						<view class="row-24 scqy-style">生产企业:</view>
22
+						<view class="row-24 scqy-info-style">
23
+							{{ item.ypsccj }}
11 24
 						</view>
12 25
 					</view>
13
-					<view class="other-price">
14
-						最低售价
26
+					<!-- <view class="right price">
27
+							¥0.50
28
+						</view> -->
29
+				</view>
30
+				<view class="info-item">
31
+					<view class="left">
32
+						<!-- <view>类别:</view>
33
+						<view>---</view>
34
+					</view>
35
+					<view class="right"> -->
36
+						<view>剂型:</view>
37
+						<view>{{ item.ypjx }}</view>
15 38
 					</view>
16 39
 				</view>
17
-				<view class="item-info">
18
-					<view class="info-item">
19
-						<view class="left">
20
-							<view>生产企业:</view>
21
-							福元药业有限公司
40
+				<view class="info-item">
41
+					<view class="left row-24 gg-style-box">
42
+						<view class="row-24">规格:</view>
43
+						<view class="row-24 gg-info-style">{{ item.ypgg }}</view>
44
+					</view>
45
+				<!-- 	<view class="right">
46
+						<view>在售药店:</view>
47
+						<view style="color: #4D85F4;">
48
+							651家
22 49
 						</view>
23
-						<view class="right price">
24
-							¥0.50
50
+					</view> -->
51
+					<view v-if="code == '0' && !isHeader" class="right btn" @click.stop="viewSale(JSON.stringify(item))">
52
+						查看在售药店
53
+					</view>
54
+				</view>
55
+				<view v-if="code != '0' && (drugInfo.ypjg || item.ypjg)" class="info-item">
56
+					<view  class="left price">
57
+						<view>参考价:</view>
58
+						<view v-if="drugInfo.ypjg">
59
+							¥{{ drugInfo.ypjg }}
60
+						</view>
61
+						<view v-else-if="item.ypjg">
62
+							¥{{ item.ypjg }}
25 63
 						</view>
26 64
 					</view>
27
-					<view class="info-item">
28
-						<view class="left">
29
-							<view>类别:</view>
30
-							西药中成药
31
-							</view>
65
+					<view v-if="!isDetails" class="right btn" @click.stop="viewSale(JSON.stringify(item))">
66
+						查看在售药店
32 67
 					</view>
68
+				</view>
69
+			</view>
70
+		</view>
71
+		<view v-if="isSale" class="query-list">
72
+			<view class="list-item" v-for="(item, index) of uniqueArray" :key="item.id">
73
+				<view class="item-title">
74
+					<view class="title-name">
75
+						<view class="">
76
+							{{ item.name }}
77
+						</view>
78
+						<view v-show="false" class=""></view>
79
+					</view>
80
+					<!-- 	<view class="other-price details">
81
+						¥16.90
82
+					</view> -->
83
+				</view>
84
+				<view class="item-info">
33 85
 					<view class="info-item">
34
-						<view class="left">
35
-							<view>规格:</view>
36
-							1支/支
37
-							</view>
86
+						<view class="left sale-left">
87
+							<view style="min-width: min-content;text-align: left;" class="meters">{{item.distance * 1000}}米</view>
88
+							{{item.address}}
89
+						</view>
38 90
 					</view>
91
+		
39 92
 					<view class="info-item">
40
-						<view class="left">
41
-							<view>剂型:</view>
42
-							外用溶液剂
93
+						<view class="left sale-left">
94
+							<view class="other-price details">¥{{ item.ypjg }}</view>
95
+							<!-- <view style="color: #D91F1E;font-weight: bold;">
96
+								<text style="color: #AAAAAA;">高于最低价:</text>
97
+								{{ item.diffprice }}元
98
+							</view> -->
43 99
 						</view>
44 100
 					</view>
101
+					<!-- 
45 102
 					<view class="info-item">
46
-						<view class="left">
47
-							<view>在售药店:</view>
48
-							<view style="color: #4D85F4;">
49
-								651家
50
-							</view>
103
+						<view class="tags">
104
+							<view class="tag">定点药店购药</view>
105
+							<view class="tag">异地门诊</view>
51 106
 						</view>
52
-						<view v-if="!isDetails" class="right btn" @click.stop="viewSale">
53
-							查看在告药店
107
+					</view> -->
108
+					<view class="info-item footer-btns">
109
+						<view class="left sale-left" @click="callPhone(item.phone)">
110
+							<img class="btn-img" src="@/static/imgs/iphone-icon.png" />
111
+							<view class="btn-iphone">联系电话</view>
112
+						</view>
113
+						<view class="right sale-right" @click="daoHang(item)">
114
+							<img class="btn-img" src="@/static/imgs/mark-icon.png" />
115
+							<view class="btn-position">
116
+								一键导航
117
+							</view>
54 118
 						</view>
55 119
 					</view>
56 120
 				</view>
57 121
 			</view>
58
-			<slot v-else></slot>
122
+		</view>
123
+		
59 124
 		<LoadModal v-if="loading"></LoadModal>
60 125
 	</view>
61 126
 </template>
@@ -65,19 +130,23 @@
65 130
 		mapGetters
66 131
 	} from "vuex"
67 132
 	import {
68
-		getMechanismInfoById,
69
-		getCateById,
70
-		GetServeCateListForMid,
71
-		getHospJyzb
72
-	} from "../../assets/api/mechanism.js"
73
-	import {
74 133
 		GetTreeData
75 134
 	} from "../../assets/api/common.js"
76 135
 	import Mechanism from "../../components/index/mechanism.vue"
77
-	// import levelLinkage from "@/components/three-level-linkage/linkage.nvue"
78 136
 	import LoadModal from "../../components/index/LoadModal.vue"
79 137
 	export default {
80 138
 		props: {
139
+			detailsId: Number,
140
+			cardInfo: Object,
141
+			code: {
142
+				type: String,
143
+				default: '0'
144
+			},
145
+			drugInfo: Object,
146
+			saleList: {
147
+				type: Array,
148
+				default: () => []
149
+			},
81 150
 			isDetails: {
82 151
 				type: Boolean,
83 152
 				default: false
@@ -85,6 +154,10 @@
85 154
 			isSale: {
86 155
 				type: Boolean,
87 156
 				default: false
157
+			},
158
+			isHeader: {
159
+				type: Boolean,
160
+				default: false
88 161
 			}
89 162
 		},
90 163
 		data() {
@@ -116,26 +189,17 @@
116 189
 
117 190
 				tabList: ["简介", "参保登记类"],
118 191
 				TabCur: 0,
119
-				meCode : "",
192
+				meCode: "",
120 193
 				hospJyzb: {}
121 194
 			}
122 195
 		},
123 196
 		components: {
124 197
 			Mechanism,
125
-			// levelLinkage,
126 198
 			LoadModal,
127 199
 		},
128 200
 		onLoad(e) {
129 201
 			Object.assign(this, e)
130 202
 			console.log("this", this)
131
-			let {
132
-				id
133
-			} = this
134
-			if (id) {
135
-				this.getInfo()
136
-			}
137
-
138
-
139 203
 		},
140 204
 		computed: {
141 205
 			...mapGetters([]),
@@ -145,86 +209,21 @@
145 209
 			isShowCate() {
146 210
 				return this.cateId == 2 || this.cateId == 4 || this.cateId == 6
147 211
 			},
148
-
149
-			filterPosData() {
150
-				let arr = JSON.parse(JSON.stringify(this.posData));
151
-				// 办理事项是空也显示
152
-				// if (!this.collList) {
153
-				// 	arr = arr.filter(item => item.value != 1)
154
-				// }
155
-				if (!this.hosFit) {
156
-					arr = arr.filter(item => item.value != 2)
157
-				}
158
-				console.log("arr", arr)
159
-				return arr;
160
-			},
161
-
162
-			hosFit0() {
163
-				if (this.info && this.info.hosInfo) {
164
-					const obj = JSON.parse(this.info.hosInfo);
165
-					console.log("obj", obj)
166
-					let newArr = [{
167
-							label: "人次:",
168
-							value: obj.person
169
-						},
170
-						{
171
-							label: "次均费用:",
172
-							value: obj.money
173
-						},
174
-						{
175
-							label: "报销率:",
176
-							value: obj.rate ? obj.rate + '%' : ''
177
-						},
178
-						{
179
-							label: "平均住院天数:",
180
-							value: obj.count ? obj.count + '天' : ''
181
-						}
182
-					];
183
-					console.log("newArr", newArr)
184
-					return newArr;
185
-				} else {
186
-					return null;
187
-				}
188
-
189
-			},
190
-
191
-			hosFit() {
192
-				if (this.hospJyzb && this.hospJyzb.rc) {
193
-					let newArr = [{
194
-							label: "人次:",
195
-							value: this.hospJyzb.rc
196
-						},
197
-						{
198
-							label: "次均费用:",
199
-							value: this.hospJyzb.cjfy
200
-						},
201
-						{
202
-							label: "报销率:",
203
-							value: this.hospJyzb.bxbl ? this.hospJyzb.bxbl*100 + '%' : ''
204
-						},
205
-						{
206
-							label: "平均住院天数:",
207
-							value: this.hospJyzb.pjzyts ? this.hospJyzb.pjzyts + '天' : ''
208
-						}
209
-					];
210
-					console.log("newArr", newArr)
211
-					return newArr;
212
-				} else {
213
-					return null;
214
-				}
215
-
212
+			
213
+			uniqueArray() {
214
+				const newArr = this.saleList.reduce((acc, current) => {
215
+				  if (!acc.some(item => item.id === current.id)) {
216
+				    acc.push(current);
217
+				  }
218
+				  return acc;
219
+				}, []);
220
+				return newArr;
216 221
 			}
217 222
 		},
218 223
 
219 224
 		watch: {
220 225
 			treeData() {
221 226
 
222
-				if (!this.opend && this.treeData && this.treeData.length && this.isShowCate) {
223
-					setTimeout(() => {
224
-						this.loading = false
225
-						this.GetServeCateListHandle()
226
-					}, 200)
227
-				}
228 227
 			},
229 228
 			loading() {
230 229
 				console.log(this.loading);
@@ -232,20 +231,30 @@
232 231
 
233 232
 		},
234 233
 		onPullDownRefresh() {
235
-			this.getInfo()
234
+			this.loading = true;
236 235
 			setTimeout(() => {
236
+				this.loading = false;
237 237
 				uni.stopPullDownRefresh()
238 238
 			}, 500)
239 239
 		},
240 240
 		methods: {
241
-			
242 241
 			// 查看在售
243
-			viewSale () {
244
-				uni.navigateTo({
245
-					url: `/pages/index/sale?id=111`
246
-				})
242
+			viewSale(item) {
243
+				uni.setStorage({
244
+				  key: 'sale-item',
245
+				  data: item,
246
+				  success: function () {
247
+				    console.log('存储成功');
248
+				  }
249
+				});
250
+				const params = JSON.parse(item)
251
+				if (params) {
252
+					uni.navigateTo({
253
+						url: `/pages/index/sale?id=50002&stt_f=${this.code}&stt_ypbm=${params.ypbm}&detailsId=${this.detailsId}`
254
+					})
255
+				}
247 256
 			},
248
-			
257
+
249 258
 			/**
250 259
 			 * @name input获取焦点
251 260
 			 */
@@ -262,97 +271,60 @@
262 271
 					// })
263 272
 				}
264 273
 			},
265
-			async goInformation(item) {
266
-				console.log("item", item)
267
-				console.log("this.info", this.info.name)
268
-				let name = JSON.stringify(this.info.name);
269
-				let subName = JSON.stringify(item.label);
270
-				let info = JSON.stringify(this.info);
271
-				uni.navigateTo({
272
-					url: `/pages/index/Make?mid=${this.id}&id=${item.value}&name=${encodeURIComponent(name)}&subName=${encodeURIComponent(subName)}&info=${encodeURIComponent(info)}`
273
-				})
274
-			},
275
-			// 查看机构提供服务事项列表
276
-			async GetServeCateListHandle() {
277
-				let res = await GetServeCateListForMid({
278
-					id: this.info.id
279
-				})
280
-				console.log('res--2222222222--', res);
281
-				if (res.data.code == 1) {
282
-					this.collList = res.data.data[0]?.children;
283
-					console.log('this.collList----', this.collList)
284
-				}
285
-			},
286
-
287
-			tabSelect(index) {
288
-				console.log(index);
289
-				this.TabCur = index
290
-			},
291
-
292
-			/**
293
-			 * @name 获取数据
294
-			 */
295
-			async getList() {
296
-				this.loading = true
297
-				this.treeData = []
298
-				let res = await GetTreeData({})
299
-				console.log('res----', res);
300
-				if (res.data.code == 1) {
301
-					this.cateList = res.data.data
302
-					this.treeData = this.filterTreeData(0)
303
-					this.loading = false
304
-					this.opend = false
305
-
306
-				}
307
-
308
-			},
309
-
274
+			
275
+			
310 276
 			/**
311
-			 * @param {Object} 获取分类信息
277
+			 * @name 拨打电话
312 278
 			 */
313
-			async getCate(id) {
314
-				this.cateInfo = {}
315
-				let res = await getCateById({
316
-					id
317
-				})
318
-				if (res.data.code == 1) {
319
-					this.cateInfo = res.data.data
320
-					console.log(this.cateInfo);
321
-					this.getList()
279
+			callPhone(phone) {
280
+				if (!phone) {
281
+					uni.showToast({
282
+						title: "该门店,暂无联系电话。",
283
+						icon: "none",
284
+					});
285
+				} else {
286
+					uni.makePhoneCall({
287
+						phoneNumber: phone
288
+					})
322 289
 				}
323 290
 			},
324
-						
291
+			
325 292
 			/**
326
-			 * @param {Object} 获取定点医院就医指标数据
293
+			 * @name 打开导航
327 294
 			 */
328
-			async getHospJyzb(code) {
329
-				if(code == '' || code == this.meCode) {
330
-					return;
331
-				}
332
-				this.meCode = code;
333
-				this.hospJyzb = {};
334
-				let res = await getHospJyzb({
335
-					query_id: "41072",
336
-					stt_f: code
337
-				})
338
-				if (res.data.success && res.data.data.length > 0) {
339
-					this.hospJyzb = res.data.data[0];
340
-					console.log(this.hospJyzb);
295
+			daoHang(cardInfo) {
296
+				let {
297
+					latitude,
298
+					longitude,
299
+					name,
300
+					address,
301
+					a_latitude,
302
+					a_longitude
303
+				} = cardInfo
304
+				let lat = a_latitude ? a_latitude : latitude
305
+				let lng = a_longitude ? a_longitude : longitude
306
+				if (lat && lng) {
307
+					uni.openLocation({
308
+						latitude: Number(lat),
309
+						longitude: Number(lng),
310
+						name,
311
+						address,
312
+						fail(err) {
313
+							console.log(err)
314
+						}
315
+					})
341 316
 				}
317
+			
342 318
 			},
343
-
344 319
 			// 处理children为null
345 320
 			handleChilren(arr) {
346
-				// console.log("start");
347 321
 				let Tag = this.cateInfo.tag_code
348
-				// console.log(Tag);
349 322
 				let list = []
350 323
 				if (arr && arr.length) {
351 324
 					for (var i = 0; i < arr.length; i++) {
352 325
 						let el = arr[i]
353 326
 						let reg = new RegExp(`${Tag}`)
354 327
 						let HasCode = true
355
-						// console.log(!HasCode);
356 328
 						if (el.org) {
357 329
 							HasCode = reg.test(el.org)
358 330
 						}
@@ -367,7 +339,6 @@
367 339
 						list.push(obj)
368 340
 					}
369 341
 				}
370
-				// console.log( list );
371 342
 				return list
372 343
 			},
373 344
 
@@ -390,7 +361,6 @@
390 361
 			},
391 362
 
392 363
 			open() {
393
-				// this.$refs.levelLinkage.open();
394 364
 				this.opend = true
395 365
 			},
396 366
 			onConfirm(e) {
@@ -411,12 +381,10 @@
411 381
 			collChange(index) {
412 382
 				let self = this
413 383
 				try {
414
-					// console.log( index );
415 384
 					let {
416 385
 						id
417 386
 					} = self.collList[index]
418 387
 					self.collItemList = self.filterTreeData(id)
419
-					// console.log(self.collItemList);
420 388
 				} catch (e) {
421 389
 					// throw(e)
422 390
 				}
@@ -434,36 +402,6 @@
434 402
 
435 403
 				})
436 404
 			},
437
-
438
-
439
-
440
-			/**
441
-			 * @name 获取机构详情
442
-			 */
443
-			async getInfo() {
444
-				let {
445
-					id
446
-				} = this
447
-				let res = await getMechanismInfoById({
448
-					id: Number(id)
449
-				})
450
-				if (res.data.code == 1) {
451
-					console.log('000---000', res)
452
-					this.info = res.data.data
453
-					if (this.info) {
454
-						this.info.start_time = this.info.start_time ? this.info.start_time : "9:00"
455
-						this.info.end_time = this.info.end_time ? this.info.end_time : "17:00"
456
-						// console.log( this.info.cate_id );
457
-						this.getCate(this.info.cate_id)
458
-						if(this.info.cate_id == 2 && this.info.me_code) {
459
-							this.getHospJyzb(this.info.me_code)
460
-						}
461
-					}
462
-				}
463
-			},
464
-
465
-
466
-
467 405
 		},
468 406
 	}
469 407
 </script>
@@ -472,12 +410,15 @@
472 410
 	page {
473 411
 		background-color: #fff;
474 412
 	}
413
+
475 414
 	.uni-collapse-item {
476 415
 		border-bottom: 1rpx solid #F1F1F1;
477 416
 	}
417
+
478 418
 	.item_content {
479 419
 		border-top: 1rpx solid #F1F1F1;
480 420
 	}
421
+
481 422
 	.child_item_title_2 {
482 423
 		font-size: 26rpx;
483 424
 		/* font-weight: bold; */
@@ -486,6 +427,7 @@
486 427
 		align-items: center;
487 428
 		border-bottom: 1rpx solid #F1F1F1;
488 429
 	}
430
+
489 431
 	.son_item .coll_item:last-child .child_item_title_2 {
490 432
 		border-bottom: none;
491 433
 	}
@@ -493,29 +435,191 @@
493 435
 
494 436
 <style lang="scss" scoped>
495 437
 	.comm-sale {
496
-		margin: 30rpx 0;
438
+		.list-item {
439
+			// padding: 25rpx;
440
+			background-color: #fff;
441
+			border-radius: 5rpx;
442
+			margin: 0 0 10rpx 0 !important;
443
+			border: 1px solid #EAF4FE;
444
+			overflow: hidden;
445
+			// border-radius: 15px 15px 0px 0px;
446
+
447
+			// 卡片标题
448
+			.item-title {
449
+				// padding: 20rpx 30rpx;
450
+				background: #EAF4FE;
451
+				display: flex;
452
+				align-items: center;
453
+				justify-content: space-between;
454
+				// padding-bottom: 10rpx;
455
+				// border-bottom: 1rpx solid #F1F1F1;
456
+				height: 75rpx;
457
+				padding: 0 30rpx;
458
+
459
+				.title-name {
460
+					display: flex;
461
+					align-items: center;
462
+
463
+					.title-icon {
464
+						width: 5px;
465
+						height: 15px;
466
+						background: #4D85F4;
467
+						border-radius: 4px;
468
+						margin-right: 15rpx;
469
+					}
470
+
471
+					&>view:last-child {
472
+						margin-right: 18rpx;
473
+						color: #000;
474
+						font-weight: bold;
475
+						font-size: 32rpx;
476
+					}
477
+				}
478
+
479
+				.other-price {
480
+					font-size: 22rpx;
481
+
482
+					&>view:last-child {
483
+						border-radius: 5rpx;
484
+						padding: 6rpx 15rpx;
485
+						font-size: 20rpx;
486
+						background: #4186e238;
487
+						color: #4D85F4;
488
+					}
489
+				}
490
+			}
491
+
492
+			// 卡片内容
493
+			.item-info {
494
+				padding: 0 25rpx;
495
+
496
+				.info-item {
497
+					display: flex;
498
+					align-items: center;
499
+					justify-content: space-between;
500
+					margin: 25rpx 0;
501
+					font-size: 25rpx;
502
+					.scqy-style-box,
503
+					.gg-style-box {
504
+						align-items: flex-start !important;
505
+					}
506
+					.left.row-24 {
507
+						width: 100%;
508
+						.scqy-style {
509
+							white-space: nowrap;
510
+						}
511
+						.scqy-info-style,
512
+						.gg-info-style {
513
+							// background-color: green;
514
+							text-overflow: initial;
515
+							white-space: pre-wrap;
516
+							overflow: auto;
517
+						}
518
+					}
519
+					.left {
520
+						display: flex;
521
+						align-items: center;
522
+
523
+						&>view:first-child {
524
+							min-width: 120rpx;
525
+							text-align: right;
526
+							margin-right: 10rpx;
527
+							color: #000;
528
+						}
529
+						&>view.row-24:first-child {
530
+							flex: 1;
531
+						}
532
+						&>view.row-24 {
533
+							width: 100%;
534
+							flex: 5;
535
+						}
536
+						&>view:last-child {
537
+							width: 200rpx;
538
+							text-overflow: ellipsis;
539
+							white-space: nowrap;
540
+							overflow: hidden;
541
+							
542
+						}
543
+					}
544
+					
545
+					
546
+
547
+					.right {
548
+						display: flex;
549
+						align-items: center;
550
+						
551
+						&>view:first-child {
552
+							min-width: 120rpx;
553
+							text-align: right;
554
+							margin-right: 10rpx;
555
+							color: #000;
556
+						}
557
+						
558
+						&>view:last-child {
559
+							width: 200rpx;
560
+							text-overflow: ellipsis;
561
+							white-space: nowrap;
562
+							overflow: hidden;
563
+						}
564
+					}
565
+
566
+					.right.price,
567
+					.left.price {
568
+						&>view:first-child {
569
+							
570
+						}
571
+						&>view:last-child {
572
+								color: #B2000A;
573
+								font-weight: bold;
574
+								font-size: 36rpx;
575
+						}
576
+					}
577
+
578
+					.right.btn {
579
+						background: #4D85F4;
580
+						color: #fff;
581
+						padding: 6rpx 17rpx;
582
+						border-radius: 12rpx;
583
+						font-size: 20rpx;
584
+						white-space: nowrap;
585
+					}
586
+				}
587
+			}
588
+		}
589
+		
590
+		.query-list {
591
+			margin: 0 0 30rpx 0;
592
+		
497 593
 			.list-item {
498 594
 				padding: 25rpx;
595
+				margin: 0;
499 596
 				background-color: #fff;
500 597
 				border-radius: 5rpx;
598
+		
501 599
 				// 卡片标题
502 600
 				.item-title {
601
+					padding: 0;
602
+					background: none;
503 603
 					display: flex;
504 604
 					align-items: center;
505 605
 					justify-content: space-between;
506 606
 					padding-bottom: 10rpx;
507
-					border-bottom: 1rpx solid #F1F1F1;
607
+					// border-bottom: 1rpx solid #F1F1F1;
608
+		
508 609
 					.title-name {
509 610
 						display: flex;
510 611
 						align-items: center;
511
-						& > view:first-child {
512
-							margin-right: 18rpx;
612
+		
613
+						&>view:first-child {
614
+							// margin-right: 18rpx;
513 615
 							color: #000;
514 616
 							font-weight: bold;
515 617
 							font-size: 32rpx;
618
+							word-wrap: break-word;
619
+							word-break: break-all;
516 620
 						}
517
-						
518
-						& > view:last-child {
621
+		
622
+						&>view:last-child {
519 623
 							color: #4186E2;
520 624
 							border: 1rpx solid #4186E2;
521 625
 							border-radius: 5rpx;
@@ -523,10 +627,59 @@
523 627
 							font-size: 20rpx;
524 628
 						}
525 629
 					}
526
-					.other-price {
527
-						font-size: 22rpx;
630
+		
631
+		
632
+				}
633
+				
634
+				.item-info {
635
+					padding: 0;
636
+				}
637
+				.info-item.footer-btns {
638
+					margin-bottom: 0 !important;
639
+					border-top: 1rpx solid #4d85f433;
640
+					padding-top: 25rpx;
641
+		
642
+					.left.sale-left {
643
+						color: #4D85F4;
644
+						border-color: #4D85F4 !important;
645
+						text-align: left;
646
+						.meters {
647
+							text-align: left !important;
648
+						}
649
+					}
650
+		
651
+					.right {
652
+						color: #fff;
653
+						background: #4D85F4;
654
+					}
655
+		
656
+					.left,
657
+					.right {
658
+						display: flex;
659
+						align-items: center;
660
+						justify-content: center;
661
+						padding: 16rpx 35rpx;
662
+						border-radius: 5px;
663
+						border: 1px solid transparent;
664
+		
665
+						&>.btn-img {
666
+							width: 24rpx;
667
+							height: 24rpx;
668
+							margin-right: 10rpx;
669
+						}
670
+		
671
+						&>.btn-iphone {
672
+							background: #FFFFFF;
673
+							width: fit-content;
674
+						}
675
+		
676
+						&>.btn-position {
677
+							width: fit-content;
678
+						}
528 679
 					}
680
+		
529 681
 				}
682
+		
530 683
 				// 卡片内容
531 684
 				.item-info {
532 685
 					.info-item {
@@ -535,19 +688,72 @@
535 688
 						justify-content: space-between;
536 689
 						margin: 25rpx 0;
537 690
 						font-size: 25rpx;
538
-						.left {
691
+		
692
+						.tags {
539 693
 							display: flex;
540 694
 							align-items: center;
541
-							& > view:first-child {
695
+		
696
+							.tag {
697
+								padding: 5rpx 20rpx;
698
+								border: 1rpx solid #248df9;
699
+								color: #248df9;
700
+								border-radius: 20rpx;
701
+								margin-right: 15rpx;
702
+								font-size: 20rpx;
703
+							}
704
+						}
705
+						.left.sale-left {
706
+							&>view:first-child {
707
+								min-width: inherit;
708
+							}
709
+						}
710
+						.left {
711
+							display: flex;
712
+							// align-items: flex-start;
713
+							&>view:last-child {
714
+								width: fit-content !important;
715
+								text-overflow: ellipsis;
716
+								white-space: nowrap;
717
+								overflow: hidden;
718
+							}
719
+							.meters {
720
+								color: #4D85F4;
721
+								margin-right: 0 !important;
722
+		
723
+								&::after {
724
+									content: "";
725
+									width: 1px;
726
+									height: 8px;
727
+									background: #4d85f433;
728
+									margin: 0 15rpx;
729
+									display: inline-block;
730
+									word-wrap: break-word;
731
+									word-break: break-all;
732
+								}
733
+							}
734
+		
735
+							.other-price {
736
+								font-size: 22rpx;
737
+		
738
+								&.details {
739
+									color: #D91F1E;
740
+									font-weight: bold;
741
+									font-size: 32rpx;
742
+								}
743
+							}
744
+		
745
+							&>view:first-child {
542 746
 								min-width: 120rpx;
543 747
 								text-align: right;
544 748
 								margin-right: 30rpx;
545 749
 							}
546 750
 						}
751
+		
547 752
 						.right.price {
548 753
 							color: #D91F1E;
549 754
 							font-weight: bold;
550 755
 						}
756
+		
551 757
 						.right.btn {
552 758
 							background: #4D85F4;
553 759
 							color: #fff;
@@ -559,7 +765,8 @@
559 765
 					}
560 766
 				}
561 767
 			}
562
-
768
+		
769
+		}
563 770
 		.dian {
564 771
 			width: 18rpx;
565 772
 			height: 18rpx;
@@ -700,7 +907,7 @@
700 907
 		}
701 908
 	}
702 909
 
703
-.item_child_box {
910
+	.item_child_box {
704 911
 		.item_title {
705 912
 			font-weight: bold;
706 913
 			font-size: 28rpx;

+ 2
- 7
components/index/mechanism.vue View File

@@ -70,9 +70,9 @@
70 70
 								<text>周一至周五 {{ item.start_time }}-{{ item.end_time }}</text>
71 71
 							</view>
72 72
 							<!-- 定点药店 -->
73
-							<view v-if="item.cate_id === 3 && !isDetails" class="details_btn" @click.stop="queryMedicine( item )">
73
+						<!-- 	<view v-if="item.cate_id === 3 && !isDetails" class="details_btn" @click.stop="queryMedicine( item )">
74 74
 								药品查询
75
-							</view>
75
+							</view> -->
76 76
 							
77 77
 							<view v-if="!isDetails" class="details_btn" @click.stop="showDesc( item )">
78 78
 								查看详情
@@ -201,7 +201,6 @@
201 201
 		},
202 202
 		computed: {
203 203
 			showCreditLevel() {
204
-				//console.log("****************125");
205 204
 				if(this.item.cate_id != 2 && this.item.cate_id != 3) {
206 205
 					return false;
207 206
 				}
@@ -233,7 +232,6 @@
233 232
 			 * @param {Object} 查看详情
234 233
 			 */
235 234
 			showDetail(item) {
236
-				// console.log("this.canClick", this.canClick)
237 235
 				if (!this.canClick) {
238 236
 					return false
239 237
 				}
@@ -256,7 +254,6 @@
256 254
 			
257 255
 			// 药品查询
258 256
 			queryMedicine (item) {
259
-				console.log("item---", item);
260 257
 				uni.navigateTo({
261 258
 					url: `/pages/index/queryMedicine?id=${ item.id }`
262 259
 				})
@@ -271,7 +268,6 @@
271 268
 				if (!this.canClick) {
272 269
 					return false
273 270
 				} else {
274
-					// console.log("item", item)
275 271
 					uni.navigateTo({
276 272
 						url: `/pages/index/MeCate?id=${ id }`
277 273
 					})
@@ -303,7 +299,6 @@
303 299
 				} = item
304 300
 				let lat = a_latitude ? a_latitude : latitude
305 301
 				let lng = a_longitude ? a_longitude : longitude
306
-				// console.log(lat , lng )
307 302
 				if (lat && lng) {
308 303
 					uni.openLocation({
309 304
 						latitude: Number(lat),

+ 141
- 41
pages/index/MeCate.vue View File

@@ -1,5 +1,5 @@
1 1
 <template>
2
-	<view class="container">
2
+	<view class="container" :style="{ background: info.cate_id == 3 ? '#fff' : '#eee' }">
3 3
 		<view class="info" v-if="info && info.id">
4 4
 			<Mechanism :item="info" :showBtns="false" :isDetails="true" :showY="false" :canClick="false"></Mechanism>
5 5
 		</view>
@@ -10,8 +10,8 @@
10 10
 			</view>
11 11
 			<view class="list_box" v-if="collList && collList.length  ">
12 12
 				<uni-collapse accordion @change="collChange" v-model="sonIndex">
13
-					<uni-collapse-item title-border="none"
14
-						v-for="(item, index) in collList" :key="index" :title="item.label" :disabled="item.dis">
13
+					<uni-collapse-item title-border="none" v-for="(item, index) in collList" :key="index"
14
+						:title="item.label" :disabled="item.dis">
15 15
 						<template v-slot:title>
16 16
 							<view :class="item.dis ? 'del' : 'l_title' ">
17 17
 								<text class="dian"></text>
@@ -51,8 +51,7 @@
51 51
 			</view>
52 52
 			<view class="list_box">
53 53
 				<uni-collapse accordion @change="collChange" v-model="sonIndex">
54
-					<uni-collapse-item v-for="(item, index) in filterPosData" :key="index" :title="item.label"
55
-					 >
54
+					<uni-collapse-item v-for="(item, index) in filterPosData" :key="index" :title="item.label">
56 55
 						<template v-slot:title>
57 56
 							<view :class="item.dis ? 'del' : 'l_title' ">
58 57
 								<text class="dian"></text>
@@ -74,8 +73,8 @@
74 73
 									<view class="item_title">
75 74
 										{{index2+1}}.{{item2.label}}
76 75
 									</view>
77
-									<view class="child_item_title"
78
-										v-for="(child, child_index) of item2.children" :key="child_index">
76
+									<view class="child_item_title" v-for="(child, child_index) of item2.children"
77
+										:key="child_index">
79 78
 										<view @click="goInformation(child)">
80 79
 											{{index2+1}}.{{child_index+1}}.{{child.label}}
81 80
 										</view>
@@ -98,9 +97,28 @@
98 97
 
99 98
 		<!-- 定点药店 -->
100 99
 		<view class="cate" v-else-if="info.cate_id == 3">
101
-			<Sale></Sale>
100
+			<view v-if="showTips" class="tips">
101
+				温馨提示:本页面展示的内容为当前时间一个月内医保定点药店提供的药品信息,涉及药品价格等信息由定点药店提供,其真实性、有效性由药店负责
102
+				<u-icon @click.stop="closeTips" size="20" name="close" color="red"></u-icon>
103
+			</view>
104
+			<view class="right">
105
+				
106
+				<view class="medicine-search">
107
+					<input type="search" @confirm="searchByName" confirm-type="search" v-model="medicineName" class="search" placeholder="输入药品名称查询">
108
+					</input>
109
+					<u-icon @click.stop="resetSearch" size="20" name="close"></u-icon>
110
+					
111
+				</view>
112
+				<view class="btn" @click.stop="searchByName">
113
+					查询
114
+				</view>
115
+			</view>
116
+			<Sale v-if="saleList.length > 0" :detailsId="id" :saleList="saleList" :cardInfo="info" :code="info.me_code"></Sale>
117
+			<view style="margin-left: 15rpx;" v-else>
118
+				未查询到相关数据
119
+			</view>
102 120
 		</view>
103
-		<view class="desc" v-else>
121
+		<view class="cate desc" v-else>
104 122
 			<view class="desc_info">
105 123
 				<view class="txt" v-if="info.desc">
106 124
 					简介:{{ info.desc }}
@@ -127,13 +145,14 @@
127 145
 		getMechanismInfoById,
128 146
 		getCateById,
129 147
 		GetServeCateListForMid,
130
-		getHospJyzb
148
+		getHospJyzb,
149
+		getMedicineList,
150
+		getMedicineListByName
131 151
 	} from "../../assets/api/mechanism.js"
132 152
 	import {
133 153
 		GetTreeData
134 154
 	} from "../../assets/api/common.js"
135 155
 	import Mechanism from "../../components/index/mechanism.vue"
136
-	// import levelLinkage from "@/components/three-level-linkage/linkage.nvue"
137 156
 	import Sale from "@/components/index/Sale.vue"
138 157
 	import LoadModal from "../../components/index/LoadModal.vue"
139 158
 	export default {
@@ -166,13 +185,16 @@
166 185
 
167 186
 				tabList: ["简介", "参保登记类"],
168 187
 				TabCur: 0,
169
-				meCode : "",
170
-				hospJyzb: {}
188
+				meCode: "",
189
+				hospJyzb: {},
190
+				medicineName: "",
191
+				saleList: [],
192
+				saleListBak: [],
193
+				showTips: true
171 194
 			}
172 195
 		},
173 196
 		components: {
174 197
 			Mechanism,
175
-			// levelLinkage,
176 198
 			Sale,
177 199
 			LoadModal,
178 200
 		},
@@ -206,14 +228,12 @@
206 228
 				if (!this.hosFit) {
207 229
 					arr = arr.filter(item => item.value != 2)
208 230
 				}
209
-				console.log("arr", arr)
210 231
 				return arr;
211 232
 			},
212 233
 
213 234
 			hosFit0() {
214 235
 				if (this.info && this.info.hosInfo) {
215 236
 					const obj = JSON.parse(this.info.hosInfo);
216
-					console.log("obj", obj)
217 237
 					let newArr = [{
218 238
 							label: "人次:",
219 239
 							value: obj.person
@@ -231,7 +251,6 @@
231 251
 							value: obj.count ? obj.count + '天' : ''
232 252
 						}
233 253
 					];
234
-					console.log("newArr", newArr)
235 254
 					return newArr;
236 255
 				} else {
237 256
 					return null;
@@ -251,14 +270,13 @@
251 270
 						},
252 271
 						{
253 272
 							label: "报销率:",
254
-							value: this.hospJyzb.bxbl ? this.hospJyzb.bxbl*100 + '%' : ''
273
+							value: this.hospJyzb.bxbl ? this.hospJyzb.bxbl * 100 + '%' : ''
255 274
 						},
256 275
 						{
257 276
 							label: "平均住院天数:",
258 277
 							value: this.hospJyzb.pjzyts ? this.hospJyzb.pjzyts + '天' : ''
259 278
 						}
260 279
 					];
261
-					console.log("newArr", newArr)
262 280
 					return newArr;
263 281
 				} else {
264 282
 					return null;
@@ -290,8 +308,6 @@
290 308
 		},
291 309
 		methods: {
292 310
 			async goInformation(item) {
293
-				console.log("item", item)
294
-				console.log("this.info", this.info.name)
295 311
 				let name = JSON.stringify(this.info.name);
296 312
 				let subName = JSON.stringify(item.label);
297 313
 				let info = JSON.stringify(this.info);
@@ -304,10 +320,8 @@
304 320
 				let res = await GetServeCateListForMid({
305 321
 					id: this.info.id
306 322
 				})
307
-				console.log('res--2222222222--', res);
308 323
 				if (res.data.code == 1) {
309 324
 					this.collList = res.data.data[0]?.children;
310
-					console.log('this.collList----', this.collList)
311 325
 				}
312 326
 			},
313 327
 
@@ -323,7 +337,6 @@
323 337
 				this.loading = true
324 338
 				this.treeData = []
325 339
 				let res = await GetTreeData({})
326
-				console.log('res----', res);
327 340
 				if (res.data.code == 1) {
328 341
 					this.cateList = res.data.data
329 342
 					this.treeData = this.filterTreeData(0)
@@ -344,16 +357,15 @@
344 357
 				})
345 358
 				if (res.data.code == 1) {
346 359
 					this.cateInfo = res.data.data
347
-					console.log(this.cateInfo);
348 360
 					this.getList()
349 361
 				}
350 362
 			},
351
-						
363
+
352 364
 			/**
353 365
 			 * @param {Object} 获取定点医院就医指标数据
354 366
 			 */
355 367
 			async getHospJyzb(code) {
356
-				if(code == '' || code == this.meCode) {
368
+				if (code == '' || code == this.meCode) {
357 369
 					return;
358 370
 				}
359 371
 				this.meCode = code;
@@ -364,22 +376,62 @@
364 376
 				})
365 377
 				if (res.data.success && res.data.data.length > 0) {
366 378
 					this.hospJyzb = res.data.data[0];
367
-					console.log(this.hospJyzb);
368 379
 				}
369 380
 			},
381
+			
382
+			
383
+			/**
384
+			 * @param {Object} 药店药品列表信息(50001)
385
+			 */
386
+			async getMedicineList(code) {
387
+				let res = await getMedicineList({
388
+					query_id: "50001",
389
+					stt_f: code
390
+				})
391
+				if (res.data.success && res.data.data.length > 0) {
392
+					this.saleList = res.data.data || [];
393
+				}
394
+				this.saleListBak = this.saleList;
395
+			},
396
+			
397
+			closeTips() {
398
+				this.showTips = false;
399
+			},
400
+			
401
+			resetSearch() {
402
+				this.medicineName = "";
403
+				this.saleList = this.saleListBak;
404
+			},
405
+			
406
+			async searchByName() {
407
+				if(!this.medicineName || this.medicineName == "") {
408
+					this.saleList = this.saleListBak;
409
+					return;
410
+				}
411
+				this.loading = true;
412
+				let res = await getMedicineListByName({
413
+					query_id: "50001",
414
+					stt_f: this.info.me_code,
415
+					ypmc: this.medicineName
416
+				})
417
+				if (res.data.success && res.data.data.length > 0) {
418
+					this.saleList = res.data.data || [];
419
+				} else {
420
+					this.saleList = [];
421
+				}
422
+				this.loading = false;
423
+			},
424
+			
370 425
 
371 426
 			// 处理children为null
372 427
 			handleChilren(arr) {
373
-				// console.log("start");
374 428
 				let Tag = this.cateInfo.tag_code
375
-				// console.log(Tag);
376 429
 				let list = []
377 430
 				if (arr && arr.length) {
378 431
 					for (var i = 0; i < arr.length; i++) {
379 432
 						let el = arr[i]
380 433
 						let reg = new RegExp(`${Tag}`)
381 434
 						let HasCode = true
382
-						// console.log(!HasCode);
383 435
 						if (el.org) {
384 436
 							HasCode = reg.test(el.org)
385 437
 						}
@@ -394,7 +446,6 @@
394 446
 						list.push(obj)
395 447
 					}
396 448
 				}
397
-				// console.log( list );
398 449
 				return list
399 450
 			},
400 451
 
@@ -412,12 +463,10 @@
412 463
 						}
413 464
 					})
414 465
 				}
415
-				// console.log(data);
416 466
 				return this.handleChilren(data)
417 467
 			},
418 468
 
419 469
 			open() {
420
-				// this.$refs.levelLinkage.open();
421 470
 				this.opend = true
422 471
 			},
423 472
 			onConfirm(e) {
@@ -438,12 +487,10 @@
438 487
 			collChange(index) {
439 488
 				let self = this
440 489
 				try {
441
-					// console.log( index );
442 490
 					let {
443 491
 						id
444 492
 					} = self.collList[index]
445 493
 					self.collItemList = self.filterTreeData(id)
446
-					// console.log(self.collItemList);
447 494
 				} catch (e) {
448 495
 					// throw(e)
449 496
 				}
@@ -475,16 +522,17 @@
475 522
 					id: Number(id)
476 523
 				})
477 524
 				if (res.data.code == 1) {
478
-					console.log('000---000', res)
479 525
 					this.info = res.data.data
480 526
 					if (this.info) {
481 527
 						this.info.start_time = this.info.start_time ? this.info.start_time : "9:00"
482 528
 						this.info.end_time = this.info.end_time ? this.info.end_time : "17:00"
483
-						// console.log( this.info.cate_id );
484 529
 						this.getCate(this.info.cate_id)
485
-						if(this.info.cate_id == 2 && this.info.me_code) {
530
+						if (this.info.cate_id == 2 && this.info.me_code) {
486 531
 							this.getHospJyzb(this.info.me_code)
487 532
 						}
533
+						if (this.info.me_code) {
534
+								this.getMedicineList(this.info.me_code);
535
+						}
488 536
 					}
489 537
 				}
490 538
 			},
@@ -499,12 +547,15 @@
499 547
 	page {
500 548
 		background-color: #fff;
501 549
 	}
550
+
502 551
 	.uni-collapse-item {
503 552
 		border-bottom: 1rpx solid #F1F1F1;
504 553
 	}
554
+
505 555
 	.item_content {
506 556
 		border-top: 1rpx solid #F1F1F1;
507 557
 	}
558
+
508 559
 	.child_item_title_2 {
509 560
 		font-size: 26rpx;
510 561
 		/* font-weight: bold; */
@@ -513,6 +564,7 @@
513 564
 		align-items: center;
514 565
 		border-bottom: 1rpx solid #F1F1F1;
515 566
 	}
567
+
516 568
 	.son_item .coll_item:last-child .child_item_title_2 {
517 569
 		border-bottom: none;
518 570
 	}
@@ -535,8 +587,9 @@
535 587
 
536 588
 	.container {
537 589
 		@include ComponWidth;
538
-		background: #eee;
590
+		// background: #eee;
539 591
 		height: 100vh;
592
+		overflow: hidden;
540 593
 
541 594
 		.dian {
542 595
 			width: 18rpx;
@@ -550,6 +603,8 @@
550 603
 
551 604
 		.cate {
552 605
 			margin: 20rpx;
606
+			height: calc(100vh - 230rpx);
607
+			overflow-y: scroll;
553 608
 
554 609
 			.cate_class {
555 610
 				width: 100%;
@@ -564,8 +619,53 @@
564 619
 				padding-left: 15rpx;
565 620
 				font-weight: bold;
566 621
 			}
622
+			.tips {
623
+				flex: 8;
624
+				display: flex;
625
+				align-items: center;
626
+				overflow: hidden;
627
+				color: red;
628
+				background-color: #f3d6da;
629
+				padding: 10rpx;
630
+				margin-bottom: 20rpx;
631
+			}
632
+			
633
+			.right {
634
+				display: flex;
635
+				align-items: center;
636
+				width: 90%;
637
+				.medicine-search {
638
+					flex: 8;
639
+					background-color: #fff;
640
+					border:5rpx solid #4D85F4;
641
+					border-radius: 50rpx;
642
+					display: flex;
643
+					align-items: center;
644
+					overflow: hidden;
645
+					padding-right: 20rpx;
646
+					padding: 0 30rpx;
647
+					margin-bottom: 20rpx;
648
+					input {
649
+						font-size: 15px;
650
+						height: 60rpx;
651
+						width: 90%;
652
+						border-radius: 50rpx;
653
+						// padding-left: 30rpx;
654
+					}
655
+				}
656
+				.btn {
657
+					background: #4D85F4;
658
+					color: #fff;
659
+					padding: 6rpx 10rpx;
660
+					border-radius: 12rpx;
661
+					font-size: 24rpx;
662
+					white-space: nowrap;
663
+					margin-left: 20rpx;
664
+					margin-bottom: 12rpx;
665
+					height: 48rpx;
666
+				}
667
+			}
567 668
 		}
568
-
569 669
 		.tab_box {
570 670
 			margin-bottom: 40rpx;
571 671
 		}

+ 16
- 7
pages/index/index.vue View File

@@ -144,7 +144,7 @@
144 144
 	} from "../../assets/api/mechanism.js"
145 145
 	import BankList from "@/assets/js/BankList.json"
146 146
 	import CustomBar from "../../components/index/CustomBar.vue"
147
-	import levelLinkage from "@/components/three-level-linkage/linkage.nvue"
147
+	// import levelLinkage from "@/components/three-level-linkage/linkage.nvue"
148 148
 
149 149
 	export default {
150 150
 		data() {
@@ -257,7 +257,7 @@
257 257
 			Mechanism,
258 258
 			CustomBar,
259 259
 			LoadModal,
260
-			levelLinkage,
260
+			// levelLinkage,
261 261
 		},
262 262
 		onReachBottom() {
263 263
 			if (this.hasMore) {
@@ -303,8 +303,6 @@
303 303
 				}
304 304
 			}, // 地图缩放
305 305
 			heit(){
306
-				console.log("(22 - Math.abs(this.paylodNum/100))", (22 - Math.abs(this.paylodNum/100)))
307
-				console.log("(90 - Math.abs(this.paylodNum/10) - (22 - Math.abs(this.paylodNum/100))) + '%';", (90 - Math.abs(this.paylodNum/10) - Math.abs(this.paylodNum/100)) + '%')
308 306
 				return (90 - Math.abs(this.paylodNum/10) - Math.abs(this.paylodNum/100)) + '%';
309 307
 			}
310 308
 		},
@@ -333,13 +331,16 @@
333 331
 					url: "/pages/index/query"
334 332
 				})
335 333
 			},
334
+			
335
+			goQueryMedicine() {
336
+				uni.navigateTo({
337
+					url: "/pages/index/queryMedicine"
338
+				})
339
+			},
336 340
 			emit_dragTop (paylod) {
337
-				console.log("paylod--", paylod)
338 341
 				this.paylodNum = paylod
339
-				console.log('----sssss--', )
340 342
 			},
341 343
 			lowerBottom() {
342
-				console.log("this.hasMore---", this.hasMore)
343 344
 				if (this.hasMore) {
344 345
 					this.getMoreList()
345 346
 				}
@@ -357,6 +358,10 @@
357 358
 			onConfirm() {
358 359
 				// console.log( e );
359 360
 				this.cardCurVisible = false;
361
+				if(this.cateList[this.cardCur].name == '药品比价') {
362
+					this.goQueryMedicine();
363
+					return;
364
+				}
360 365
 				this.cateName = this.cateList[this.cardCur].name
361 366
 				this.cate_id = this.cateList[this.cardCur].ID
362 367
 				this.page = 1
@@ -879,6 +884,10 @@
879 884
 						ID: 0,
880 885
 						name: "全部"
881 886
 					})
887
+					arr.push({
888
+						ID: 100,
889
+						name: "药品比价"
890
+					})
882 891
 					this.cateList = arr
883 892
 				}
884 893
 				this.getTreeList()

+ 3
- 1
pages/index/query.vue View File

@@ -11,7 +11,7 @@
11 11
                     </view>
12 12
                     <view class="input-item">
13 13
                         <view class="label">身份证号</view>
14
-                        <input type="number" v-model="idCardNum" placeholder="请输入身份证号">
14
+                        <input type="text" v-model="idCardNum" placeholder="请输入身份证号">
15 15
                     </view>
16 16
                 </view>
17 17
             </view>
@@ -79,11 +79,13 @@
79 79
 				if(this.name =="") {
80 80
 					uni.showModal({
81 81
 					    title: "提示",
82
+						showCancel: false,
82 83
 					    content: "姓名不能为空"
83 84
 					})
84 85
 				} else if(this.idCardNum =="") {
85 86
 					uni.showModal({
86 87
 					    title: "提示",
88
+						showCancel: false,
87 89
 					    content: "身份证号不能为空"
88 90
 					})
89 91
 				} else {

+ 114
- 466
pages/index/queryMedicine.vue View File

@@ -1,9 +1,9 @@
1 1
 <template>
2
-	<view class="query-medicine">
2
+	<!-- <view class="query-medicine"> -->
3 3
 		<!-- <view class="info" v-if="info && info.id">
4 4
 			<Mechanism :item="info" :showBtns="false" :isDetails="true" :showY="false" :canClick="false"></Mechanism>
5 5
 		</view> -->
6
-		<view class="query-header">
6
+		<!-- <view class="query-header">
7 7
 			<view class="position">
8 8
 				郑州
9 9
 			</view>
@@ -15,6 +15,32 @@
15 15
 		</view>
16 16
 		<Sale></Sale>
17 17
 		<LoadModal v-if="loading"></LoadModal>
18
+	</view> -->
19
+	<view class="container" style="{ background: #fff}">
20
+		<!-- 药品比价 -->
21
+		<view class="cate">
22
+			<view v-if="showTips" class="tips">
23
+				温馨提示:本页面展示的内容为当前时间一个月内医保定点药店提供的药品信息,涉及药品价格等信息由定点药店提供,其真实性、有效性由药店负责
24
+				<u-icon @click.stop="closeTips" size="20" name="close" color="red"></u-icon>
25
+			</view>
26
+			<view class="right">
27
+				<view class="medicine-search">
28
+					<input type="search" @confirm="searchByName" confirm-type="search" v-model="medicineName" class="search" placeholder="输入药品名称查询">
29
+					</input>
30
+					<u-icon @click.stop="resetSearch" size="20" name="close"></u-icon>
31
+					
32
+				</view>
33
+				<view class="btn" @click.stop="searchByName">
34
+					查询
35
+				</view>
36
+			</view>
37
+			<Sale v-if="saleList.length > 0" :saleList="saleList" detailsId="0" code="0"></Sale>
38
+			<view style="margin-left: 15rpx;" v-else>
39
+				未查询到相关数据
40
+			</view>
41
+		</view>
42
+		
43
+		<LoadModal v-if="loading"></LoadModal>
18 44
 	</view>
19 45
 </template>
20 46
 
@@ -23,159 +49,35 @@
23 49
 		mapGetters
24 50
 	} from "vuex"
25 51
 	import {
26
-		getMechanismInfoById,
27
-		getCateById,
28
-		GetServeCateListForMid,
29
-		getHospJyzb
52
+		getMedicineListByName2,
53
+		getCommonMedicineList
30 54
 	} from "../../assets/api/mechanism.js"
31
-	import {
32
-		GetTreeData
33
-	} from "../../assets/api/common.js"
34
-	import Mechanism from "../../components/index/mechanism.vue"
35
-	// import levelLinkage from "@/components/three-level-linkage/linkage.nvue"
36 55
 	import Sale from "@/components/index/Sale.vue"
37 56
 	import LoadModal from "../../components/index/LoadModal.vue"
38 57
 	export default {
39 58
 		data() {
40 59
 			return {
41
-				posData: [{
42
-						label: "简介",
43
-						value: 0
44
-					},
45
-					{
46
-						label: "办理事项",
47
-						value: 1
48
-					},
49
-					{
50
-						label: "就医指标概况",
51
-						value: 2
52
-					},
53
-				],
54
-				id: null,
55
-				info: {},
56
-				collList: [],
57
-				collItemList: [],
58
-				pickerValueDefault: [0],
59
-				treeData: [],
60
-				cateList: [],
61
-				sonIndex: "",
62
-				cateInfo: {},
63
-				opend: true,
64 60
 				loading: false,
65
-
66
-				tabList: ["简介", "参保登记类"],
67
-				TabCur: 0,
68
-				meCode : "",
69
-				hospJyzb: {}
61
+				medicineName: "",
62
+				saleList: [],
63
+				saleListBak: [],
64
+				showTips: true
70 65
 			}
71 66
 		},
72 67
 		components: {
73
-			Mechanism,
74
-			// levelLinkage,
75 68
 			Sale,
76 69
 			LoadModal,
77 70
 		},
78 71
 		onLoad(e) {
79 72
 			Object.assign(this, e)
80 73
 			console.log("this", this)
81
-			let {
82
-				id
83
-			} = this
84
-			if (id) {
85
-				this.getInfo()
86
-			}
87
-
88
-
74
+			this.getMedicineList()
89 75
 		},
90 76
 		computed: {
91 77
 			...mapGetters([]),
92
-			cateId() {
93
-				return this.info.cate_id
94
-			},
95
-			isShowCate() {
96
-				return this.cateId == 2 || this.cateId == 4 || this.cateId == 6
97
-			},
98
-
99
-			filterPosData() {
100
-				let arr = JSON.parse(JSON.stringify(this.posData));
101
-				// 办理事项是空也显示
102
-				// if (!this.collList) {
103
-				// 	arr = arr.filter(item => item.value != 1)
104
-				// }
105
-				if (!this.hosFit) {
106
-					arr = arr.filter(item => item.value != 2)
107
-				}
108
-				console.log("arr", arr)
109
-				return arr;
110
-			},
111
-
112
-			hosFit0() {
113
-				if (this.info && this.info.hosInfo) {
114
-					const obj = JSON.parse(this.info.hosInfo);
115
-					console.log("obj", obj)
116
-					let newArr = [{
117
-							label: "人次:",
118
-							value: obj.person
119
-						},
120
-						{
121
-							label: "次均费用:",
122
-							value: obj.money
123
-						},
124
-						{
125
-							label: "报销率:",
126
-							value: obj.rate ? obj.rate + '%' : ''
127
-						},
128
-						{
129
-							label: "平均住院天数:",
130
-							value: obj.count ? obj.count + '天' : ''
131
-						}
132
-					];
133
-					console.log("newArr", newArr)
134
-					return newArr;
135
-				} else {
136
-					return null;
137
-				}
138
-
139
-			},
140
-
141
-			hosFit() {
142
-				if (this.hospJyzb && this.hospJyzb.rc) {
143
-					let newArr = [{
144
-							label: "人次:",
145
-							value: this.hospJyzb.rc
146
-						},
147
-						{
148
-							label: "次均费用:",
149
-							value: this.hospJyzb.cjfy
150
-						},
151
-						{
152
-							label: "报销率:",
153
-							value: this.hospJyzb.bxbl ? this.hospJyzb.bxbl*100 + '%' : ''
154
-						},
155
-						{
156
-							label: "平均住院天数:",
157
-							value: this.hospJyzb.pjzyts ? this.hospJyzb.pjzyts + '天' : ''
158
-						}
159
-					];
160
-					console.log("newArr", newArr)
161
-					return newArr;
162
-				} else {
163
-					return null;
164
-				}
165
-
166
-			}
167 78
 		},
168 79
 
169 80
 		watch: {
170
-			treeData() {
171
-
172
-				if (!this.opend && this.treeData && this.treeData.length && this.isShowCate) {
173
-					setTimeout(() => {
174
-						this.loading = false
175
-						this.GetServeCateListHandle()
176
-					}, 200)
177
-				}
178
-			},
179 81
 			loading() {
180 82
 				console.log(this.loading);
181 83
 			},
@@ -188,232 +90,48 @@
188 90
 			}, 500)
189 91
 		},
190 92
 		methods: {
191
-			
192
-			// 查看在售
193
-			viewSale () {
194
-				uni.navigateTo({
195
-					url: `/pages/index/sale?id=111`
196
-				})
197
-			},
198
-			
199 93
 			/**
200
-			 * @name input获取焦点
94
+			 * @param {Object} 药店药品列表信息(50001)
201 95
 			 */
202
-			focus() {
203
-				let {
204
-					latitude,
205
-					longitude
206
-				} = this.position
207
-				if (!this.isSearchPage && latitude && longitude) {
208
-					alert('查询')
209
-					// this.$emit("searchHandle", this.keyword)
210
-					// uni.navigateTo({
211
-					// 	url:"/pages/index/search"
212
-					// })
213
-				}
214
-			},
215
-			async goInformation(item) {
216
-				console.log("item", item)
217
-				console.log("this.info", this.info.name)
218
-				let name = JSON.stringify(this.info.name);
219
-				let subName = JSON.stringify(item.label);
220
-				let info = JSON.stringify(this.info);
221
-				uni.navigateTo({
222
-					url: `/pages/index/Make?mid=${this.id}&id=${item.value}&name=${encodeURIComponent(name)}&subName=${encodeURIComponent(subName)}&info=${encodeURIComponent(info)}`
223
-				})
224
-			},
225
-			// 查看机构提供服务事项列表
226
-			async GetServeCateListHandle() {
227
-				let res = await GetServeCateListForMid({
228
-					id: this.info.id
96
+			async getMedicineList() {
97
+				this.loading = true;
98
+				let res = await getCommonMedicineList({
99
+					query_id: "50005"
229 100
 				})
230
-				console.log('res--2222222222--', res);
231
-				if (res.data.code == 1) {
232
-					this.collList = res.data.data[0]?.children;
233
-					console.log('this.collList----', this.collList)
101
+				if (res.data.success && res.data.data.length > 0) {
102
+					this.saleList = res.data.data || [];
234 103
 				}
104
+				
105
+				this.loading = false;
106
+				this.saleListBak = this.saleList;
235 107
 			},
236
-
237
-			tabSelect(index) {
238
-				console.log(index);
239
-				this.TabCur = index
240
-			},
241
-
242
-			/**
243
-			 * @name 获取数据
244
-			 */
245
-			async getList() {
246
-				this.loading = true
247
-				this.treeData = []
248
-				let res = await GetTreeData({})
249
-				console.log('res----', res);
250
-				if (res.data.code == 1) {
251
-					this.cateList = res.data.data
252
-					this.treeData = this.filterTreeData(0)
253
-					this.loading = false
254
-					this.opend = false
255
-
256
-				}
257
-
108
+			
109
+			closeTips() {
110
+				this.showTips = false;
258 111
 			},
259
-
260
-			/**
261
-			 * @param {Object} 获取分类信息
262
-			 */
263
-			async getCate(id) {
264
-				this.cateInfo = {}
265
-				let res = await getCateById({
266
-					id
267
-				})
268
-				if (res.data.code == 1) {
269
-					this.cateInfo = res.data.data
270
-					console.log(this.cateInfo);
271
-					this.getList()
272
-				}
112
+			
113
+			resetSearch() {
114
+				this.medicineName = "";
115
+				this.saleList = this.saleListBak;
273 116
 			},
274
-						
275
-			/**
276
-			 * @param {Object} 获取定点医院就医指标数据
277
-			 */
278
-			async getHospJyzb(code) {
279
-				if(code == '' || code == this.meCode) {
117
+			
118
+			async searchByName() {
119
+				if(!this.medicineName || this.medicineName == "") {
120
+					this.saleList = this.saleListBak;
280 121
 					return;
281 122
 				}
282
-				this.meCode = code;
283
-				this.hospJyzb = {};
284
-				let res = await getHospJyzb({
285
-					query_id: "41072",
286
-					stt_f: code
123
+				this.loading = true;
124
+				let res = await getMedicineListByName2({
125
+					query_id: "50004",
126
+					ypmc: this.medicineName
287 127
 				})
288 128
 				if (res.data.success && res.data.data.length > 0) {
289
-					this.hospJyzb = res.data.data[0];
290
-					console.log(this.hospJyzb);
291
-				}
292
-			},
293
-
294
-			// 处理children为null
295
-			handleChilren(arr) {
296
-				// console.log("start");
297
-				let Tag = this.cateInfo.tag_code
298
-				// console.log(Tag);
299
-				let list = []
300
-				if (arr && arr.length) {
301
-					for (var i = 0; i < arr.length; i++) {
302
-						let el = arr[i]
303
-						let reg = new RegExp(`${Tag}`)
304
-						let HasCode = true
305
-						// console.log(!HasCode);
306
-						if (el.org) {
307
-							HasCode = reg.test(el.org)
308
-						}
309
-						let obj = {
310
-							id: el.ID,
311
-							name: el.name,
312
-							children: el.children ?? [],
313
-							onsite: el.onsite,
314
-							online: el.online,
315
-							dis: !HasCode
316
-						}
317
-						list.push(obj)
318
-					}
319
-				}
320
-				// console.log( list );
321
-				return list
322
-			},
323
-
324
-			// 过滤数据
325
-			filterTreeData(fid) {
326
-				let {
327
-					cateList
328
-				} = this
329
-				let data = []
330
-				if (cateList && cateList.length && fid >= 0) {
331
-					cateList.forEach(el => {
332
-						if (el.fid == fid) {
333
-
334
-							data.push(el)
335
-						}
336
-					})
337
-				}
338
-				// console.log(data);
339
-				return this.handleChilren(data)
340
-			},
341
-
342
-			open() {
343
-				// this.$refs.levelLinkage.open();
344
-				this.opend = true
345
-			},
346
-			onConfirm(e) {
347
-				this.collList = []
348
-				this.collItemList = []
349
-				let {
350
-					value
351
-				} = e
352
-				let index = value[0]
353
-				let fd = this.treeData[index]
354
-
355
-				this.collList = this.filterTreeData(fd.id)
356
-			},
357
-
358
-			/**
359
-			 * @name 折叠面板变化
360
-			 */
361
-			collChange(index) {
362
-				let self = this
363
-				try {
364
-					// console.log( index );
365
-					let {
366
-						id
367
-					} = self.collList[index]
368
-					self.collItemList = self.filterTreeData(id)
369
-					// console.log(self.collItemList);
370
-				} catch (e) {
371
-					// throw(e)
372
-				}
373
-			},
374
-
375
-			collSunChange() {
376
-
377
-			},
378
-
379
-			/**
380
-			 * @name 点击取消
381
-			 */
382
-			back() {
383
-				uni.navigateBack({
384
-
385
-				})
386
-			},
387
-
388
-
389
-
390
-			/**
391
-			 * @name 获取机构详情
392
-			 */
393
-			async getInfo() {
394
-				let {
395
-					id
396
-				} = this
397
-				let res = await getMechanismInfoById({
398
-					id: Number(id)
399
-				})
400
-				if (res.data.code == 1) {
401
-					console.log('000---000', res)
402
-					this.info = res.data.data
403
-					if (this.info) {
404
-						this.info.start_time = this.info.start_time ? this.info.start_time : "9:00"
405
-						this.info.end_time = this.info.end_time ? this.info.end_time : "17:00"
406
-						// console.log( this.info.cate_id );
407
-						this.getCate(this.info.cate_id)
408
-						if(this.info.cate_id == 2 && this.info.me_code) {
409
-							this.getHospJyzb(this.info.me_code)
410
-						}
411
-					}
129
+					this.saleList = res.data.data || [];
130
+				} else {
131
+					this.saleList = [];
412 132
 				}
133
+				this.loading = false;
413 134
 			},
414
-
415
-
416
-
417 135
 		},
418 136
 	}
419 137
 </script>
@@ -442,6 +160,7 @@
442 160
 </style>
443 161
 
444 162
 <style lang="scss" scoped>
163
+	
445 164
 	.query-medicine {
446 165
 		@include ComponWidth;
447 166
 		background: #eee;
@@ -481,9 +200,16 @@
481 200
 			vertical-align: middle;
482 201
 			margin-right: 10px;
483 202
 		}
484
-
203
+	}
204
+	.container {
205
+		@include ComponWidth;
206
+		background: #eee;
207
+		height: 100vh;
208
+		overflow: hidden;
485 209
 		.cate {
486 210
 			margin: 20rpx;
211
+			height: calc(100vh - 10rpx);
212
+			overflow-y: scroll;
487 213
 
488 214
 			.cate_class {
489 215
 				width: 100%;
@@ -498,131 +224,53 @@
498 224
 				padding-left: 15rpx;
499 225
 				font-weight: bold;
500 226
 			}
501
-		}
502
-
503
-		.tab_box {
504
-			margin-bottom: 40rpx;
505
-		}
506
-
507
-		.desc {
508
-			font-size: 28rpx;
509
-			@include ComponWidth;
510
-			padding: 20rpx 40rpx;
511
-
512
-			.d_title {
227
+			
228
+			.tips {
229
+				flex: 8;
230
+				display: flex;
231
+				align-items: center;
232
+				overflow: hidden;
233
+				color: red;
234
+				background-color: #f3d6da;
235
+				padding: 10rpx;
513 236
 				margin-bottom: 20rpx;
514
-				color: #3A3C3D;
515
-				font-size: 32rpx;
516
-				font-weight: 400;
517 237
 			}
518
-
519
-			.desc_info {
520
-				line-height: 40rpx;
521
-				color: #8E9499;
522
-
523
-				.txt {
524
-					@include multipleRows(7);
525
-				}
526
-
527
-				.notxt {
528
-					text-align: center;
529
-
530
-					.img_txt {
531
-						width: 318rpx;
532
-						height: 124rpx;
533
-						margin: 40rpx auto;
534
-
535
-						image {
536
-							width: 318rpx;
537
-							height: 124rpx;
538
-						}
238
+			
239
+			.right {
240
+				display: flex;
241
+				align-items: center;
242
+				width: 90%;
243
+				.medicine-search {
244
+					flex: 8;
245
+					background-color: #fff;
246
+					border:5rpx solid #4D85F4;
247
+					border-radius: 50rpx;
248
+					display: flex;
249
+					align-items: center;
250
+					overflow: hidden;
251
+					padding-right: 20rpx;
252
+					padding: 0 30rpx;
253
+					margin-bottom: 20rpx;
254
+					input {
255
+						font-size: 15px;
256
+						height: 60rpx;
257
+						width: 90%;
258
+						border-radius: 50rpx;
259
+						// padding-left: 30rpx;
539 260
 					}
540
-
541
-					.nomore_txt {}
542 261
 				}
543
-			}
544
-		}
545
-
546
-		.fix_btm_btn {
547
-			@include ComponWidth;
548
-			background-color: #fff;
549
-			font-size: 28rpx;
550
-			height: 140rpx;
551
-			line-height: 140rpx;
552
-			text-align: center;
553
-			color: #4D85F4;
554
-			position: fixed;
555
-			left: 0;
556
-			bottom: 0;
557
-		}
558
-
559
-		.list_box {
560
-			@include ComponWidth;
561
-			padding-bottom: 140rpx;
562
-			// height: calc(100vh - 360rpx );
563
-			overflow: auto;
564
-
565
-			.l_title {
566
-				font-size: 28rpx;
567
-				color: #3A3C3D;
568
-				font-weight: bold;
569
-				padding: 20rpx;
570
-				max-width: 600rpx;
571
-				@include multipleRows(3);
572
-
573
-			}
574
-
575
-			.del {
576
-				font-size: 28rpx;
577
-				color: #CACBCC;
578
-				font-weight: bold;
579
-				padding: 20rpx;
580
-				max-width: 600rpx;
581
-				@include multipleRows(3);
582
-				text-decoration: line-through;
583
-			}
584
-
585
-			.item_content {
586
-				width: 100%;
587
-				height: 100%;
588
-				padding: 10rpx 40rpx;
589
-
590
-				.ql {
591
-					width: 100%;
592
-					height: 100%;
593
-
594
-					.son_item {
595
-						width: 100%;
596
-						height: 100%;
597
-
598
-						.coll_item {
599
-							// border-top: 1rpx solid #eee;
600
-						}
601
-
602
-						.onsite {
603
-							text-indent: 2em;
604
-							padding: 10rpx;
605
-							font-size: 24rpx;
606
-							color: #3A3C3D;
607
-							height: auto;
608
-						}
609
-					}
262
+				.btn {
263
+					background: #4D85F4;
264
+					color: #fff;
265
+					padding: 6rpx 10rpx;
266
+					border-radius: 12rpx;
267
+					font-size: 24rpx;
268
+					white-space: nowrap;
269
+					margin-left: 20rpx;
270
+					margin-bottom: 12rpx;
271
+					height: 48rpx;
610 272
 				}
611 273
 			}
612 274
 		}
613 275
 	}
614
-
615
-.item_child_box {
616
-		.item_title {
617
-			font-weight: bold;
618
-			font-size: 28rpx;
619
-			padding: 20rpx 0
620
-		}
621
-
622
-		.child_item_title {
623
-			font-size: 25rpx;
624
-			padding: 20rpx 0;
625
-			color: #000;
626
-		}
627
-	}
628 276
 </style>

+ 322
- 514
pages/index/sale.vue
File diff suppressed because it is too large
View File


BIN
static/active.png View File


BIN
static/b1.png View File


BIN
static/b10.png View File


BIN
static/b2.png View File


BIN
static/b3.png View File


BIN
static/b4.png View File


BIN
static/b5.png View File


BIN
static/b6.png View File


BIN
static/b7.png View File


BIN
static/b8.png View File


BIN
static/b9.png View File


BIN
static/d_local1.png View File


BIN
static/d_local2.png View File


BIN
static/d_local3.png View File


BIN
static/d_local4.png View File


BIN
static/imgs/all.png View File


BIN
static/imgs/all2.png View File


BIN
static/imgs/bmwd.png View File


BIN
static/imgs/chs.png View File


BIN
static/imgs/ddyd.png View File


BIN
static/imgs/ddyy.png View File


BIN
static/imgs/dh.png View File


BIN
static/imgs/gov.png View File


BIN
static/imgs/iphone-icon.png View File


BIN
static/imgs/jbjg.png View File


BIN
static/imgs/local.png View File


BIN
static/imgs/map.png View File


BIN
static/imgs/mark-icon.png View File


BIN
static/imgs/mypoint.png View File


BIN
static/imgs/noMore.png View File


BIN
static/imgs/wd.png View File


BIN
static/imgs/ybzx.png View File


BIN
static/imgs/yd.png View File


BIN
static/imgs/yuyue.png View File


BIN
static/imgs/yy.png View File


Loading…
Cancel
Save