Browse Source

update 修改委托单bug,代码优化

linweizeng 3 năm trước cách đây
mục cha
commit
a84bf86181

+ 62 - 2
pages/jiance/list/js/specimenBox.js

@@ -1,3 +1,4 @@
+import spe from '../json/spe.json'
 export default {
 	//时间
 	time(index) {
@@ -5,6 +6,31 @@ export default {
 		var time = nowDate.toJSON().split('T').join(' ').substr(0, index)
 		return time
 	},
+	//弹出提示
+	getPrompt(title, icon = 'none', duration = 2000) {
+		uni.showToast({
+			title: title,
+			icon: icon,
+			duration: duration
+		})
+	},
+	getShowToast(val1, val2) {
+		let title = '必填'
+		switch (val2) {
+			case 1:
+				title = '必选一项'
+				break
+			case 2:
+				title = '必添加'
+				break
+			case 3:
+				title = '大于1'
+				break
+			default:
+				title = '必填'
+		}
+		this.getPrompt(val1 + title)
+	},
 	getLHBata(form, parentForm, show1, show2, show3, show4) {
 		// console.log(form, parentForm)
 		let formLhypbIndex = form.lhypb.findIndex(item => item.yangPinBianHao == parentForm.yang_pin_bian_hao)
@@ -40,5 +66,39 @@ export default {
 		formLhypb.showBoolean4 = show4
 		form.lhypb[formLhypbIndex] = formLhypb
 		return form
-	}
-}
+	},
+	getLHBataToast(form, show1, show2, show3, show4) {
+		if (!show1 && !show2 && !show3 && !show4) {
+			this.getPrompt('至少填写一组样品类型信息')
+			return false
+		}
+		if (show1 && !this.getEstimate(spe.showBooleanList1, form)) {
+			return false
+		}
+		if (show2 && !this.getEstimate(spe.showBooleanList2, form)) {
+			return false
+		}
+
+		if (show3 && !this.getEstimate(spe.showBooleanList3, form)) {
+			return false
+		}
+
+		if (show4 && !this.getEstimate(spe.showBooleanList4, form)) {
+			return false
+		}
+		return true
+	},
+	//数据判断是否必填
+	getEstimate(list, form) {
+		for (let item of list) {
+			if (item.type == 'number' && form[item.value] == 0) {
+				this.getShowToast(item.text, item.num)
+				return false
+			} else if (item.type == 'string' && form[item.value] == '') {
+				this.getShowToast(item.text, item.num)
+				return false
+			}
+		}
+		return true
+	},
+}

+ 85 - 1
pages/jiance/list/json/spe.json

@@ -57,5 +57,89 @@
 	}, {
 		"text": "女",
 		"value": "女"
+	}],
+	"showBooleanList1": [{
+		"value": "yang_pin_lei_xing",
+		"text": "样品信息的样品类型①",
+		"num": 0,
+		"type": "string"
+	}, {
+		"value": "yang_ben_yun_shu_",
+		"text": "样品信息的运输条件①",
+		"num": 0,
+		"type": "string"
+	}, {
+		"value": "yang_pin_gui_ge_",
+		"text": "样品信息的样品规格①",
+		"num": 0,
+		"type": "string"
+	}, {
+		"value": "shu_liang_",
+		"text": "样品信息的样品数量①",
+		"num": 3,
+		"type": "number"
+	}],
+	"showBooleanList2": [{
+		"value": "yang_pin_lei_er_",
+		"text": "样品信息的样品类型②",
+		"num": 0,
+		"type": "string"
+	}, {
+		"value": "yang_pin_yun_shu_",
+		"text": "样品信息的运输条件②",
+		"num": 0,
+		"type": "string"
+	}, {
+		"value": "yang_pin_gui_ge_e",
+		"text": "样品信息的样品规格②",
+		"num": 0,
+		"type": "string"
+	}, {
+		"value": "shu_liang_er_",
+		"text": "样品信息的样品数量②",
+		"num": 3,
+		"type": "number"
+	}],
+	"showBooleanList3": [{
+		"value": "yang_pin_lei_san_",
+		"text": "样品信息的样品类型③",
+		"num": 0,
+		"type": "string"
+	}, {
+		"value": "yang_pin_yun_san",
+		"text": "样品信息的运输条件③",
+		"num": 0,
+		"type": "string"
+	}, {
+		"value": "yang_pin_gui_ge_s",
+		"text": "样品信息的样品规格③",
+		"num": 0,
+		"type": "string"
+	}, {
+		"value": "shu_liang_san_",
+		"text": "样品信息的样品数量③",
+		"num": 3,
+		"type": "number"
+	}],
+	"showBooleanList4": [{
+		"value": "yang_pin_lei_si_",
+		"text": "样品信息的样品类型④",
+		"num": 0,
+		"type": "string"
+	}, {
+		"value": "yang_pin_yun_si_",
+		"text": "样品信息的运输条件④",
+		"num": 0,
+		"type": "string"
+	}, {
+		"value": "yang_pin_gui_si_",
+		"text": "样品信息的样品规格③",
+		"num": 0,
+		"type": "string"
+	}, {
+		"value": "shu_liang_si_",
+		"text": "样品信息的样品数量④",
+		"num": 3,
+		"type": "number"
 	}]
