From d8b41fff43a2cee6a8f714ffa807623b15803786 Mon Sep 17 00:00:00 2001
From: quanyawei <401863037@qq.com>
Date: Fri, 20 Oct 2023 15:21:35 +0800
Subject: [PATCH] fix:立行立改Uniapp小程序新建项目

---
 pages/actionChange/newPage/index.vue |  410 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 410 insertions(+), 0 deletions(-)

diff --git a/pages/actionChange/newPage/index.vue b/pages/actionChange/newPage/index.vue
new file mode 100644
index 0000000..e33c5bf
--- /dev/null
+++ b/pages/actionChange/newPage/index.vue
@@ -0,0 +1,410 @@
+<template>
+	<view class="mianContent">
+		<p class="title">������������</p>
+		<u-form
+			ref="uForm"
+			label-width="65"
+			:model="form"
+			:rules="rules"
+		>
+			<u-form-item
+				border-bottom
+				label="������������:"
+				prop="unitId"
+				required
+				@click="
+					showCheckBox = true;
+					hideKeyboard('unitList', 'unitId');
+				"
+			>
+				<u--input
+					v-model="form.unitId"
+					border="none"
+					disabled
+					disabled-color="#ffffff"
+					placeholder="���������"
+				/>
+				<u-icon slot="right" name="arrow-right" />
+			</u-form-item>
+
+			<u-form-item
+				border-bottom
+				label="������������:"
+				prop="polluteType"
+				required
+				@click="
+					showCheckBox = true;
+					hideKeyboard('polluteList', 'polluteType');
+				"
+			>
+				<u-input
+					v-model="form.polluteType"
+					border="none"
+					disabled
+					disabled-color="#ffffff"
+					placeholder="���������"
+					type="select"
+				/>
+				<u-icon slot="right" name="arrow-right" />
+			</u-form-item>
+			<u-form-item
+				border="none"
+				border-bottom
+				label="������������:"
+				prop="changeType"
+				required
+				@click="
+					showCheckBox = true;
+					hideKeyboard('changeEnum', 'changeType');
+				"
+			>
+				<u-input
+					v-model="form.changeType"
+					border="none"
+					disabled
+					disabled-color="#ffffff"
+					placeholder="���������"
+					type="select"
+				/>
+				<u-icon slot="right" name="arrow-right" />
+			</u-form-item>
+			<u-form-item
+				border-bottom
+				label="������������:"
+				placeholder="���������"
+				required
+			>
+				<u-input v-model="form.changeDay" border="none" type="number" />
+			</u-form-item>
+			<u-form-item
+				border-bottom
+				label="������������:"
+				prop="escalationUnitId"
+				required
+				@click="
+					showCheckBox = true;
+					hideKeyboard('unitList', 'escalationUnitId');
+				"
+			>
+				<u-input
+					v-model="form.escalationUnitId"
+					border="none"
+					disabled
+					disabled-color="#ffffff"
+					placeholder="���������"
+					type="select"
+				/>
+				<u-icon slot="right" name="arrow-right" />
+			</u-form-item>
+			<u-form-item
+				border-bottom
+				label="���������:"
+				prop="escalationName"
+				required
+			>
+				<u-input
+					v-model="form.escalationName"
+					border="none"
+					placeholder="���������"
+					type="text"
+				/>
+			</u-form-item>
+			<u-form-item
+				border-bottom
+				label="������������:"
+				prop="investigationType"
+				required
+			>
+				<u-radio-group v-model="form.investigationType" style="font-size: 13px;">
+					<u-radio
+						:key="index"
+						v-for="(item, index) in Dic.investigationEnum"
+						:custom-style="{marginRight: '8px'}"
+						:label="item.name"
+						:name="item.value"
+					/>
+				</u-radio-group>
+			</u-form-item>
+			<u-form-item
+				border-bottom
+				label="������������:"
+				prop="escalationTime"
+				required
+				@click="showeEscalationTime = true"
+			>
+				<u-input
+					v-model="form.escalationTime"
+					border="none"
+					disabled
+					disabled-color="#ffffff"
+					placeholder="���������"
+					type="select"
+				/>
+				<u-icon slot="right" name="arrow-right" />
+				<u-datetime-picker
+					ref="datetimePicker"
+					v-model="timeFormet"
+					mode="date"
+					:show="showeEscalationTime"
+					@confirm="checkTime"
+				/>
+			</u-form-item>
+			<u-form-item
+				border-bottom
+				label="������������:"
+				prop="pollutePosition"
+				required
+			>
+				<u-input
+					v-model="form.pollutePosition"
+					border="none"
+					placeholder="���������"
+					type="text"
+				/>
+			</u-form-item>
+			<u-form-item
+				border-bottom
+				label="������������:"
+				prop="problemDescribe"
+				required
+			>
+				<u--textarea v-model="form.problemDescribe" border="none" placeholder="���������������" />
+			</u-form-item>
+			<u-form-item border-bottom label="������������:">
+				<view class="fileBox">
+					<fileUpload :sys-code="sysCode" @handleFile="handleFile" />
+				</view>
+			</u-form-item>
+		</u-form>
+		<u-action-sheet
+			v-if="actionOptionList.length > 0"
+			:actions="actionOptionList"
+			:show="showCheckBox"
+			title="���������"
+			@close="showCheckBox = false"
+			@select="selectBack"
+		/>
+		<view class="bunts">
+			<u-button shape="square" @click="close">������</u-button>
+			<u-button shape="square" type="primary" @click="submit">������</u-button>
+		</view>
+	</view>
+</template>
+
+<script>
+import fileUpload from '../components/fileUpload.vue'
+export default {
+	components: {
+		fileUpload
+	},
+	data() {
+		return {
+			sysCode: '1010201', //
+			showCheckBox: false,
+			showeEscalationTime: false,
+			actionOptionList: [],
+			rules: {
+				'unitId': {
+					required: true,
+					message: '���������',
+					trigger: ['blur', 'change']
+				},
+				'polluteType': {
+					required: true,
+					message: '���������',
+					trigger: ['blur', 'change']
+				},
+				'changeType': {
+					required: true,
+					message: '���������',
+					trigger: ['blur', 'change']
+				},
+				'changeDay': {
+					required: true,
+					message: '���������',
+					trigger: ['blur', 'change']
+				},
+				'escalationName': {
+					required: true,
+					message: '���������',
+					trigger: ['blur']
+				},
+				'escalationUnitId': {
+					required: true,
+					message: '���������',
+					trigger: ['blur', 'change']
+				},
+				'escalationTime': {
+					required: true,
+					message: '���������',
+					trigger: ['blur']
+				}, 'problemDescribe': {
+					required: true,
+					message: '���������',
+					trigger: ['blur']
+				}, 'pollutePosition': {
+					required: true,
+					message: '���������',
+					trigger: ['blur']
+				},
+			},
+			currentKey: '',
+			Dic: this.$storage.getJson('dict'),
+			changeEnum: [],
+			timeFormet: Number(new Date()),
+			form: {
+				unitId: '',
+				polluteType: '',
+				changeType: '',
+				changeDay: '',
+				escalationName: '',
+				escalationUnitId: '',
+				escalationTime: '',
+				problemDescribe: '',
+				pollutePosition: '',
+			},
+			sumbitForm: {
+				unitId: '',
+				polluteType: '',
+				changeType: '',
+				changeDay: '',
+				escalationName: '',
+				escalationUnitId: '',
+				escalationTime: '',
+				problemDescribe: '',
+				pollutePosition: '',
+			},
+			unitList: [],
+			polluteList: [],
+			fileBaseList: [],
+		}
+	},
+	onReady() {
+		//onReady ���uni-app���������������������������
+		this.$refs.uForm.setRules(this.rules)
+	},
+	onShow(){
+		uni.hideTabBar()
+	},
+	created() {
+		this.changeEnum = this.Dic.changeEnum
+		this.getUnitList()
+		this.getContaminateList()
+	},
+	methods: {
+		handleFile(data){
+			this.fileBaseList=data
+		},
+		close(){
+			uni.reLaunch({
+				url: '/pages/actionChange/agencyPage/index',
+			})
+		},
+		hideKeyboard(data, key) {
+			this.actionOptionList = []
+			let list = this[data]
+
+			this.currentKey = key
+			list.forEach((item)=> {
+				item.name = item.dataValue || item.name || item.unitName
+				item.value = item.dataKey || item.value|| item.unitId
+			})
+
+			this.actionOptionList = list
+		},
+		selectBack(e) {
+			this.form[this.currentKey] = e.name
+			this.sumbitForm[this.currentKey] = e.value
+
+		},
+		checkTime(e) {
+			this.showeEscalationTime = false
+			let data = this.$utils.dateFormatter(e.value)
+			this.form.escalationTime = data
+			this.sumbitForm.escalationTime = data
+		},
+		submit() {
+			this.$refs.uForm.validate().then(res=> {
+				this.sumbitForm.problemDescribe=this.form.problemDescribe
+				this.sumbitForm.pollutePosition=this.form.pollutePosition
+				this.sumbitForm.changeDay=this.form.changeDay
+				this.sumbitForm.escalationName=this.form.escalationName
+				this.sumbitForm.fileBaseList=this.fileBaseList
+				this.sumbitForm.state='10'
+				console.log('this.sumbitForm', this.sumbitForm)
+				this.$http.httpPost('/allocation/insert', {...this.sumbitForm}).then((res)=> {
+					uni.$u.toast('������������')
+					this.close()
+				})
+			}).catch(errors=> {
+				uni.$u.toast('������������')
+			})
+		},
+		// ������������������list
+		getUnitList() {
+			this.$http.httpGet('/allocation/unit').then((res)=> {
+				this.unitList = res.data
+			})
+		},
+		getContaminateList() {
+			this.$http.httpGet('/allocation/contaminate').then((res)=> {
+				this.polluteList = res.data
+			})
+		},
+	},
+}
+</script>
+
+<style scoped lang="scss">
+	uni-page-body {
+		padding-top: 10px;
+	}
+
+	.mianContent {
+		margin: 19.23rpx;
+		border-radius: 5px;
+		.title {
+			padding: 9.62rpx;
+			font-size: 16px;
+			font-weight: 700;
+			color: #101010;
+			border-bottom: 1px solid #bbb;
+		}
+
+		/deep/.u-form-item {
+			padding-left: 10px;
+		}
+
+		/deep/.u-form-item__body {
+			padding: 5px 0px !important;
+			font-size: 13px!important;
+		}
+		/deep/.u-form-item__body__left__content__label,/deep/.u-input__content__field-wrapper__field,/deep/.u-radio__text{
+			font-size: 13px!important;
+		}
+	}
+	.bunts {
+		display: flex;
+		margin-top: 20px;
+		margin-bottom: 96.15rpx;
+		padding-bottom: 20px;
+		.u-button {
+			width: 288.46rpx;
+		}
+	}
+	.fileBox{
+		display: -webkit-box;
+		display: -webkit-flex;
+		display: flex;
+		position: relative;
+		width: 100%;
+		height: 100%;
+		-webkit-box-orient: vertical;
+		-webkit-box-direction: normal;
+		-webkit-flex-direction: column;
+		flex-direction: column;
+		-webkit-box-pack: center;
+		-webkit-justify-content: center;
+		justify-content: center;
+	}
+</style>
\ No newline at end of file

--
Gitblit v1.8.0