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