-}
+}

+ 85 - 44
pages/jiance/list/specimen.vue

@@ -5,8 +5,8 @@
 			<block slot="content">样品确定</block>
 		</cu-custom>
 		<view class="m-30 m-t-0 p-b-50">
-			<u-form :model="form" ref="uForm" label-width="210">
-				<u-form-item label="样品名称">
+			<u-form :model="form" ref="uForm" label-width="210" :error-type="errorType">
+				<u-form-item label="样品名称" prop="yang_pin_ming_che" required>
 					<u-input v-model="form.yang_pin_ming_che" />
 				</u-form-item>
 				<u-form-item label="样品编号">
@@ -27,16 +27,23 @@
 				<u-form-item label="年龄">
 					<u-input v-model="form.nian_ling_" />
 				</u-form-item>
-				<u-form-item label="送检批号/编号">
+				<u-form-item label="送检批号/编号" prop="song_jian_pi_hao_" required>
 					<u-input v-model="form.song_jian_pi_hao_" />
 				</u-form-item>
 
-				<u-form-item label="样本状态">
-					<u-input type="select" v-model="form.yang_pin_zhuang_t" @click="sheetClick('state')" />
+				<u-form-item label="样本状态" prop="yang_pin_zhuang_t" required>
+					<u-input v-model="form.yang_pin_zhuang_t" />
+					<u-button slot="right" type="success" size="mini" @click="sheetClick('state')">选择
+					</u-button>
 				</u-form-item>
-				<u-form-item label="送检时间">
+				<u-form-item label="送检时间" prop="song_jian_shi_jia" required>
 					<u-input type="select" v-model="form.song_jian_shi_jia" @click="dateClick('inspect')" />
 				</u-form-item>
+				<view class="qingshe">
+					<view class="qingTitle">
+						若需做培养基灵敏度检测请在此备注
+					</view>
+				</view>
 				<u-form-item label="备注">
 					<u-input placeholder="请输入备注" v-model="form.bei_zhu_1_" />
 				</u-form-item>
@@ -65,8 +72,7 @@
 						</view>
 					</view>
 					<view class="btnBox">
-						<u-tag class="btnSin" size="default" :text="it.tao_can_ming_chen" v-for="(it, x) in taoCanList"
-							:key="x" />
+						<u-tag class="btnSin" size="default" :text="it.tao_can_ming_chen" v-for="(it, x) in taoCanList" :key="x" />
 					</view>
 					<view>
 						<view>
@@ -93,20 +99,20 @@
 					</view>
 				</view>
 				<block v-if="showBoolean1">
