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