linweizeng 2 anos atrás
pai
commit
07e7549e3a

+ 13 - 0
pages/communication/communication.vue

@@ -420,6 +420,14 @@
 						return
 					}
 				}
+				if (!this.form.keHu) {
+					uni.showToast({
+						title: '请沟通签名',
+						icon: 'none',
+						duration: 2000
+					})
+					return
+				}
 
 				let selList = ['weiTuoDanHao', 'gouTongLeiXing']
 				let selListName = ['委托单号', '沟通类型']
@@ -483,6 +491,11 @@
 				let info = uni.getStorageSync(USER_INFO);
 				let useId = info.user.id
 				let detpId = info.org.id
+				let tmpArray = []
+				this.fuJianShangChuanArray.forEach((item) => {
+					tmpArray.push(item.id)
+				})
+				this.form.fuJian = tmpArray.join(",")
 				this.form.gouTongRenYuan = useId
 				this.form.gouTongRiQi = this.$methCommon.time(10)
 				this.form.gouTongBuMen = detpId

+ 2 - 2
pages/fileView/fileView.vue

@@ -35,9 +35,9 @@
 					this.type = option.type
 				}
 				if (this.type == 1) {
-					this.getDe(option.id)
+					this.getDe(option.fileId)
 				} else {
-					this.getDe2(option.id)
+					this.getDe2(option.fileId)
 				}
 			}
 

+ 4 - 20
pages/fileView/reportList.vue