-					<u-form-item label="样本类型①">
+					<u-form-item label="样本类型①" required>
 						<u-input v-model="form.yang_pin_lei_xing" />
 						<u-button slot="right" type="success" size="mini" @click="sheetClick('yangpinType1','样本类型')">选择
 						</u-button>
 					</u-form-item>
-					<u-form-item label="样本运输条件①">
+					<u-form-item label="样本运输条件①" required>
 						<u-input v-model="form.yang_ben_yun_shu_" />
 						<u-button slot="right" type="success" size="mini" @click="sheetClick('transportType1')">选择
 						</u-button>
 					</u-form-item>
-					<u-form-item label="数量①">
+					<u-form-item label="数量①" required>
 						<u-number-box v-model="form.shu_liang_"></u-number-box>
 					</u-form-item>
-					<u-form-item label="样品规格①">
+					<u-form-item label="样品规格①" required>
 						<u-input v-model="form.yang_pin_gui_ge_" />
 						<u-button slot="right" type="success" size="mini" @click="sheetClick('specification1')">规格
 						</u-button>
@@ -124,20 +130,20 @@
 					</view>
 				</view>
 				<block v-if="showBoolean2">
-					<u-form-item label="样本类型②">
+					<u-form-item label="样本类型②" required>
 						<u-input v-model="form.yang_pin_lei_er_" />
 						<u-button slot="right" type="success" size="mini" @click="sheetClick('yangpinType2','样本类型')">选择
 						</u-button>
 					</u-form-item>
-					<u-form-item label="样本运输条件②">
+					<u-form-item label="样本运输条件②" required>
 						<u-input v-model="form.yang_pin_yun_shu_" />
 						<u-button slot="right" type="success" size="mini" @click="sheetClick('transportType2')">选择
 						</u-button>
 					</u-form-item>
-					<u-form-item label="数量②">
+					<u-form-item label="数量②" required>
 						<u-number-box v-model="form.shu_liang_er_"> </u-number-box>
 					</u-form-item>
-					<u-form-item label="样品规格②">
+					<u-form-item label="样品规格②" required>
 						<u-input v-model="form.yang_pin_gui_ge_e" />
 						<u-button slot="right" type="success" size="mini" @click="sheetClick('specification2')">规格
 						</u-button>
@@ -155,20 +161,20 @@
 					</view>
 				</view>
 				<block v-if="showBoolean3">
-					<u-form-item label="样本类③">
+					<u-form-item label="样本类③" required>
 						<u-input v-model="form.yang_pin_lei_san_" />
 						<u-button slot="right" type="success" size="mini" @click="sheetClick('yangpinType3','样本类型')">选择
 						</u-button>
 					</u-form-item>
-					<u-form-item label="样本运输条件③">
+					<u-form-item label="样本运输条件③" required>
 						<u-input v-model="form.yang_pin_yun_san" />
 						<u-button slot="right" type="success" size="mini" @click="sheetClick('transportType3')">选择
 						</u-button>
 					</u-form-item>
-					<u-form-item label="数量③">
+					<u-form-item label="数量③" required>
 						<u-number-box v-model="form.shu_liang_san_"></u-number-box>
 					</u-form-item>
-					<u-form-item label="样品规格③">
+					<u-form-item label="样品规格③" required>
 						<u-input v-model="form.yang_pin_gui_ge_s" />
 						<u-button slot="right" type="success" size="mini" @click="sheetClick('specification3')">规格
 						</u-button>
@@ -186,7 +192,7 @@
 					</view>
 				</view>
 				<block v-if="showBoolean4">
-					<u-form-item label="样本类型④">
+					<u-form-item label="样本类型④" required>
 						<u-input v-model="form.yang_pin_lei_si_" @click="sheetClick('yangpinType4')" />
 						<u-button slot="right" type="success" size="mini" @click="sheetClick('yangpinType4','样本类型')">选择
 						</u-button>
@@ -196,10 +202,10 @@
 						<u-button slot="right" type="success" size="mini" @click="sheetClick('transportType4')">选择
 						</u-button>
 					</u-form-item>
