From d8c9a15cf5a7d69dedb42dadb64fbbf197d7ddcd Mon Sep 17 00:00:00 2001
From: Lou <luzhiping@qqyjz.com>
Date: Wed, 27 Mar 2024 17:01:32 +0800
Subject: [PATCH] 更新
---
subPackage/contradiction/add.vue | 316 ++++++++++++++++++++++++++++++++++++++------
subPackage/workbench/views/rental.vue | 4
subPackage/workbench/views/reportDetail.vue | 2
pages/circle/index.vue | 10 +
subPackage/workbench/views/cscj.vue | 46 +++---
api/contradiction/contradiction.js | 10 +
subPackage/article/detail.vue | 25 ++-
7 files changed, 327 insertions(+), 86 deletions(-)
diff --git a/api/contradiction/contradiction.js b/api/contradiction/contradiction.js
new file mode 100644
index 0000000..24471da
--- /dev/null
+++ b/api/contradiction/contradiction.js
@@ -0,0 +1,10 @@
+import http from '@/http/api.js'
+
+
+export const addContradiction = (params) => {
+ return http.request({
+ url: '/blade-disputeRecord/disputeRecord/saveOrUpdate',
+ method: 'POST',
+ data: params
+ })
+}
\ No newline at end of file
diff --git a/pages/circle/index.vue b/pages/circle/index.vue
index 5a00081..5ba8605 100644
--- a/pages/circle/index.vue
+++ b/pages/circle/index.vue
@@ -24,14 +24,18 @@
{{item.circleText}}
</view>
+
+
+
+ <u-album v-if="item.circleImages" :urls="setImgUrl(item.circleImages)" singleSize="100"
+ multipleSize="100"></u-album>
+
+
<view class="link-btn flex a-i-c" @click="linkTo(item.eventId)" v-if="item.eventId">
<u-icon name="attach"></u-icon>
<text class="c-main ml-10 f-28">查看详情</text>
</view>
-
- <u-album v-if="item.circleImages" :urls="setImgUrl(item.circleImages)" singleSize="100"
- multipleSize="100"></u-album>
<view class="topic-action flex j-c-f-e">
<view class="flex a-i-c" @click="handleThumpsUp(item.id,item.likeFlag,index)">
<u-icon v-if="item.likeFlag == 0" name="heart-fill" color="#C4C8CB" size="24"></u-icon>
diff --git a/subPackage/article/detail.vue b/subPackage/article/detail.vue
index a8e40bd..61eb325 100644
--- a/subPackage/article/detail.vue
+++ b/subPackage/article/detail.vue
@@ -61,9 +61,14 @@
<!-- <u-icon name="arrow-right" color="#999"></u-icon> -->
</view>
</view>
- <view class="explain-row c-main f-28">
- 投票{{!isEnd && !isComplete?"进行中":"已结束"}}
+
+ <view class="explain-row ">
+ <text class="f-28 c-main" v-if="!isEnd && !isComplete">投票进行中</text>
+ <text class="f-28 c-main" v-if="isComplete && !isEnd">投票已提交</text>
+ <text class="f-28 c-main" v-if="isEnd">投票已结束</text>
+ <text class="ml-20 f-26 " v-if="applyInfo.voteRestrictions == 1">(该议题为一户一票)</text>
</view>
+
<view class="vote bgc-ff">
<view class="mb-20" v-for="(item,index) in voteTopicList" :key="index">
<view class="vote-title">
@@ -84,7 +89,6 @@
@click="navToDocument(item.attachment)">
{{item.discussContent}}附件
</view>
-
<view class="" v-if="item.optionRange == 0">
<u-radio-group size="22" iconPlacement="right" activeColor="#017BFC" placement="column"
@@ -131,8 +135,8 @@
</view>
<button class="apply-btn bgc-main c-ff" v-if="!isEnd && !isComplete"
@click="submitVote()">提交</button>
- <button class="apply-btn bgc-gray c-d1" v-if="isComplete && !isEnd">已提交</button>
- <button class="apply-btn bgc-gray c-d1" v-if="isEnd">已结束</button>
+ <button class="apply-btn bgc-gray c-dd" v-if="isComplete && !isEnd">已提交</button>
+ <button class="apply-btn bgc-gray c-dd" v-if="isEnd">已结束</button>
</view>
</view>
</view>
@@ -171,7 +175,6 @@
<u-icon name="thumb-up-fill" size="22" color="#fff"></u-icon>
</view>
</view> -->
-
<u-popup :show="isShowPopup" @close="isShowPopup = false" mode="center" :round="10" :closeable="true">
<view class='login-mode'>
@@ -347,6 +350,10 @@
// console.log(res)
if (res.code == 200) {
this.applyInfo = res.data;
+ if (res.data.voteRestrictions == 1 && res.data.disabled) {
+ this.isComplete = true; //一户一票
+ this.setOptionDisable()
+ }
}
})
},
@@ -632,6 +639,8 @@
const filePath = res.tempFilePath;
wx.openDocument({
filePath: filePath,
+ fileType: 'pdf',
+ showMenu: true,
success: function(res) {
wx.hideLoading();
},
@@ -736,8 +745,8 @@
border: 1px solid currentColor
}
- .c-d1 {
- color: #d1d1d1;
+ .c-dd {
+ color: #ddd
}
.c-33 {
diff --git a/subPackage/contradiction/add.vue b/subPackage/contradiction/add.vue
index f7b9684..b22a7e8 100644
--- a/subPackage/contradiction/add.vue
+++ b/subPackage/contradiction/add.vue
@@ -1,47 +1,116 @@
<template>
<view class="">
- <view class="site-box bgc-ff flex">
+
+ <!-- <view class="site-box bgc-ff flex">
<view class="flex a-i-c">
<u-icon name="map-fill" color="#AAAAAA"></u-icon>
<text class="f-28 c-aa ml-20">当前小区:</text>
</view>
-
<text class="address f-28">{{ curSelectSite.name }}</text>
- </view>
- <view class="content bgc-ff">
- <u-form labelPosition="left" :model="info" :rules="rules" ref="form" labelWidth="90"
- :labelStyle="{fontSize:'28rpx'}">
- <u-form-item label="姓名" prop="realName" borderBottom ref="realName">
- <u-input v-model="info.realName" border="none" placeholder="请输入" placeholderClass="f-28 c-99"
+ </view> -->
+ <u-form labelPosition="left" :model="info" :rules="rules" ref="form" labelWidth="100"
+ :labelStyle="{fontSize:'28rpx'}">
+ <view class="content bgc-ff mb-20">
+ <u-form-item label="当事人1姓名" prop="nameOne" borderBottom ref="nameOne">
+ <u-input v-model="info.nameOne" border="none" placeholder="请输入当事人1姓名" placeholderClass="f-28 c-99"
inputAlign="right"></u-input>
</u-form-item>
- <u-form-item label="手机" prop="phone" borderBottom ref="phone">
- <u-input v-model="info.phone" border="none" placeholder="请输入" placeholderClass="f-28 c-99"
+ <u-form-item label="当事人1手机号" prop="phoneOne" borderBottom ref="phoneOne">
+ <u-input v-model="info.phoneOne" border="none" placeholder="请输入当事人1手机号" placeholderClass="f-28 c-99"
inputAlign="right"></u-input>
</u-form-item>
- <u-form-item label="事发位置" prop="address" :borderBottom="false">
+ <u-form-item label="当事人1性别" prop="genderOne" borderBottom @click="showGenderPicker = true">
+ <u-input v-model="genderValue" border="none" placeholder="请选择当事人1性别" placeholderClass="f-28 c-99"
+ inputAlign="right" disabled disabledColor="#ffffff"></u-input>
+ <u-icon slot="right" name="arrow-right"></u-icon>
+ </u-form-item>
+ <u-form-item label="当事人1身份证号码" prop="idCardTwo" borderBottom ref="idCardTwo">
+ <u-input v-model="info.idCardTwo" type="idcard" border="none" placeholder="请输入当事人1身份证号码"
+ placeholderClass="f-28 c-99" inputAlign="right"></u-input>
+ </u-form-item>
+ <u-form-item label="当事人2姓名" prop="nameTwo" borderBottom ref="nameTwo">
+ <u-input v-model="info.nameTwo" border="none" placeholder="请输入当事人2姓名" placeholderClass="f-28 c-99"
+ inputAlign="right"></u-input>
+ </u-form-item>
+ <u-form-item label="当事人2性别" prop="genderTwo" borderBottom @click="showGender2Picker = true">
+ <u-input v-model="genderValue2" border="none" placeholder="请选择当事人2性别" placeholderClass="f-28 c-99"
+ inputAlign="right" disabled disabledColor="#ffffff"></u-input>
+ <u-icon slot="right" name="arrow-right"></u-icon>
+ </u-form-item>
+ <u-form-item label="当事人2手机" prop="phoneTwo" borderBottom ref="phoneTwo">
+ <u-input v-model="info.phoneTwo" border="none" placeholder="请输入当事人2手机" placeholderClass="f-28 c-99"
+ inputAlign="right"></u-input>
+ </u-form-item>
+ <u-form-item label="当事人2身份证号码" prop="idCardTwo" ref="idCardTwo">
+ <u-input v-model="info.idCardTwo" type="idcard" border="none" placeholder="请输入当事人2身份证号码"
+ placeholderClass="f-28 c-99" inputAlign="right"></u-input>
+ </u-form-item>
+ </view>
+
+ <view class="content bgc-ff">
+ <u-form-item label="事发时间" prop="eventTime" :borderBottom="false" required
+ @click="showSelectDate = true">
+ <u-input v-model="info.eventTime" disabled disabledColor="#ffffff" border="none" placeholder="请选择"
+ placeholderClass="f-28 c-99" inputAlign="right"></u-input>
+ <u-icon slot="right" name="arrow-right"></u-icon>
+ </u-form-item>
+ <u-form-item label="事发位置" prop="address" borderBottom>
<view class="address-row flex">
<view class="address-content f-28" v-if="info.address">
{{info.address}}
</view>
- <view class="address-content f-28 c-99" v-if="!info.address">
+ <view class="address-content f-28" style="color:#c0c4cc;" v-if="!info.address">
请选择地址
</view>
<view class="location-btn c-main f-24" @click="getLocation()">
获取地址
</view>
</view>
- <!-- <u-input v-model="info.address" border="none" placeholderClass="f-28 c-99"
- inputAlign="right" disabled disabledColor="#fff">
- <template slot="suffix">
- <button class="location-btn c-main f-24" @click="getLocation()">获取地址</button>
- </template>
- </u-input> -->
</u-form-item>
- </u-form>
- </view>
+ <u-form-item label="报警次数" prop="alarmNum" borderBottom ref="alarmNum">
+ <u-input v-model="info.alarmNum" border="none" type="number" placeholder="请输入报警次数"
+ placeholderClass="f-28 c-99" inputAlign="right"></u-input>
+ </u-form-item>
+ <u-form-item label="信息来源" prop="source" borderBottom @click="showSourcePicker = true">
+ <u-input v-model="sourceValue" border="none" placeholder="请选择信息来源" placeholderClass="f-28 c-99"
+ inputAlign="right" disabled disabledColor="#ffffff"></u-input>
+ <u-icon slot="right" name="arrow-right"></u-icon>
+ </u-form-item>
- <view class="upload bgc-ff">
+ <u-form-item label="纠纷类型" prop="disputeType" borderBottom @click="showDisputeTypePicker = true">
+ <u-input v-model="disputeTypeValue" border="none" placeholder="请选择处理情况" placeholderClass="f-28 c-99"
+ inputAlign="right" disabled disabledColor="#ffffff"></u-input>
+ <u-icon slot="right" name="arrow-right"></u-icon>
+ </u-form-item>
+ <u-form-item label="纠纷内容" prop="disputeContent" borderBottom ref="disputeContent">
+ <u-textarea v-model="info.disputeContent" border="none" placeholder="请输入纠纷内容"
+ placeholderClass="f-28 c-99" inputAlign="right"></u-textarea>
+ </u-form-item>
+
+
+ <u-form-item label="是否有人员受伤:" labelWidth="100" prop="isNine" :required="isRequired" borderBottom>
+ <u-radio-group v-model="form.injuryFlag" v-if="!currentId">
+ <u-radio :customStyle="{marginBottom: '8px'}" v-for="(item, index) in statusList" :key="index"
+ :label="item.name" :name="item.id">
+ </u-radio>
+ </u-radio-group>
+ </u-form-item>
+
+ <u-form-item v-if="form.injuryFlag == 1" label="受伤情况" prop="injuryDesc" borderBottom ref="injuryDesc">
+ <u-textarea v-model="info.injuryDesc" border="none" placeholder="请输入受伤情况"
+ placeholderClass="f-28 c-99" inputAlign="right"></u-textarea>
+ </u-form-item>
+
+ <u-form-item label="处理情况" prop="handleResult" @click="showHandleResultPicker = true">
+ <u-input v-model="handleResultValue" border="none" placeholder="请选择处理情况"
+ placeholderClass="f-28 c-99" inputAlign="right" disabled disabledColor="#ffffff"></u-input>
+ <u-icon slot="right" name="arrow-right"></u-icon>
+ </u-form-item>
+
+
+ </view>
+ </u-form>
+ <!-- <view class="upload bgc-ff">
<view class="f-28 mb-20">描述</view>
<u-textarea v-model="info.remark" placeholder="请输入内容" border="none"
placeholderClass="c-99 f-26"></u-textarea>
@@ -54,11 +123,35 @@
</view>
</u-upload>
</view>
- </view>
+ </view> -->
<button class="submit-btn" @click="sumitInfo">提交</button>
- <button class="list-btn" @click="navigatorPage">我上报的事件</button>
+ <button class="list-btn" @click="navigatorPage">纠纷记录</button>
+
+
+ <u-picker :show="showGenderPicker" :defaultIndex="genderIndex" ref="uPicker" keyName="name"
+ :loading="pickerLoading" :columns="[genderList]" @confirm="confirmGender"
+ @cancel="showGenderPicker = false"></u-picker>
+ <u-picker :show="showGender2Picker" :defaultIndex="genderIndex2" ref="uPicker" keyName="name"
+ :loading="pickerLoading" :columns="[genderList]" @confirm="confirmGender2"
+ @cancel="showGender2Picker = false"></u-picker>
+
+ <u-picker :show="showDisputeTypePicker" :defaultIndex="disputeTypeIndex" ref="uPicker" keyName="name"
+ :loading="pickerLoading" :columns="[disputeTypeList]" @confirm="confirmDisputeType"
+ @cancel="showDisputeTypePicker = false"></u-picker>
+
+ <u-picker :show="showHandleResultPicker" :defaultIndex="handleResultIndex" ref="uPicker" keyName="name"
+ :loading="pickerLoading" :columns="[handleResultList]" @confirm="confirmHandleResult"
+ @cancel="showHandleResultPicker = false"></u-picker>
+
+ <u-picker :show="showSourcePicker" :defaultIndex="sourceIndex" ref="uPicker" keyName="name"
+ :loading="pickerLoading" :columns="[sourceList]" @confirm="confirmSource"
+ @cancel="showSourcePicker = false"></u-picker>
+
+ <u-datetime-picker ref="datetimePicker" :show="showSelectDate" v-model="eventTime" mode="datetime"
+ :formatter="formatter" @confirm="confirmDate" @cancel="showSelectDate = false"></u-datetime-picker>
+
</view>
</template>
@@ -68,18 +161,36 @@
import {
save
} from "@/api/task/taskReportForRepairs";
+ import {
+ bizDictionary,
+ } from '@/api/system/dict.js'
+
+ import {
+ addContradiction
+ } from '@/api/contradiction/contradiction.js'
+
export default {
mixins: [uploadMixin],
data() {
return {
info: {
- realName: "",
- phone: "",
- remark: "",
- type: -1,
+ nameOne: "",
+ nameTwo: "",
+ phoneOne: "",
+ phoneTwo: "",
+ grenderOne: "",
+ grenderTwo: "",
+ idCardOne: "",
+ idCardTwo: "",
+ injuryDesc: "",
+ injuryFlag: "",
+ source: "",
+ disputeContent: "",
+ alarmNum: "",
address: "",
lat: "",
- lng: ""
+ lng: "",
+ eventTime: ""
},
rules: {
'realName': {
@@ -115,10 +226,61 @@
},
desc: "",
title: "",
- curSelectSite: {}
+ curSelectSite: {},
+ statusList: [{
+ name: "是",
+ id: 1
+ },
+ {
+ name: "否",
+ id: 0
+ }
+ ],
+ handleResultList: [{
+ name: "已化解",
+ value: 1
+ },
+ {
+ name: "未化解 ",
+ value: 2
+ },
+ {
+ name: "移送e呼即办",
+ value: 3
+ }
+ ],
+ genderList: [{ //性别
+ value: 1,
+ name: '男',
+ },
+ {
+ value: 2,
+ name: '女',
+ }
+ ],
+ genderIndex: [0],
+ genderValue: "",
+ genderIndex2: [0],
+ genderValue2: "",
+ showGenderPicker: false,
+ showGender2Picker: false,
+ disputeTypeList: [],
+ disputeTypeValue: "",
+ disputeTypeIndex: [0],
+ showDisputeTypePicker: false,
+ handleResultValue: "",
+ handleResultIndex: [0],
+ showHandleResultPicker: false,
+ sourceList: [],
+ sourceIndex: [0],
+ sourceValue: "",
+ showSourcePicker: false,
+ showSelectDate: false,
+ eventTime: Number(new Date()),
}
},
onLoad(option) {
+ this.getAllBizDict();
this.title = option.title
uni.setNavigationBarTitle({
title: this.title
@@ -132,6 +294,30 @@
},
methods: {
+ async getAllBizDict() {
+ // 获取纠纷
+ await this.getBizDict('disputeType', this.disputeTypeList)
+ // 获取来源
+ await this.getBizDict('disputeSource', this.sourceList);
+ },
+
+ // 获取业务字典
+ async getBizDict(code, list) {
+ const param = {
+ code: code
+ }
+ const res = await bizDictionary(param)
+ res.data.forEach(e => {
+ list.push({
+ name: e.dictValue,
+ value: Number(e.dictKey)
+ })
+ })
+ },
+
+
+
+
getLocation() {
uni.chooseLocation({
success: (res) => {
@@ -144,32 +330,66 @@
sumitInfo() {
- const that = this
this.$refs.form.validate().then(valid => {
- if (this.form.images.length > 0) {
- let urls = []
- this.form.images.forEach(e => {
- urls.push(e.name)
- })
- this.info.imageUrls = urls.join(",")
- }
- save(that.info).then(res => {
- uni.showToast({
- icon: 'success',
- title: '提交成功',
- success() {
- setTimeout(() => {
- that.$u.func.globalNavigator("", "navBack")
- }, 1000)
- }
- })
+ addContradiction(this.info).then(res => {
+ this.$showTips("提交成功", "success")
+ setTimeout(() => {
+ uni.navigateBack()
+ }, 300)
})
})
},
navigatorPage() {
let url = "/subPackage/bs/views/repairList" + "?title=" + this.title + "&type=" + this.info.type
this.$u.func.globalNavigator(url, "navTo")
- }
+ },
+
+
+ //选择性别
+ confirmGender(e) {
+ this.genderIndex = e.indexs;
+ this.genderValue = e.value[0].name;
+ this.form.genderOne = e.value[0].value;
+ this.showGenderPicker = false;
+ },
+
+ //选择性别2
+ confirmGender2(e) {
+ this.genderIndex2 = e.indexs;
+ this.genderValue2 = e.value[0].name;
+ this.form.genderTwo = e.value[0].value;
+ this.showGender2Picker = false;
+ },
+
+ //选择纠纷类型
+ confirmDisputeType(e) {
+ this.disputeTypeIndex = e.indexs;
+ this.disputeTypeValue = e.value[0].name;
+ this.form.disputeType = e.value[0].value;
+ this.showDisputeTypePicker = false;
+ },
+
+ //选择处理结果
+ confirmHandleResult(e) {
+ this.handleResultIndex = e.indexs;
+ this.handleResultValue = e.value[0].name;
+ this.form.handleResult = e.value[0].value;
+ this.showHandleResultPicker = false;
+ },
+
+ //选择处理结果
+ confirmSource(e) {
+ this.sourcetIndex = e.indexs;
+ this.sourceValue = e.value[0].name;
+ this.form.source = e.value[0].value;
+ this.showSourcePicker = false;
+ },
+
+ confirmDate(e) {
+ this.showSelectDate = false;
+ this.info.eventTime = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM:ss')
+ },
+
}
}
</script>
diff --git a/subPackage/workbench/views/cscj.vue b/subPackage/workbench/views/cscj.vue
index ef5217f..dc36014 100644
--- a/subPackage/workbench/views/cscj.vue
+++ b/subPackage/workbench/views/cscj.vue
@@ -141,30 +141,6 @@
{{form.threeFireProtection == 1?"是":"否"}}
</view> -->
</u-form-item>
-
- </view>
-
-
- <view class="item" v-if="isLegalSame != 1 && !currentId">
- <view class="box-title">
- <box-title title="法人信息"></box-title>
- </view>
- <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
- label="姓名:" prop="legalPerson">
- <u--input border="none" v-model="form.placeExtEntity.legalPerson" placeholder="请输入">
- </u--input>
- </u-form-item>
- <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
- label="身份证号:" prop="legalIdCard">
- <u--input border="none" type="idcard" v-model="form.placeExtEntity.legalIdCard"
- placeholder="请输入">
- </u--input>
- </u-form-item>
- <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
- label="手机号:" prop="legalTel">
- <u--input border="none" type="number" v-model="form.placeExtEntity.legalTel" placeholder="请输入">
- </u--input>
- </u-form-item>
</view>
<view class="item">
@@ -188,6 +164,28 @@
</u-form-item>
</view>
+ <view class="item" v-if="isLegalSame != 1 && !currentId">
+ <view class="box-title">
+ <box-title title="法人信息"></box-title>
+ </view>
+ <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
+ label="姓名:" prop="legalPerson">
+ <u--input border="none" v-model="form.placeExtEntity.legalPerson" placeholder="请输入">
+ </u--input>
+ </u-form-item>
+ <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
+ label="身份证号:" prop="legalIdCard">
+ <u--input border="none" type="idcard" v-model="form.placeExtEntity.legalIdCard"
+ placeholder="请输入">
+ </u--input>
+ </u-form-item>
+ <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
+ label="手机号:" prop="legalTel">
+ <u--input border="none" type="number" v-model="form.placeExtEntity.legalTel" placeholder="请输入">
+ </u--input>
+ </u-form-item>
+ </view>
+
<view class="item">
<view class="box-title">
diff --git a/subPackage/workbench/views/rental.vue b/subPackage/workbench/views/rental.vue
index 334ef2f..13f4925 100644
--- a/subPackage/workbench/views/rental.vue
+++ b/subPackage/workbench/views/rental.vue
@@ -43,8 +43,8 @@
</view>
</view>
- <view class="list bgc-ff" v-for="(records,index) in tenantList" :key="index" @click="navTo(records)">
- <view class="flex j-c-s-b a-i-c">
+ <view class="list bgc-ff" v-for="(records,index) in tenantList" :key="index">
+ <view class="flex j-c-s-b a-i-c" @click="navTo(records)">
<view class="flex a-i-c">
<text class="f-32 mr-50">{{ records.tenantName || "" }}</text>
<view class="flex a-i-c">
diff --git a/subPackage/workbench/views/reportDetail.vue b/subPackage/workbench/views/reportDetail.vue
index e4e81cf..47935e4 100644
--- a/subPackage/workbench/views/reportDetail.vue
+++ b/subPackage/workbench/views/reportDetail.vue
@@ -365,7 +365,7 @@
console.log(this.defaultData);
this.basicData.forEach(item => {
item.value = this.defaultData[item.name] || '未完善'
- if (item.name === 'type' && this.from != "circle") {
+ if (item.name === 'type') {
item.value = this.findObjValue(item.value, this.typeList, 'type').name || '未完善'
}
})
--
Gitblit v1.9.3