@@ -65,9 +65,9 @@
 			}
 		},
 		onLoad(option) {
-			if (option.id) {
-				this.yangPinBianHao = option.id
-				this.getList(option.id)
+			if (option.reportId) {
+				this.yangPinBianHao = option.reportId
+				this.getList(option.reportId)
 			}
 		},
 		created() {
@@ -108,25 +108,9 @@
 			*/
 			goto(id, type) {
 				uni.navigateTo({ // 跳转页面
-					url: "/pages/fileView/fileView?id=" + id + '&type=' + type
+					url: "/pages/fileView/fileView?fileId=" + id + '&type=' + type
 				})
 			},
-			//下载
-			// getDe(id, item) {
-			// 	uni.showLoading({
-			// 		title: '下载中',
-			// 		mask: true
-			// 	})
-			// 	let sql =
-			// 		`select a.bao_gao_pdf_,b.FILE_NAME_,b.EXT_ FROM t_lhjcbgb a left join ibps_file_attachment b on a.bao_gao_pdf_ = b.id_ WHERE a.id_ = '${id}'`
-			// 	let requestData = this.$sig(sql)
-			// 	this.$http.post("/ibps/business/v3/sys/universal/inputSqlSelectData", requestData).then(res => {
-			// 		if (res.data.state == 200) {
-			// 			const data = res.data.variables.data[0]
-			// 			this.geDownload(data.bao_gao_pdf_, data.FILE_NAME_, data.EXT_)
-			// 		}
-			// 	})
-			// },
 			geDownload(id, item, type) {
 				uni.showLoading({
 					title: '下载中',

+ 1 - 1
pages/jiance/list.vue

@@ -186,7 +186,7 @@
 			},
 			goBaogao(option) {
 				uni.navigateTo({ // 跳转页面
-					url: '/pages/fileView/reportList?id=' + option
+					url: '/pages/fileView/reportList?reportId=' + option
 				})
 			},
 			/**

+ 32 - 0
pages/jiance/list/js/specimenBox.js

@@ -120,4 +120,36 @@ export default {
 		}
 		return true
 	},
+	getForm(result) {
+		let obj = {
+			yang_pin_bian_hao: result.yang_pin_bian_hao,
+			yang_pin_ming_che: result.yang_pin_ming_che,
+			xing_bie_: result.xing_bie_,
+			xing_ming_: result.xing_ming_,
+			nian_ling_: result.nian_ling_,
+			song_jian_pi_hao_: result.song_jian_pi_hao_,
+			yang_pin_zhuang_t: result.yang_pin_zhuang_t,
+			song_jian_shi_jia: result.song_jian_shi_jia,
+			bei_zhu_1_: result.bei_zhu_1_,
+			yang_pin_lei_xing: result.yang_pin_lei_xing,
+			yang_ben_yun_shu_: result.yang_ben_yun_shu_,
+			shu_liang_: parseInt(result.shu_liang_ || 0),
+			yang_pin_gui_ge_: result.yang_pin_gui_ge_,
+			yang_pin_lei_er_: result.yang_pin_lei_er_,
+			yang_pin_yun_shu_: result.yang_pin_yun_shu_,
+			yang_pin_gui_ge_e: result.yang_pin_gui_ge_e,
+			shu_liang_er_: parseInt(result.shu_liang_er_ || 0),
+			yang_pin_gui_ge_s: result.yang_pin_gui_ge_s,
+			shu_liang_san_: parseInt(result.shu_liang_san_ || 0),
+			yang_pin_yun_san: result.yang_pin_yun_san,
+			yang_pin_lei_san_: result.yang_pin_lei_san_,
+			yang_pin_gui_si_: result.yang_pin_gui_si_,
+			shu_liang_si_: parseInt(result.shu_liang_si_ || 0),
+			yang_pin_yun_si_: result.yang_pin_yun_si_,
+			yang_pin_lei_si_: result.yang_pin_lei_si_,
+			xiang_mu_ming_che: result.xiang_mu_ming_che,
+			yang_pin_zong_shu: parseInt(result.yang_pin_zong_shu)
+		}
+		return obj
+	}
 }

+ 45 - 81
pages/jiance/list/specimen.vue

@@ -405,33 +405,7 @@
 				this.$http.post("/ibps/business/v3/sys/universal/inputSqlSelectData", requestData).then(res => {
 					if (res.data.state == 200) {
 						let result = res.data.variables.data[0]
-						this.form.yang_pin_bian_hao = result.yang_pin_bian_hao
-						this.form.yang_pin_ming_che = result.yang_pin_ming_che
-						this.form.xing_bie_ = result.xing_bie_
-						this.form.xing_ming_ = result.xing_ming_
-						this.form.nian_ling_ = result.nian_ling_
-						this.form.song_jian_pi_hao_ = result.song_jian_pi_hao_
-						this.form.yang_pin_zhuang_t = result.yang_pin_zhuang_t
-						this.form.song_jian_shi_jia = result.song_jian_shi_jia
-						this.form.bei_zhu_1_ = result.bei_zhu_1_
-						this.form.yang_pin_lei_xing = result.yang_pin_lei_xing
-						this.form.yang_ben_yun_shu_ = result.yang_ben_yun_shu_
-						this.form.shu_liang_ = parseInt(result.shu_liang_ || 0)
-						this.form.yang_pin_gui_ge_ = result.yang_pin_gui_ge_
-						this.form.yang_pin_lei_er_ = result.yang_pin_lei_er_
-						this.form.yang_pin_yun_shu_ = result.yang_pin_yun_shu_
-						this.form.yang_pin_gui_ge_e = result.yang_pin_gui_ge_e
-						this.form.shu_liang_er_ = parseInt(result.shu_liang_er_ || 0)
-						this.form.yang_pin_gui_ge_s = result.yang_pin_gui_ge_s
-						this.form.shu_liang_san_ = parseInt(result.shu_liang_san_ || 0)
-						this.form.yang_pin_yun_san = result.yang_pin_yun_san
-						this.form.yang_pin_lei_san_ = result.yang_pin_lei_san_
-						this.form.yang_pin_gui_si_ = result.yang_pin_gui_si_
-						this.form.shu_liang_si_ = parseInt(result.shu_liang_si_ || 0)
-						this.form.yang_pin_yun_si_ = result.yang_pin_yun_si_
-						this.form.yang_pin_lei_si_ = result.yang_pin_lei_si_
-						this.form.xiang_mu_ming_che = result.xiang_mu_ming_che
-						this.form.yang_pin_zong_shu = parseInt(result.yang_pin_zong_shu)
+						this.form = specimenBox.getForm(result)
 
 						if (result.jian_ce_xiang_mu_ && result.jian_ce_xiang_mu_ != '') {
 							this.getJiangCeDe(result.jian_ce_xiang_mu_)
@@ -655,65 +629,55 @@
 			actionSheetCallback(e) {
 				let that = this
 				let lists = that.form
-
-				if (this.listType == 'state') {
-					lists.yang_pin_zhuang_t = this.list[e].text
-				}
-
-				//1
-				if (this.listType == 'transportType1') {
-					lists.yang_ben_yun_shu_ = that.list[e].text
-				}
-
-				//2
-				if (this.listType == 'transportType2') {
-					lists.yang_pin_yun_shu_ = that.list[e].text
-				}
-
-				//3
-				if (this.listType == 'transportType3') {
-					lists.yang_pin_yun_san = that.list[e].text
-				}
-
-				//4
-				if (this.listType == 'transportType4') {
-					lists.yang_pin_yun_si_ = that.list[e].text
-				}
-
-				if (this.listType == 'disposition') {
-					this.form.yangBenChuLi = this.list[e].text
+				switch (this.listType) {
+					case 'state':
+						lists.yang_pin_zhuang_t = this.list[e].text
+						break
+					case 'transportType1':
+						lists.yang_ben_yun_shu_ = that.list[e].text
+						break
+					case 'transportType2':
+						lists.yang_pin_yun_shu_ = that.list[e].text
+						break
+					case 'transportType3':
+						lists.yang_pin_yun_san = that.list[e].text
+						break
+					case 'transportType4':
+						lists.yang_pin_yun_si_ = that.list[e].text
+						break
+					case 'disposition':
+						this.form.yangBenChuLi = this.list[e].text
+						break
 				}
 			},
 			onConfirm(e) {
 				let that = this
 				let lists = that.form
-
-				//样品类型
-				if (this.listType == 'yangpinType1') {
-					lists.yang_pin_lei_xing = that.list[e].name
-				}
-				if (this.listType == 'yangpinType2') {
-					lists.yang_pin_lei_er_ = that.list[e].name
-				}
-				if (this.listType == 'yangpinType3') {
-					lists.yang_pin_lei_san_ = that.list[e].name
-				}
-				if (this.listType == 'yangpinType4') {
-					lists.yang_pin_lei_si_ = that.list[e].name
-				}
-
-				//样品规格
-				if (this.listType == 'specification1') {
-					lists.yang_pin_gui_ge_ = that.list[e].name
-				}
-				if (this.listType == 'specification2') {
-					lists.yang_pin_gui_ge_e = that.list[e].name
-				}
-				if (this.listType == 'specification3') {
-					lists.yang_pin_gui_ge_s = that.list[e].name
-				}
-				if (this.listType == 'specification4') {
-					lists.yang_pin_gui_si_ = that.list[e].name
+				switch (this.listType) {
+					case 'yangpinType1':
+						lists.yang_pin_lei_xing = that.list[e].name
+						break
+					case 'yangpinType2':
+						lists.yang_pin_lei_er_ = that.list[e].name
+						break
+					case 'yangpinType3':
+						lists.yang_pin_lei_san_ = that.list[e].name
+						break
+					case 'yangpinType4':
+						lists.yang_pin_lei_si_ = that.list[e].name
+						break
+					case 'specification1':
+						lists.yang_pin_gui_ge_ = that.list[e].name
+						break
+					case 'specification2':
+						lists.yang_pin_gui_ge_e = that.list[e].name
+						break
+					case 'specification3':
+						lists.yang_pin_gui_ge_s = that.list[e].name
+						break
+					case 'specification4':
+						lists.yang_pin_gui_si_ = that.list[e].name
+						break
 				}
 			},
 			//检测详情弹出框

+ 28 - 106
pages/jiance/order.vue

@@ -153,61 +153,7 @@
 			<view style="height: 100rpx;"></view>
 		</u-form>
 
-		<view class="bottomBtn" v-if="buttonFlagNum == '3' || buttonFlagNum == ''">
-			<u-row>
-				<u-col :span="activeNum != 1 ? 4 : 6" v-if="activeNum != 1">
-					<u-button type="warning" class="btn" @click="lastStep">
-						上一步
-					</u-button>
-				</u-col>
-				<u-col :span="activeNum == 1  ? 6 : 4">
-					<u-button type="success" @click="onSubmit(1)" class="btn green-back-color" style="margin-bottom: 15rpx;" v-if="type != 'detail'">
-						暂存
-					</u-button>
-				</u-col>
-				<u-col :span="4" v-if="activeNum == 3">
-					<u-button type="success" class="btn btn-back-color" @click="onSubmit(2)" v-if="type != 'detail'">提交
-					</u-button>
-				</u-col>
-				<u-col :span="activeNum == 1 ? 6 : 4" v-if="activeNum != 3">
-					<u-button type="warning" @click="nextStep" class="btn btn-green-color"> 下一步 </u-button>
-				</u-col>
-			</u-row>
-		</view>
-
-		<view class="bottomBtn" v-else-if="buttonFlagNum == '1'">
-			<u-row>
-				<u-col :span="activeNum == 1 ? 12 : 6" v-if="activeNum != 1">
-					<u-button type="warning" @click="lastStep" class="btn">
-						上一步
-					</u-button>
-				</u-col>
-				<u-col :span="activeNum == 3 ? 6 :12" v-if="activeNum == 3">
-					<u-button type="error" @click="onSubmit(3)">提交
-					</u-button>
-				</u-col>
-				<u-col :span="activeNum == 1 ?12 : 6" v-if="activeNum != 3">
-					<u-button type="warning" @click="nextStep" class="btn btn-green-color">下一步
-					</u-button>
-				</u-col>
-			</u-row>
-		</view>
-
-		<view class="bottomBtn" v-else-if="buttonFlagNum == '0'">
-			<u-row>
-				<u-col :span="activeNum == 2 ? 6 : 12" v-if="activeNum != 1">
-					<u-button type="warning" @click="lastStep" class="btn">
-						上一步
-					</u-button>
-				</u-col>
-				<u-col :span="activeNum == 2 ? 6 : 12" v-if="activeNum != 3">
-					<u-button type="warning" @click="nextStep" class="btn btn-green-color">下一步
-					</u-button>
-				</u-col>
-			</u-row>
-		</view>
-
-
+		<order-buttom :type="type" :activeNum="activeNum" :buttonFlagNum="buttonFlagNum" @nextStep="nextStep" @lastStep="lastStep" @onSubmit="onSubmit"></order-buttom>
 
 		<u-back-top :scroll-top="scrollTop" :icon-style="iconStyle" bottom="400" top="100"></u-back-top>
 
@@ -257,6 +203,7 @@
 	import message from '@/pages/jiance/order/message.vue'
 	import top from '@/pages/jiance/order/top.vue'
 	import lhypbCom from '@/pages/jiance/order/lhypbCom.vue'
+	import orderButtom from '@/pages/jiance/order/orderButtom.vue'
 
 	import {
 		ACCESS_TOKEN,
@@ -270,7 +217,8 @@
 			lhypbMessage,
 			message,
 			top,
-			lhypbCom
+			lhypbCom,
+			orderButtom
 		},
 		data() {
 			return {
@@ -496,10 +444,8 @@
 			//下一步
 			nextStep() {
 				let index = JSON.parse(JSON.stringify(this.activeNum))
-				if (index == '1') {
-					if (!service.getActiveNum1(this.form)) {
-						return
-					}
+				if (index == '1' && !service.getActiveNum1(this.form)) {
+					return
 				}
 				this.$refs.top.activeNum = index + 1
 				this.activeNum = index + 1
@@ -553,11 +499,7 @@
 			//初始化
 			getInit() {
 				let info = uni.getStorageSync(USER_INFO)
-				if (info.org !== null) {
-					this.orgId = info.org.id || ''
-				}
-				// this.getDataHetong()
-				//获取时间
+				this.orgId = info.org?.id || ''
 				this.time = meth.time(10)
 				this.time2 = meth.time(19)
 				this.form.weiTuoLeiXing = '客户委托'
@@ -644,6 +586,10 @@
 			},
 			//获取样品编号
 			getLhypbh(callback) {
+				uni.showLoading({
+					title: '生成样品编号中',
+					mask: true
+				})
 				let smsParams = {
 					alias: "lhypbh"
 				};
@@ -651,6 +597,7 @@
 				this.$http.post("/ibps/business/v3/jc/sys/getNextIdByAlias", smsParams).then(res => {
 					if (res.data.state == 200) {
 						const data = res.data.data
+						uni.hideLoading()
 						callback(data)
 					}
 				});
@@ -669,18 +616,9 @@
 						let result = res.data.variables.data[0]
 						let form = service.getForm(result)
 						this.form = form
-
-
-						if (result.chu_ju_bao_gao_ya == '特急') {
-							this.total = parseFloat(result.zong_jia_) / 1.5
-						} else if (result.chu_ju_bao_gao_ya == '加急') {
-							this.total = parseFloat(result.zong_jia_) / 1.2
-						} else {
-							this.total = parseFloat(result.zong_jia_)
-						}
+						this.total = parseFloat(result.zong_jia_) / (result.chu_ju_bao_gao_ya === '特急' ? 1.5 : result.chu_ju_bao_gao_ya === '加急' ? 1.2 : 1)
 						this.getTaoCanXiangMu(result.he_tong_id_)
 						this.hetongChange(result.he_tong_id_, this.type, id)
-						// this.getJiance(result.he_tong_id_, this.type, id)
 						this.getZhanShiBiao(result.zhan_shi_biao_id_)
 						// uni.hideLoading()
 					} else {
@@ -697,7 +635,6 @@
 				this.$http.post("/ibps/business/v3/sys/universal/inputSqlSelectData", requestData).then(res => {
 					if (res.data.state == 200) {
 						let result = res.data.variables.data
-
 						let list = []
 						result.forEach(item => {
 							list.push(item.id_)
@@ -740,17 +677,8 @@
 					return
 				}
 				let sql = ``
-				// let sql =
-				// 	`select tb.*,ty.ke_hu_ming_cheng_ as ke_hu_dang_wei from t_bjd tb,t_yxkh ty where tb.ke_hu_ming_cheng_ = ty.id_  and tb.zhuang_tai_='生效中' and tb.shi_fou_guo_shen_ = '已完成'`
-
-
 				sql =
 					`select tb.*,ty.ke_hu_ming_cheng_ as ke_hu_dang_wei from t_bjd tb,t_yxkh ty where tb.ke_hu_ming_cheng_ = ty.id_ and tb.ke_hu_zhang_hao_ ='${userId}' and tb.zhuang_tai_='生效中' and tb.shi_fou_guo_shen_ = '已完成'`
-
-				// if (this.administrator && this.type == '') {
-				// 	sql =
-				// 		`select tb.*,ty.ke_hu_ming_cheng_ as ke_hu_dang_wei from t_bjd tb,t_yxkh ty where tb.ke_hu_ming_cheng_ = ty.id_ and tb.zhuang_tai_='生效中' and tb.shi_fou_guo_shen_ = '已完成'`
-				// }
 				let requestData = this.$sig(sql)
 				this.$http.post("/ibps/business/v3/sys/universal/inputSqlSelectData", requestData).then(res => {
 					if (res.data.state == 200) {
@@ -814,7 +742,8 @@
 										// text: item.jian_ce_lei_bie_
 										value: item.jian_ce_lei_bie_,
 										text: item.jian_ce_lei_bie_,
-										id: item.jian_ce_lei_bie_
+										id: item.jian_ce_lei_bie_,
+										name: item.jian_ce_lei_bie_
 									}
 									this.jianCeTypeList.push(obj)
 								} else {
@@ -825,7 +754,8 @@
 											// text: item.jian_ce_lei_bie_
 											value: item.jian_ce_lei_bie_,
 											text: item.jian_ce_lei_bie_,
-											id: item.jian_ce_lei_bie_
+											id: item.jian_ce_lei_bie_,
+											name: item.jian_ce_lei_bie_
 										}
 										this.jianCeTypeList.push(obj)
 									}
@@ -938,22 +868,20 @@
 			//调用日期组件
 			dateClick(type, index) {
 				this.listType = type
-				if (type == 'report') {
-					this.mode = 'date'
-					this.dateShow = true
-				}
-				if (type == 'weiTuo') {
+				if (type == 'report' || type == 'weiTuo') {
 					this.mode = 'date'
 					this.dateShow = true
 				}
 			},
 			//日期回调
 			dateChange(e) {
-				if (this.listType == 'report') {
-					this.form.chuBaoGaoShiJian = e.result
-				}
-				if (this.listType == 'weiTuo') {
-					this.form.weiTuoRiQi = e.result
+				switch (this.listType) {
+					case 'report':
+						this.form.chuBaoGaoShiJian = e.result
+						break
+					case 'weiTuo':
+						this.form.weiTuoRiQi = e.result
+						break
 				}
 			},
 			sheetClick(type, index) {
@@ -962,8 +890,6 @@
 				if (type == 'disposition') {
 					this.list = this.dispositionList
 				}
-
-
 			},
 			//下拉框回调
 			actionSheetCallback(e) {
@@ -972,7 +898,6 @@
 				if (this.listType == 'disposition') {
 					this.form.yangBenChuLi = this.list[e].text
 				}
-
 			},
 			selectClick(type, index) {
 				this.listType = type
@@ -1000,9 +925,7 @@
 						success: function(res) {
 							if (res.confirm) {
 								that.sumbit(valueType)
-							} else if (res.cancel) {
-
-							}
+							} else if (res.cancel) {}
 						}
 					});
 				}
@@ -1095,6 +1018,7 @@
 					let list7 = []
 					let list8 = []
 					let list9 = []
+					//常规检测项目处理
 					item.jianCeXiangMu2 = []
 					item.jianCeList.forEach((it, x) => {
 						if (it.checked) {
@@ -1127,6 +1051,7 @@
 					item.xuanZeTaoCan = list1.join(',')
 
 					if (item.taoCanXiangMuList.length > 0) {
+						//套餐检测项目处理
 						item.taoCanXiangMuList.forEach(it => {
 							list2.push(it.id_)
 							let listTo = 0
@@ -1219,9 +1144,6 @@
 				// }
 				//end
 				para.parameters[2].value = JSON.stringify(this.form)
-
-
-
 				//数据添加到展示表上
 				var lhwt = []
 				if (valueType == 2 || valueType == 3) {

+ 244 - 109
pages/jiance/order/lhypbMessage.vue

@@ -51,15 +51,15 @@
 						常规项目选择
 					</view>
 				</view>
-				<u-form-item label="项目编号搜索" v-if="type != 'detail'">
+				<!-- <u-form-item label="项目编号搜索" v-if="type != 'detail'">
 					<u-input placeholder="请输入项目编号搜索" v-model="form.search" />
-				</u-form-item>
+				</u-form-item> -->
 
 				<u-form-item label="检测类型" v-if="type != 'detail'">
-					<!-- <u-input placeholder="请选择检测类型" type="select" v-model="form.jianCeType"
-						@click="selectClick('jianCeType')" /> -->
-					<lin-select item-key="id" placeholder='请输入内容' :binData="jianCeTypeList" checkType="checkbox" tags="name" :disabled="true" inputStyle="" selectStyle="" overflow="hide" @getBackVal="checkBoxChange">
-					</lin-select>
+					<u-input placeholder="" disabled />
+					<u-button type="success" class="btn-back-color" slot="right" size="mini" @click="sheetClick('jianCeType','检测类型')">选择
+					</u-button>
+
 
 				</u-form-item>
 
@@ -78,58 +78,32 @@
 				</u-form-item>
 
 				<view v-if="jianCeShow">
-					<view v-if="type != 'detail'">
-						<view>
-							<checkbox-group v-for="(it, x) in form.jianCeList" :key="x">
-								<label class=" uni-list-cell uni-list-cell-pd" v-show="it.checked" style="display: flex;margin: 15rpx 10rpx;font-size: 20rpx;line-height: 40rpx;">
-									<view>
-										<checkbox :checked="it.checked" :value="it.id_" @click="changeIndex(it,x)" />
+					<scroll-view scroll-y="true" class="scroll" :style="{borderRadius: `${mode == 'ios' ? '10px 10px 0 0' : '0'}`}">
+						<view class="l-action-sheet-box">
+							<view class="l-address-list" v-for="(item, index) in form.jianCeList" :key="index" v-if="item.checked">
+								<view class="l-item">
+									<view class="l-radio" v-if="type != 'detail'" @click="changeIndex(item,index)">
+										<text class="l-radio-outer" :class="{'l-radio-checked': item.checked}"></text>
+										<text class="l-radio-inner"></text>
 									</view>
-									<view style="margin-left: 10rpx;font-size: 26rpx;" @click.stop="getSty(it)">
-										<view>
-											{{it.xiang_mu_bian_hao || ''}}-{{it.jian_ce_xiang_mu_ || ''}}
-											<text style="color: red;">[{{it.zhe_hou_jia_ge_ || '0'}}元]</text>
+									<view class="l-info" @click.stop="getSty(item)">
+										<view class="l-address-desc">
+											{{item.xiang_mu_bian_hao || ''}}-{{item.jian_ce_xiang_mu_ || ''}}
+											<text style="color: red;">[{{item.zhe_hou_jia_ge_ || '0'}}元]</text>
 										</view>
-										<view>检测类别:{{it.jian_ce_lei_bie_}}</view>
-										<!-- <view>{{it.yi_ju_de_biao_zhu || ''}}</view> -->
-										<view>报告周期(工作日):{{it.bao_gao_zhou_qi_g || '当'}}天</view>
-									</view>
-								</label>
-							</checkbox-group>
-						</view>
-						<view>
-							<checkbox-group v-for="(it, x) in form.jianCeList" :key="x">
-								<label class=" uni-list-cell uni-list-cell-pd" v-show="((form.jianCeTypeString.indexOf(it.jian_ce_lei_bie_ || '') !== -1) || (form.search && it.xiang_mu_bian_hao.indexOf(form.search) !== -1)) && !it.checked" style="display: flex;margin: 15rpx 10rpx;font-size: 20rpx;line-height: 40rpx;">
-									<view>
-										<checkbox :checked="it.checked" :value="it.id_" @click="changeIndex(it,x)" />
-									</view>
-									<view style="margin-left: 10rpx;font-size: 26rpx;" @click.stop="getSty(it)">
-										<view>
-											{{it.xiang_mu_bian_hao || ''}}-{{it.jian_ce_xiang_mu_ || ''}}
-											<text style="color: red;">[{{it.zhe_hou_jia_ge_ || '0'}}元]</text>
+										<view class="l-userinfo">
+											检测类别:
+											<text class="l-user-name">{{item.jian_ce_lei_bie_}}</text>
+										</view>
+										<view class="l-userinfo">
+											报告周期(工作日):
+											<text class="l-user-name">{{item.bao_gao_zhou_qi_g || '当'}}天</text>
 										</view>
-										<view>检测类别:{{it.jian_ce_lei_bie_}}</view>
-										<!-- <view>{{it.yi_ju_de_biao_zhu || ''}}</view> -->
-										<view>报告周期(工作日):{{it.bao_gao_zhou_qi_g || '当'}}天</view>
 									</view>
-								</label>
-							</checkbox-group>
-						</view>
-					</view>
-
-					<view v-else>
-						<view v-for="(it, x) in form.jianCeList" :key="x" v-if="it.checked" @click="getSty(it)">
-							<view class="jiancexiangm">
-								<view>
-									{{it.xiang_mu_bian_hao || ''}}-{{it.jian_ce_xiang_mu_ || ''}}
-									<text style="color: red;">[{{it.zhe_hou_jia_ge_ || '当'}}元]</text>
 								</view>
-								<view>检测类别:{{it.jian_ce_lei_bie_}}</view>
-								<!-- <view>{{it.yi_ju_de_biao_zhu || ''}}</view> -->
-								<view>报告周期(工作日):{{it.bao_gao_zhou_qi_g || '当'}}天</view>
 							</view>
 						</view>
-					</view>
+					</scroll-view>
 				</view>
 
 
@@ -171,6 +145,7 @@
 					</view>
 				</view>
 
+				<view class="qingshe">(样品类型、样品运输条件、样品数量、样品规格)组,请填写的必须展开,不填写的可以隐藏</view>
 				<view class="qingshe" @click="form.showBoolean1 = !form.showBoolean1">
 					<view>
@@ -331,6 +306,51 @@
 
 		<lin-popup ref="picker" :title="title" :list="list" @onConfirm="onConfirm"></lin-popup>
 
+		<u-popup v-model="show" height="800" mode="bottom">
+			<view>
+				<view class="jianCeTypeTop u-p-20">
+					<view class="jianCeTypeLeft" @click.stop="jianCeClick()">
+						检测类型选择
+					</view>
+					<view class="jianceCenter">
+						{{form.jianCeType}}
+					</view>
+					<view class="closeClass" @click.stop="show = false">
+						关闭
+					</view>
+				</view>
+				<view class="jianCeTypeContent u-p-20">
+					<scroll-view scroll-y="true" class="scroll" :style="{borderRadius: `${mode == 'ios' ? '10px 10px 0 0' : '0'}`}">
+						<view class="l-action-sheet-box">
+							<view class="l-address-list" v-for="(item, index) in form.jianCeList" :key="index" v-if="item.jian_ce_lei_bie_ == form.jianCeType">
+								<view class="l-item">
+									<view class="l-radio" v-if="type != 'detail'" @click="changeIndex(item,index)">
+										<text class="l-radio-outer" :class="{'l-radio-checked': item.checked}"></text>
+										<text class="l-radio-inner"></text>
+									</view>
+									<view class="l-info" @click.stop="getSty(item)">
+										<view class="l-address-desc">
+											{{item.xiang_mu_bian_hao || ''}}-{{item.jian_ce_xiang_mu_ || ''}}
+											<text style="color: red;">[{{item.zhe_hou_jia_ge_ || '0'}}元]</text>
+										</view>
+										<view class="l-userinfo">
+											检测类别:
+											<text class="l-user-name">{{item.jian_ce_lei_bie_}}</text>
+										</view>
+										<view class="l-userinfo">
+											报告周期(工作日):
+											<text class="l-user-name">{{item.bao_gao_zhou_qi_g || '当'}}天</text>
+										</view>
+									</view>
+								</view>
+							</view>
+						</view>
+					</scroll-view>
+				</view>
+
+			</view>
+		</u-popup>
+
 	</view>
 </template>
 
@@ -422,7 +442,9 @@
 						trigger: 'blur',
 					}],
 				},
-				title: ''
+				title: '',
+
+				show: false
 			}
 		},
 		created() {
@@ -583,8 +605,11 @@
 				if (type == 'disposition') {
 					this.list = this.dispositionList
 				}
+				if (type == 'jianCeType') {
+					this.list = this.jianCeTypeList
+				}
 
-				if (type.includes('specification') || type.includes('yangpinType')) {
+				if (type.includes('specification') || type.includes('yangpinType') || type == 'jianCeType') {
 					this.$refs['picker'].show();
 				} else {
 					this.sheetShow = true
@@ -604,35 +629,26 @@
 			actionSheetCallback(e) {
 				let that = this
 				let lists = that.form
-
-				if (this.listType == 'state') {
-					lists.yangPinZhuangTai = this.list[e].text
-				}
-
-				//1
-				if (this.listType == 'transportType1') {
-					lists.yangBenYunShuTiao = that.list[e].text
+				switch (this.listType) {
+					case 'state':
+						lists.yangPinZhuangTai = this.list[e].text
+						break
+					case 'transportType1':
+						lists.yangBenYunShuTiao = that.list[e].text
+						break
+					case 'transportType2':
+						lists.yangPinYunShuTiao = that.list[e].text
+						break
+					case 'transportType3':
+						lists.yangPinYunShuSan = that.list[e].text
+						break
+					case 'transportType4':
+						lists.yangPinYunShuSi = that.list[e].text
+						break
+					case 'disposition':
+						this.form.yangBenChuLi = this.list[e].text
+						break
 				}
-
-				//2
-				if (this.listType == 'transportType2') {
-					lists.yangPinYunShuTiao = that.list[e].text
-				}
-
-				//3
-				if (this.listType == 'transportType3') {
-					lists.yangPinYunShuSan = that.list[e].text
-				}
-
-				//4
-				if (this.listType == 'transportType4') {
-					lists.yangPinYunShuSi = that.list[e].text
-				}
-
-				if (this.listType == 'disposition') {
-					this.form.yangBenChuLi = this.list[e].text
-				}
-
 			},
 			//调用日期组件
 			dateClick(type) {
@@ -659,7 +675,6 @@
 						let list = []
 						datas.forEach(item => {
 							this.form.taoCanXiangMuList.push(item)
-
 							//判断与常规项目是否相同
 							let ypglOne = this.form.jianCeList
 							ypglOne.forEach(it => {
@@ -734,34 +749,41 @@
 			onConfirm(e) {
 				let that = this
 				let lists = that.form
-
-				//样品类型
-				if (this.listType == 'yangpinType1') {
-					lists.yangPinLeiXing = that.list[e].name
-				}
-				if (this.listType == 'yangpinType2') {
-					lists.yangPinLeiXingEr = that.list[e].name
-				}
-				if (this.listType == 'yangpinType3') {
-					lists.yangPinLeiXingSan = that.list[e].name
-				}
-				if (this.listType == 'yangpinType4') {
-					lists.yangPinLeiXingSi = that.list[e].name
-				}
-
-				//样品规格
-				if (this.listType == 'specification1') {
-					lists.yangPinGuiGe = that.list[e].name
-				}
-				if (this.listType == 'specification2') {
-					lists.yangPinGuiGeEr = that.list[e].name
-				}
-				if (this.listType == 'specification3') {
-					lists.yangPinGuiGeSan = that.list[e].name
-				}
-				if (this.listType == 'specification4') {
-					lists.yangPinGuiGeSi = that.list[e].name
+				switch (this.listType) {
+					case 'yangpinType1':
+						lists.yangPinLeiXing = that.list[e].name
+						break
+					case 'yangpinType2':
+						lists.yangPinLeiXingEr = that.list[e].name
+						break
+					case 'yangpinType3':
+						lists.yangPinLeiXingSan = that.list[e].name
+						break
+					case 'yangpinType4':
+						lists.yangPinLeiXingSi = that.list[e].name
+						break
+					case 'specification1':
+						lists.yangPinGuiGe = that.list[e].name
+						break
+					case 'specification2':
+						lists.yangPinGuiGeEr = that.list[e].name
+						break
+					case 'specification3':
+						lists.yangPinGuiGeSan = that.list[e].name
+						break
+					case 'specification4':
+						lists.yangPinGuiGeSi = that.list[e].name
+						break
+					case 'jianCeType':
+						lists.jianCeType = that.list[e].name
+						this.$refs['picker'].hide();
+						this.show = true
+						break
 				}
+			},
+			jianCeClick() {
+				this.show = false
+				this.sheetClick('jianCeType', '检测类型')
 			}
 		},
 		onReady() {
@@ -830,4 +852,117 @@
 	// 	overflow: hidden;
 	// 	text-overflow: ellipsis;
 	// }
+
+
+	.scroll {
+		width: 100%;
+		height: calc(100% - 35px);
+		margin: 5px 0;
+	}
+
+	.l-address-list {
+		width: 100%;
+		height: auto;
+	}
+
+	.l-item {
+		margin: 0px auto 10px;
+		background-color: #f1f1f1;
+		border-radius: 5px;
+		padding: 5px 0;
+		display: flex;
+		align-items: center;
+	}
+
+	.l-radio {
+		display: inline-block;
+		width: 16px;
+		height: 16px;
+		position: relative;
+		margin: 10px;
+	}
+
+	.l-radio .l-radio-outer {
+		position: absolute;
+		display: block;
+		width: 20px;
+		height: 20px;
+		border: 1px solid #e5e5e5;
+		border-radius: 50%;
+		background-color: #ffffff;
+		box-sizing: border-box;
+	}
+
+	.l-radio .l-radio-checked {
+		background-color: #ffbb1b;
+	}
+
+	.l-radio .l-radio-inner {
+		position: absolute;
+		top: 7px;
+		left: 7px;
+		width: 6px;
+		height: 6px;
+		background-color: #ffffff;
+		border-radius: 50%;
+	}
+
+	.l-info {
+		display: inline-block;
+	}
+
+	.l-address-desc {
+		font-size: 14px;
+		display: block;
+		padding: 2px 10px;
+	}
+
+	.l-userinfo {
+		padding: 2px 10px;
+	}
+
+	.l-userinfo text {
+		font-size: 12px;
+		color: #666666;
+	}
+
+	.l-user-tel {
+		padding: 0 10px;
+	}
+
+	.jianCeTypeTop {
+		position: fixed;
+		left: 0;
+		right: 0;
+		background-color: #FFFFFF;
+		z-index: 1300;
+		width: 100%;
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+
+		.closeClass {
+			color: rgb(41, 121, 255);
+			width: 170rpx;
+			text-align: right;
+		}
+
+		.jianCeTypeLeft {
+			color: #01a39e;
+			width: 170rpx;
+		}
+
+		.jianceCenter {
+			display: inline-block;
+			white-space: nowrap;
+			overflow: hidden;
+			text-overflow: ellipsis;
+			font-weight: bold;
+		}
+	}
+
+	.jianCeTypeContent {
+		position: relative;
+		top: 50rpx;
+	}
 </style>

+ 99 - 0
pages/jiance/order/orderButtom.vue

@@ -0,0 +1,99 @@
+<template>
+	<view>
+		<view class="bottomBtn" v-if="buttonFlagNum == '3' || buttonFlagNum == ''">
+			<u-row>
+				<u-col :span="activeNum != 1 ? 4 : 6" v-if="activeNum != 1">
+					<u-button type="warning" class="btn" @click="lastStep">
+						上一步
+					</u-button>
+				</u-col>
+				<u-col :span="activeNum == 1  ? 6 : 4">
+					<u-button type="success" @click="onSubmit(1)" class="btn green-back-color" style="margin-bottom: 15rpx;" v-if="type != 'detail'">
+						暂存
+					</u-button>
+				</u-col>
+				<u-col :span="4" v-if="activeNum == 3">
+					<u-button type="success" class="btn btn-back-color" @click="onSubmit(2)" v-if="type != 'detail'">提交
+					</u-button>
+				</u-col>
+				<u-col :span="activeNum == 1 ? 6 : 4" v-if="activeNum != 3">
+					<u-button type="warning" @click="nextStep" class="btn btn-green-color"> 下一步 </u-button>
+				</u-col>
+			</u-row>
+		</view>
+
+		<view class="bottomBtn" v-else-if="buttonFlagNum == '1'">
+			<u-row>
+				<u-col :span="activeNum == 1 ? 12 : 6" v-if="activeNum != 1">
+					<u-button type="warning" @click="lastStep" class="btn">
+						上一步
+					</u-button>
+				</u-col>
+				<u-col :span="activeNum == 3 ? 6 :12" v-if="activeNum == 3">
+					<u-button type="error" @click="onSubmit(3)">提交
+					</u-button>
+				</u-col>
+				<u-col :span="activeNum == 1 ?12 : 6" v-if="activeNum != 3">
+					<u-button type="warning" @click="nextStep" class="btn btn-green-color">下一步
+					</u-button>
+				</u-col>
+			</u-row>
+		</view>
+
+		<view class="bottomBtn" v-else-if="buttonFlagNum == '0'">
+			<u-row>
+				<u-col :span="activeNum == 2 ? 6 : 12" v-if="activeNum != 1">
+					<u-button type="warning" @click="lastStep" class="btn">
+						上一步
+					</u-button>
+				</u-col>
+				<u-col :span="activeNum == 2 ? 6 : 12" v-if="activeNum != 3">
+					<u-button type="warning" @click="nextStep" class="btn btn-green-color">下一步
+					</u-button>
+				</u-col>
+			</u-row>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		props: {
+			buttonFlagNum: {
+				type: String,
+				default: ''
+			},
+			activeNum: {
+				type: Number,
+				default: 1
+			},
+			type: {
+				type: String,
+				default: 'add'
+			},
+		},
+		methods: {
+			lastStep() {
+				this.$emit('lastStep')
+			},
+			nextStep() {
+				this.$emit('nextStep')
+			},
+			onSubmit(index) {
+				this.$emit('onSubmit', index)
+			}
+		}
+	}
+</script>
+
+<style scoped lang="scss">
+	.bottomBtn {
+		position: fixed;
+		left: 0;
+		right: 0;
+		bottom: 0;
+		background-color: #FFFFFF;
+		z-index: 999;
+		padding: 15rpx 0;
+	}
+</style>