-					<u-form-item label="数量④">
+					<u-form-item label="数量④" required>
 						<u-number-box v-model="form.shu_liang_si_"></u-number-box>
 					</u-form-item>
-					<u-form-item label="样品规格④">
+					<u-form-item label="样品规格④" required>
 						<u-input v-model="form.yang_pin_gui_si_" />
 						<u-button slot="right" type="success" size="mini" @click="sheetClick('specification4')">规格
 						</u-button>
@@ -216,8 +222,7 @@
 		<u-action-sheet :list="list" v-model="sheetShow" @click="actionSheetCallback"></u-action-sheet>
 
 
-		<u-modal v-model="meassageShow" :show-cancel-button="true" :show-confirm-button="false" title="检测项目"
-			@cancel="cancel">
+		<u-modal v-model="meassageShow" :show-cancel-button="true" :show-confirm-button="false" title="检测项目" @cancel="cancel">
 			<view class="u-update-content">
 				<rich-text :nodes="content"></rich-text>
 			</view>
@@ -309,7 +314,30 @@
 				content: ``,
 				meassageShow: false,
 				title: '',
-				content: null
+				content: null,
+				errorType: ['toast'],
+				rules: {
+					yang_pin_ming_che: [{
+						required: true,
+						message: '请输入样品名称',
+						trigger: 'blur',
+					}],
+					song_jian_pi_hao_: [{
+						required: true,
+						message: '请输入送检批号/编号',
+						trigger: 'blur',
+					}],
+					yang_pin_zhuang_t: [{
+						required: true,
+						message: '请选择样本状态',
+						trigger: 'blur',
+					}],
+					song_jian_shi_jia: [{
+						required: true,
+						message: '请选择送检时间',
+						trigger: 'blur',
+					}],
+				}
 			}
 		},
 		onLoad(option) {
@@ -328,6 +356,9 @@
 			this.getYpbzggb()
 			this.getYplxb()
 		},
+		onReady() {
+			this.$refs.uForm.setRules(this.rules);
+		},
 		methods: {
 			//样品类型
 			getYplxb() {
@@ -385,7 +416,7 @@
 						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.yang_pin_gui_ge_e = result.yang_pin_gui_ge_
 						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)
@@ -497,6 +528,11 @@
 				this.form.update_time_ = meth.time(19)
 				this.form.yang_pin_zong_shu = parseInt(this.form.shu_liang_si_) + parseInt(this.form.shu_liang_san_) +
 					parseInt(this.form.shu_liang_er_) + parseInt(this.form.shu_liang_)
+				let lHData = specimenBox.getLHBataToast(this.form, this.showBoolean1, this.showBoolean2, this
+					.showBoolean3, this.showBoolean4)
+				if (!lHData) {
+					return
+				}
 
 				if (this.form.shu_liang_ == 0) {
 					this.form.shu_liang_ = ''
@@ -524,23 +560,28 @@
 				}
 				let data = this.$sig(pp)
 
-				this.$http.post("ibps/business/v3/sys/universal/updateDatasContextTable", data).then(res => {
-					if (res.data.state == 200) {
-						// if (this.weiTuoBianHao && lHData) {
-						// 	this.getLiuHen(lHData)
-						// }
-						uni.navigateBack({
-							delta: 1
-						})
-						this.$tip.success('提交成功!')
-					} else {
-						uni.showToast({
-							title: '提交失败',
-							icon: 'none',
-							duration: 2000
-						})
+				this.$refs.uForm.validate(valid => {
+					if (valid && lHData) {
+						this.$http.post("ibps/business/v3/sys/universal/updateDatasContextTable", data).then(res => {
+							if (res.data.state == 200) {
+								// if (this.weiTuoBianHao && lHData) {
+								// 	this.getLiuHen(lHData)
+								// }
+								uni.navigateBack({
+									delta: 1
+								})
+								this.$tip.success('提交成功!')
+							} else {
+								uni.showToast({
+									title: '提交失败',
+									icon: 'fail',
+									duration: 2000
+								})
+							}
+						});
 					}
-				});
+				})
+
 			},
 			//数据留痕
 			getLiuHen(form) {
@@ -742,4 +783,4 @@
 		line-height: 1.7;
 		padding: 30rpx;
 	}
-</style>
+</style>

+ 1 - 1
pages/jiance/manyi.vue

@@ -70,7 +70,7 @@
 		<uni-section title="客户意见和建议" type="line" padding>
 			<textarea maxlength="-1" v-model="qingNinTianXie" placeholder="意见和建议"></textarea>
 		</uni-section>
-		<uni-section title="投诉签名" type="line" padding>
+		<uni-section title="签名" type="line" padding>
 			<view style="width: 100%;">
 				<view style="text-align: right;width: 100%;">
 					<view>

+ 0 - 8
pages/jiance/order.vue

@@ -484,15 +484,11 @@
 					this.orgId = info.org.id || ''
 				}
 				// this.getDataHetong()
-
 				//获取时间
 				this.time = meth.time(10)
 				this.time2 = meth.time(19)
-
 				this.form.weiTuoLeiXing = '客户委托'
 				this.form.weiTuoRiQi = this.time
-
-
 			},
 			//根据暂存id获取暂存详情信息
 			getSaveData(id) {
@@ -777,9 +773,6 @@
 				this.$http.post("/ibps/business/v3/sys/universal/inputSqlSelectData", requestData).then(res => {
 					if (res.data.state == 200) {
 						const datas = res.data.variables.data
-						datas.forEach(item => {
-							console.log(item.tao_can_zhu_jian_ == '1092492898412265472')
-						})
 						this.taoCanXiangmMuList = datas
 					}
 				})
@@ -1421,7 +1414,6 @@
 					this.lhypbShow = false
 					this.form.lhypb[this.lhypbIndex] = item
 				}
-				console.log(this.form.lhypb)
 				this.getTotal()
 			},
 			//退回原因

+ 0 - 24
pages/jiance/order/lhypbMessage.vue

@@ -518,8 +518,6 @@
 						return
 					}
 				} else {
-					console.log(it.id_)
-					console.log(itemData.taoCanXiangMuList[0].tao_can_zhu_jian_)
 					itemData.taoCanXiangMuList = itemData.taoCanXiangMuList.filter(item => item.tao_can_zhu_jian_ !== it
 						.id_)
 				}
@@ -690,7 +688,6 @@
 
 			//保存事件
 			sumbitSing() {
-				console.log("6")
 				if (this.form.yangPinZongJia == '') {
 					this.form.yangPinZongJia = 0
 				}
@@ -700,32 +697,11 @@
 						return
 					}
 				}
-
-				// let itemShow = this.form.jianCeList.every(item => !item.checked)
-				// if (itemShow && this.form.taoCanXiangMuList.length == 0) {
-				// 	return meth.getPrompt('请选择常规项目或者套餐项目')
-				// }
-				console.log(meth.getJudge(this.form))
-
 				if (!meth.getJudge(this.form)) {
 					return
 				}
-				console.log(meth.getJudge(this.form))
-
-
-
-				// let showIndex = this.form.lhypb.findIndex(item => item.jianCeXiangMu == '')
-				// if (showIndex >= 0) {
-				// 	uni.showToast({
-				// 		title: `请在样品信息${showIndex+1}选择委托单需要检测项目`,
-				// 		icon: 'none',
-				// 		duration: 2000
-				// 	})
-				// 	return
-				// }
 				this.$refs.uForm.validate(valid => {
 					if (valid) {
-						console.log(this.form)
 						this.$emit("sumbitSingClick", this.form)
 					} else {
 						uni.showToast({

+ 0 - 1
pages/jiance/order/meth.js

@@ -113,7 +113,6 @@ export default {
 					taoCanXiangMu.forEach(ite => {
 						let showData = tCXmList.find(itg => itg.tczbId == ite)
 						if (showData) {
-							console.log(showData)
 							tcXmlist.push(showData)
 						}
 					})