Browse Source

时间组件,社区摸排页面添加

jw-featrue-zhanlibiao
mk 2 years ago
parent
commit
192b35d8f0
  1. 3
      app.js
  2. 12
      app.json
  3. 477
      components/dist/date-picker-view/index.js
  4. 6
      components/dist/date-picker-view/index.json
  5. 16
      components/dist/date-picker-view/index.wxml
  6. 0
      components/dist/date-picker-view/index.wxss
  7. 9
      components/dist/date-picker-view/locales/en.js
  8. 9
      components/dist/date-picker-view/locales/index.js
  9. 9
      components/dist/date-picker-view/locales/zh_CN.js
  10. 9
      components/dist/date-picker-view/locales/zh_TW.js
  11. 86
      components/dist/date-picker-view/props.js
  12. 23
      components/dist/date-picker/index.js
  13. 7
      components/dist/date-picker/index.json
  14. 45
      components/dist/date-picker/index.wxml
  15. 57
      components/dist/date-picker/index.wxss
  16. 23
      components/dist/date-picker/utils.js
  17. BIN
      images/work/shareBg.png
  18. 52
      pages/work/work.js
  19. 8
      pages/work/work.wxml
  20. 21
      project.private.config.json
  21. 45
      subpages/addResi/pages/addResi/addResi.js
  22. 1
      subpages/addhouse/pages/addhouse/addhouse.js
  23. 10
      subpages/communitySelfInsp/pages/historyQuery/historyQuery.js
  24. 2
      subpages/communitySelfInsp/pages/historyQuery/historyQuery.wxml
  25. BIN
      subpages/demandCheck/images/IC_guanbi@2x.png
  26. BIN
      subpages/demandCheck/images/del.png
  27. BIN
      subpages/demandCheck/images/dianji.png
  28. BIN
      subpages/demandCheck/images/ic_delete@2x.png
  29. BIN
      subpages/demandCheck/images/ic_yitidingwei@2x.png
  30. BIN
      subpages/demandCheck/images/ic_yueduliang.png
  31. BIN
      subpages/demandCheck/images/icon_close.png
  32. BIN
      subpages/demandCheck/images/ig_tianjiatupian@2x.png
  33. BIN
      subpages/demandCheck/images/loading.gif
  34. BIN
      subpages/demandCheck/images/mkf.png
  35. BIN
      subpages/demandCheck/images/right-sword.png
  36. BIN
      subpages/demandCheck/images/save.png
  37. BIN
      subpages/demandCheck/images/tupian.png
  38. BIN
      subpages/demandCheck/images/xiaobofang.png
  39. BIN
      subpages/demandCheck/images/xiaozanting.png
  40. BIN
      subpages/demandCheck/images/yuyin.png
  41. BIN
      subpages/demandCheck/images/zanting.png
  42. 1031
      subpages/demandCheck/pages/dissatisfied/demandCheck/demandCheck.js
  43. 10
      subpages/demandCheck/pages/dissatisfied/demandCheck/demandCheck.json
  44. 328
      subpages/demandCheck/pages/dissatisfied/demandCheck/demandCheck.wxml
  45. 1037
      subpages/demandCheck/pages/dissatisfied/demandCheck/demandCheck.wxss
  46. 3
      subpages/gatherInformation/pages/gatherInformation/gatherInformation.wxml
  47. 7
      subpages/searchResult/pages/searchResult/searchResult.js
  48. 7
      utils/api.js
  49. 1123
      utils/qqmap-wx-jssdk.js

3
app.js

@ -30,7 +30,6 @@ App({
navigationHeight: 40
},
user:{},
share:false,
keyWord:""
share:false
}
})

12
app.json

@ -115,6 +115,18 @@
}
]
},
"permission": {
"scope.userLocation": {
"desc": "亿联社区将获取您的位置信息"
}
},
"requiredPrivateInfos": [
"getLocation",
"chooseLocation"
],
"navigateToMiniProgramAppIdList": [
"wx50ebeb95943868cd"
],
"networkTimeout": {
"request": 60000
},

477
components/dist/date-picker-view/index.js

@ -0,0 +1,477 @@
import baseComponent from '../helpers/baseComponent'
import classNames from '../helpers/classNames'
import locales from './locales/index'
import { props } from './props'
const DATETIME = 'datetime'
const DATE = 'date'
const TIME = 'time'
const MONTH = 'month'
const YEAR = 'year'
const ONE_DAY = 24 * 60 * 60 * 1000
function fomartArray(min, max, step = 1) {
let i = min
let result = []
while (i <= max) {
result.push(i)
i+=step
}
return result
}
function getDaysInMonth(date) {
return new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate()
}
function pad(n) {
return n < 10 ? `0${n}` : n + ''
}
function cloneDate(date) {
return new Date(+date)
}
function setMonth(date, month) {
date.setDate(Math.min(date.getDate(), getDaysInMonth(new Date(date.getFullYear(), month))))
date.setMonth(month)
}
function valueToDate(value, props = {}) {
if (!Array.isArray(value)) {
if (typeof value === 'string') {
value = value.replace(/\-/g, '/')
}
if (!isNaN(Number(value))) {
value = Number(value)
}
return new Date(value)
}
const { mode, use12Hours } = props
const now = new Date()
const year = now.getFullYear()
const month = now.getMonth()
const day = now.getDate()
const newValue = value.map((v) => Number(v))
if (use12Hours && [DATETIME, TIME].includes(mode)) {
const hourIndex = mode === DATETIME ? 3 : 0
const ampmIndex = newValue.length - 1
const ampm = Number(newValue[ampmIndex])
let nhour = Number(newValue[hourIndex])
if (ampm === 1) {
if (nhour <= 12) {
nhour += 12
}
nhour = nhour >= 24 ? 0 : nhour
} else {
if (nhour === 0) {
nhour = 12
}
if (nhour > 12) {
nhour -= 12
}
nhour = nhour >= 12 ? 0 : nhour
}
newValue.splice(hourIndex, 1, nhour)
newValue.splice(ampmIndex, 1)
}
if (mode === TIME) {
newValue.unshift(day)
newValue.unshift(month)
newValue.unshift(year)
} else if (mode === MONTH) {
newValue.push(day)
} else if (mode === YEAR) {
newValue.push(month)
newValue.push(day)
}
while (newValue.length <= 6) {
newValue.push(0)
}
return new Date(...newValue)
}
baseComponent({
properties: props,
data: {
inputValue: [],
options: [],
},
observers: {
inputValue() {
this.updatedCols()
},
value(value) {
this.setValue(value)
},
['mode, minuteStep, use12Hours, minDate, maxDate, minHour, maxHour, minMinute, maxMinute, lang']() {
this.setValue(this.data.inputValue)
},
},
methods: {
getDefaultMinDate() {
if (!this.defaultMinDate) {
this.defaultMinDate = new Date(2000, 1, 1, 0, 0, 0)
}
return this.defaultMinDate
},
getDefaultMaxDate() {
if (!this.defaultMaxDate) {
this.defaultMaxDate = new Date(2030, 1, 1, 23, 59, 59)
}
return this.defaultMaxDate
},
getMinDate() {
return this.data.minDate ? valueToDate(this.data.minDate, this.data) : this.getDefaultMinDate()
},
getMaxDate() {
return this.data.maxDate ? valueToDate(this.data.maxDate, this.data) : this.getDefaultMaxDate()
},
getDateMember(type = 'min', member = 'year') {
const methods = {
min: 'getMinDate',
max: 'getMaxDate',
year: 'getFullYear',
month: 'getMonth',
day: 'getDate',
hour: 'getHours',
minute: 'getMinutes',
}
return this[methods[type]]()[methods[member]]()
},
getDisplayHour(rawHour) {
// 12 hour am (midnight 00:00) -> 12 hour pm (noon 12:00) -> 12 hour am (midnight 00:00)
if (this.data.use12Hours) {
if (rawHour === 0) {
rawHour = 12
}
if (rawHour > 12) {
rawHour -= 12
}
return rawHour
}
return rawHour
},
setHours(date, hour) {
if (this.data.use12Hours) {
const dh = date.getHours()
let nhour = hour
nhour = dh >= 12 ? hour + 12 : hour
nhour = nhour >= 24 ? 0 : nhour // Make sure no more than one day
date.setHours(nhour)
} else {
date.setHours(hour)
}
},
setAmPm(date, index) {
if (index === 0) {
date.setTime(+date - ONE_DAY / 2)
} else {
date.setTime(+date + ONE_DAY / 2)
}
},
getNewDate(values, index) {
const value = parseInt(values[index], 10)
const { mode } = this.data
let newValue = cloneDate(this.getDate())
if (mode === DATETIME || mode === DATE || mode === YEAR || mode === MONTH) {
switch (index) {
case 0:
newValue.setFullYear(value)
break
case 1:
setMonth(newValue, value)
break
case 2:
newValue.setDate(value)
break
case 3:
this.setHours(newValue, value)
break
case 4:
newValue.setMinutes(value)
break
case 5:
this.setAmPm(newValue, value)
break
default:
break
}
} else if (mode === TIME) {
switch (index) {
case 0:
this.setHours(newValue, value)
break
case 1:
newValue.setMinutes(value)
break
case 2:
this.setAmPm(newValue, value)
break
default:
break
}
}
return this.clipDate(newValue)
},
clipDate(date) {
const { mode } = this.data
const minDate = this.getMinDate()
const maxDate = this.getMaxDate()
if (mode === DATETIME) {
if (date < minDate) {
return cloneDate(minDate)
}
if (date > maxDate) {
return cloneDate(maxDate)
}
} else if (mode === DATE || mode === YEAR || mode === MONTH) {
if (+date + ONE_DAY <= minDate) {
return cloneDate(minDate)
}
if (date >= +maxDate + ONE_DAY) {
return cloneDate(maxDate)
}
} else if (mode === TIME) {
const maxHour = maxDate.getHours()
const maxMinutes = maxDate.getMinutes()
const minHour = minDate.getHours()
const minMinutes = minDate.getMinutes()
const hour = date.getHours()
const minutes = date.getMinutes()
if (hour < minHour || hour === minHour && minutes < minMinutes) {
return cloneDate(minDate)
}
if (hour > maxHour || hour === maxHour && minutes > maxMinutes) {
return cloneDate(maxDate)
}
}
return date
},
getDate(d) {
const date = d ? d : this.data.value
return this.clipDate(date ? valueToDate(date, this.data) : this.getMinDate())
},
getDateData(date) {
const { mode, lang } = this.data
const locale = locales[lang]
const selYear = date.getFullYear()
const selMonth = date.getMonth()
const minDateYear = this.getDateMember('min', 'year')
const maxDateYear = this.getDateMember('max', 'year')
const minDateMonth = this.getDateMember('min', 'month')
const maxDateMonth = this.getDateMember('max', 'month')
const minDateDay = this.getDateMember('min', 'day')
const maxDateDay = this.getDateMember('max', 'day')
const years = fomartArray(minDateYear, maxDateYear).map((i) => ({
value: i + '',
label: i + locale.year + '',
}))
if (mode === YEAR) {
return [years]
}
const minMonth = minDateYear === selYear ? minDateMonth : 0
const maxMonth = maxDateYear === selYear ? maxDateMonth : 11
const months = fomartArray(minMonth, maxMonth).map((i) => ({
value: i + '',
label: i + 1 + locale.month + '',
}))
if (mode === MONTH) {
return [years, months]
}
const minDay = minDateYear === selYear && minDateMonth === selMonth ? minDateDay : 1
const maxDay = maxDateYear === selYear && maxDateMonth === selMonth ? maxDateDay : getDaysInMonth(date)
const days = fomartArray(minDay, maxDay).map((i) => ({
value: i + '',
label: i + locale.day + '',
}))
return [years, months, days]
},
getTimeData(date) {
let { minHour, maxHour, minMinute, maxMinute } = this.data
const { mode, minuteStep, use12Hours, lang } = this.data
const locale = locales[lang]
const minDateMinute = this.getDateMember('min', 'minute')
const maxDateMinute = this.getDateMember('max', 'minute')
const minDateHour = this.getDateMember('min', 'hour')
const maxDateHour = this.getDateMember('max', 'hour')
const hour = date.getHours()
if (mode === DATETIME) {
const year = date.getFullYear()
const month = date.getMonth()
const day = date.getDate()
const minDateYear = this.getDateMember('min', 'year')
const maxDateYear = this.getDateMember('max', 'year')
const minDateMonth = this.getDateMember('min', 'month')
const maxDateMonth = this.getDateMember('max', 'month')
const minDateDay = this.getDateMember('min', 'day')
const maxDateDay = this.getDateMember('max', 'day')
if (minDateYear === year && minDateMonth === month && minDateDay === day) {
minHour = minDateHour
if (minDateHour === hour) {
minMinute = minDateMinute
}
}
if (maxDateYear === year && maxDateMonth === month && maxDateDay === day) {
maxHour = maxDateHour
if (maxDateHour === hour) {
maxMinute = maxDateMinute
}
}
} else {
minHour = minDateHour
if (minDateHour === hour) {
minMinute = minDateMinute
}
maxHour = maxDateHour
if (maxDateHour === hour) {
maxMinute = maxDateMinute
}
}
let hours = []
if (minHour === 0 && maxHour === 0 || minHour !== 0 && maxHour !== 0) {
minHour = this.getDisplayHour(minHour)
} else if (minHour === 0 && use12Hours) {
minHour = 1
hours.push({
value: '0',
label: locale.hour ? '12' + locale.hour : '12',
})
}
maxHour = this.getDisplayHour(maxHour)
hours = [...hours, ...fomartArray(minHour, maxHour).map((i) => ({
value: i + '',
label: locale.hour ? i + locale.hour + '' : pad(i),
}))]
const minutes = []
const selMinute = date.getMinutes()
for (let i = minMinute; i <= maxMinute; i += minuteStep) {
minutes.push({
value: i + '',
label: locale.minute ? i + locale.minute + '' : pad(i),
})
if (selMinute > i && selMinute < i + minuteStep) {
minutes.push({
value: selMinute + '',
label: locale.minute ? selMinute + locale.minute + '' : pad(selMinute),
})
}
}
const ampm = [{ value: '0', label: locale.am }, { value: '1', label: locale.pm }]
return [hours, minutes].concat(use12Hours ? [ampm] : [])
},
getValueCols(d) {
const { mode, use12Hours } = this.data
const date = this.getDate(d)
let cols = []
let value = []
if (mode === YEAR) {
return {
cols: this.getDateData(date),
value: [date.getFullYear() + ''],
}
}
if (mode === MONTH) {
return {
cols: this.getDateData(date),
value: [date.getFullYear() + '', date.getMonth() + ''],
}
}
if (mode === DATETIME || mode === DATE) {
cols = this.getDateData(date)
value = [date.getFullYear() + '', date.getMonth() + '', date.getDate() + '']
}
if (mode === DATETIME || mode === TIME) {
cols = cols.concat(this.getTimeData(date))
const hour = date.getHours()
const selMinute = date.getMinutes()
let dtValue = [hour + '', selMinute + '']
let nhour = hour
if (use12Hours) {
nhour = hour === 0 ? 12 : (hour > 12 ? hour - 12 : hour)
dtValue = [nhour + '', selMinute + '', (hour >= 12 ? 1 : 0) + '']
}
value = value.concat(dtValue)
}
return {
value,
cols,
}
},
onValueChange(e) {
const { value, index } = e.detail
const newDate = this.getNewDate(value, index)
const { value: newValue, cols: newCols } = this.getValueCols(newDate)
const values = this.getValue(newValue, newCols)
this.triggerEvent('valueChange', { ...e.detail, ...values, date: +newDate })
},
updatedCols() {
const { cols } = this.getValueCols()
this.setData({ cols })
},
updated(inputValue) {
if (this.data.inputValue !== inputValue) {
this.setData({
inputValue,
})
}
},
setValue(value = this.data.inputValue) {
const { value: inputValue } = this.getValueCols()
this.updated(inputValue)
},
getValue(value = this.data.inputValue, cols = this.data.cols) {
this.picker = this.picker || this.selectComponent('#wux-picker')
return {
...this.picker.getValue(value, cols),
date: +this.getDate(),
}
},
},
attached() {
this.setValue(this.data.value)
},
})

6
components/dist/date-picker-view/index.json

@ -0,0 +1,6 @@
{
"component": true,
"usingComponents": {
"wux-multi-picker-view": "../multi-picker-view/index"
}
}

16
components/dist/date-picker-view/index.wxml

@ -0,0 +1,16 @@
<wux-multi-picker-view
id="wux-picker"
wx:if="{{ cols.length > 0 }}"
prefixCls="{{ multiPickerPrefixCls }}"
pickerPrefixCls="{{ pickerPrefixCls }}"
value="{{ inputValue }}"
itemHeight="{{ itemHeight }}"
itemStyle="{{ itemStyle }}"
indicatorStyle="{{ indicatorStyle }}"
indicatorClass="{{ indicatorClass }}"
maskStyle="{{ maskStyle }}"
maskClass="{{ maskClass }}"
labelAlign="{{ labelAlign }}"
options="{{ cols }}"
bind:valueChange="onValueChange"
/>

0
components/dist/date-picker-view/index.wxss

9
components/dist/date-picker-view/locales/en.js

@ -0,0 +1,9 @@
export default {
year: '',
month: '',
day: '',
hour: '',
minute: '',
am: 'AM',
pm: 'PM',
}

9
components/dist/date-picker-view/locales/index.js

@ -0,0 +1,9 @@
import en from './en'
import zh_CN from './zh_CN'
import zh_TW from './zh_TW'
export default {
en,
zh_CN,
zh_TW,
}

9
components/dist/date-picker-view/locales/zh_CN.js

@ -0,0 +1,9 @@
export default {
year: '年',
month: '月',
day: '日',
hour: '时',
minute: '分',
am: '上午',
pm: '下午',
}

9
components/dist/date-picker-view/locales/zh_TW.js

@ -0,0 +1,9 @@
export default {
year: '年',
month: '月',
day: '日',
hour: '時',
minute: '分',
am: '上午',
pm: '下午',
}

86
components/dist/date-picker-view/props.js

@ -0,0 +1,86 @@
export const props = {
prefixCls: {
type: String,
value: 'wux-date-picker',
},
multiPickerPrefixCls: {
type: String,
value: 'wux-picker',
},
pickerPrefixCls: {
type: String,
value: 'wux-picker-col',
},
value: {
type: null,
value: null,
},
itemHeight: {
type: Number,
value: 34,
},
itemStyle: {
type: [String, Object, Array],
value: '',
},
indicatorStyle: {
type: [String, Object, Array],
value: '',
},
indicatorClass: {
type: String,
value: '',
},
maskStyle: {
type: [String, Object, Array],
value: '',
},
maskClass: {
type: String,
value: '',
},
labelAlign: {
type: String,
value: 'center',
},
mode: {
type: String,
value: 'datetime',
},
minuteStep: {
type: Number,
value: 1,
},
use12Hours: {
type: Boolean,
value: false,
},
minDate: {
type: null,
value: null,
},
maxDate: {
type: null,
value: null,
},
minHour: {
type: Number,
value: 0,
},
maxHour: {
type: Number,
value: 23,
},
minMinute: {
type: Number,
value: 0,
},
maxMinute: {
type: Number,
value: 59,
},
lang: {
type: String,
value: 'zh_CN',
},
}

23
components/dist/date-picker/index.js

@ -0,0 +1,23 @@
import baseComponent from '../helpers/baseComponent'
import popupMixin from '../helpers/popupMixin'
import { props } from '../date-picker-view/props'
import { formatDate } from './utils'
const platformProps = {
labelPropName: 'label',
format(values, props) {
const o = {
datetime: 'yyyy-MM-dd hh:mm',
date: 'yyyy-MM-dd',
year: 'yyyy',
month: 'yyyy-MM',
time: 'hh:mm',
}
return formatDate(values.date, o[props.mode])
},
}
baseComponent({
behaviors: [popupMixin('#wux-picker', platformProps)],
properties: props,
})

7
components/dist/date-picker/index.json

@ -0,0 +1,7 @@
{
"component": true,
"usingComponents": {
"wux-popup": "../popup/index",
"wux-date-picker-view": "../date-picker-view/index"
}
}

45
components/dist/date-picker/index.wxml

@ -0,0 +1,45 @@
<wux-popup
position="bottom"
visible="{{ popupVisible }}"
hasHeader="{{ false }}"
hasFooter="{{ false }}"
mountOnEnter="{{ false }}"
safeArea="bottom"
bind:close="close"
bind:closed="onClosed"
>
<view class="{{ classes.wrap }}" wx:if="{{ mounted }}">
<view class="{{ classes.toolbar }}" wx:if="{{ toolbar }}" catchtouchmove="noop">
<view class="{{ classes.inner }}">
<view class="{{ classes.cancel }}" hover-class="{{ classes.hover }}" bindtap="onCancel" wx:if="{{ toolbar.cancelText }}">{{ toolbar.cancelText }}</view>
<view class="{{ classes.title }}">{{ toolbar.title }}</view>
<view class="{{ classes.confirm }}" hover-class="{{ classes.hover }}" bindtap="onConfirm" wx:if="{{ toolbar.confirmText }}">{{ toolbar.confirmText }}</view>
</view>
</view>
<wux-date-picker-view
id="wux-picker"
multiPickerPrefixCls="{{ multiPickerPrefixCls }}"
pickerPrefixCls="{{ pickerPrefixCls }}"
value="{{ inputValue }}"
itemHeight="{{ itemHeight }}"
itemStyle="{{ itemStyle }}"
indicatorStyle="{{ indicatorStyle }}"
indicatorClass="{{ indicatorClass }}"
maskStyle="{{ maskStyle }}"
maskClass="{{ maskClass }}"
labelAlign="{{ labelAlign }}"
mode="{{ mode }}"
minuteStep="{{ minuteStep }}"
use12Hours="{{ use12Hours }}"
minDate="{{ minDate }}"
maxDate="{{ maxDate }}"
minHour="{{ minHour }}"
maxHour="{{ maxHour }}"
minMinute="{{ minMinute }}"
maxMinute="{{ maxMinute }}"
lang="{{ lang }}"
bind:valueChange="onValueChange"
/>
</view>
</wux-popup>
<slot></slot>

57
components/dist/date-picker/index.wxss

@ -0,0 +1,57 @@
.wux-date-picker__toolbar {
position: relative;
width: 100%;
font-size: 34rpx;
line-height: 1.5;
color: rgba(0,0,0,.85);
background-color: #f7f7f8
}
.wux-date-picker__toolbar::before {
content: " ";
position: absolute;
left: 0;
top: 0;
right: 0;
height: 1PX;
border-top: 1PX solid #d9d9d9;
color: #d9d9d9;
transform-origin: 0 0;
transform: scaleY(.5)
}
.wux-date-picker__inner {
height: 88rpx;
display: -ms-flexbox;
display: flex;
text-align: center
}
.wux-date-picker__title {
position: absolute;
display: block;
width: 100%;
padding: 0;
font-size: 34rpx;
font-weight: 400;
line-height: 88rpx;
color: rgba(0,0,0,.85);
text-align: center;
white-space: nowrap
}
.wux-date-picker__button {
position: absolute;
box-sizing: border-box;
height: 88rpx;
line-height: 88rpx;
padding: 0 30rpx;
z-index: 10
}
.wux-date-picker__button--cancel {
left: 0;
color: #b2b2b2
}
.wux-date-picker__button--confirm {
right: 0;
color: #33cd5f
}
.wux-date-picker__button--hover {
background-color: #ececec
}

23
components/dist/date-picker/utils.js

@ -0,0 +1,23 @@
export function formatDate(date, fmt) {
if (!(date instanceof Date)) {
date = new Date(date)
}
const o = {
'M+': date.getMonth() + 1,
'd+': date.getDate(),
'h+': date.getHours(),
'm+': date.getMinutes(),
's+': date.getSeconds(),
'q+': Math.floor((date.getMonth() + 3) / 3),
'S': date.getMilliseconds(),
}
if (/(y+)/.test(fmt)) {
fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))
}
for (const k in o) {
if (new RegExp(`(${k})`).test(fmt)) {
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)))
}
}
return fmt
}

BIN
images/work/shareBg.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

52
pages/work/work.js

@ -12,7 +12,8 @@ Page({
SearchRecordsList:[],
communitySelfInspList:[],
communitySelfInspTop:{}
communitySelfInspTop:{},
questionnaireUrl:''
},
/**
@ -114,10 +115,10 @@ Page({
* 用户点击右上角分享
*/
onShareAppMessage() {
return {
title: '亿星社区',
path: ''
return{
title:`${this.data.communitySelfInspTop.agencyName}${this.data.communitySelfInspTop.monthName}月份满意度调查`,
path:'/pages/webView/webView?url=' + this.data.questionnaireUrl,
imageUrl:'../../images/work/shareBg.png'
}
},
onShareTimeline(){
@ -152,9 +153,8 @@ Page({
return
}
wx.navigateTo({
url: `/subpages/searchResult/pages/searchResult/searchResult?type=${this.data.setlectVal}`,
url: `/subpages/searchResult/pages/searchResult/searchResult?type=${this.data.setlectVal}&keyWord=${this.data.keyWord}`,
})
console.log(this.data.setlectVal);
if(this.data.setlectVal == 'house'){
// 获取当前的搜索记录
let records = wx.getStorageSync('searchRecords') || [];
@ -203,7 +203,43 @@ Page({
url: '/subpages/communitySelfInsp/pages/synthesis/synthesis',
})
},
handelClickCopy() {
handelClickShare(e) {
// $wuxActionSheet().showSheet({
// // titleText: '自定义操作',
// buttons: [
// {
// text: '分享给朋友',
// openType:'share'
// },
// {
// text: '分享给朋友圈',
// openType:'share'
// },
// ],
// buttonClicked(index, item) {
// index === 0 &&
// wx.showShareMenu({
// menus:['shareAppMessage']
// })
// index === 1 &&
// wx.showShareMenu({
// menus:['shareTimeline']
// })
// return true
// },
// cancelText: '取消',
// cancel() {},
// // destructiveText: '删除',
// destructiveButtonClicked() {},
// })
this.setData({
questionnaireUrl:e.currentTarget.dataset.item.questionnaireUrl
})
wx.showShareImageMenu({
menus:['shareAppMessage', 'shareTimeline']
})

8
pages/work/work.wxml

@ -57,7 +57,7 @@
<image src="../../images/work/center.png" mode="" class="center_image"/>
</view>
</view>
<!-- <image src="../../images/work/sqmp.png" bind:tap="toDemandCheck" class="center_img" mode=""/> -->
<image src="../../images/work/sqmp.png" bind:tap="toDemandCheck" class="center_img" mode=""/>
<view class="bto">
<view class="title">
<view>满意度自查</view>
@ -66,9 +66,11 @@
<view class="content">
<view class="bg_box">
<view class="bg_left">
<view class="h2" bind:tap="toWebView" >{{communitySelfInspTop.agencyName}}{{communitySelfInspTop.monthName}}月份满意度自查</view>
<view class="h2" bind:tap="toWebView" >
{{communitySelfInspTop.agencyName}}{{communitySelfInspTop.monthName}}月份满意度自查
</view>
<view class="submit">已提交 <b>{{communitySelfInspTop.personQty?communitySelfInspTop.personQty:'--'}}</b> 人</view>
<view class="btn_Box"> <button class="btn_fx" bind:tap="handelClickCopy" open-type="share" >一键分享</button> <view class="btn_tj" bind:tap="toSynthesis">查看统计</view>
<view class="btn_Box"> <button class="btn_fx" bind:tap="handelClickShare" data-item="{{communitySelfInspTop}}" open-type="share" >一键分享</button> <view class="btn_tj" bind:tap="toSynthesis">查看统计</view>
</view>
</view>
<view class="bg_right">

21
project.private.config.json

@ -8,6 +8,20 @@
"condition": {
"miniprogram": {
"list": [
{
"name": "诉求摸排",
"pathName": "subpages/demandCheck/pages/dissatisfied/demandCheck/demandCheck",
"query": "",
"launchMode": "default",
"scene": null
},
{
"name": "查询结果",
"pathName": "subpages/searchResult/pages/searchResult/searchResult",
"query": "type=resi&keyWord=马",
"launchMode": "default",
"scene": null
},
{
"name": "回访记录详情",
"pathName": "subpages/communitySelfInsp/pages/followUpDetail/followUpDetail",
@ -64,13 +78,6 @@
"launchMode": "default",
"scene": null
},
{
"name": "查询结果",
"pathName": "subpages/searchResult/pages/searchResult/searchResult",
"query": "type=resi&keyWord=小程序",
"launchMode": "default",
"scene": null
},
{
"name": "新增居民",
"pathName": "subpages/addResi/pages/addResi/addResi",

45
subpages/addResi/pages/addResi/addResi.js

@ -239,8 +239,11 @@ Page({
console.log(err);
})
},
// 获取婚姻信息
getFamilyInfoDetailById(){
api.getFamilyInfoDetailById(this.data.resiId).then(res=>{
console.log(this.data.marriageList);
console.log(res);
this.setData({
'form.familyInfoDto':res.data,
marriageName:this.data.marriageList.filter(item=>item.value ==res.data.marriage)[0].label
@ -386,8 +389,11 @@ Page({
if (this.data.isFirstLoadGrid) {
// 编辑回填逻辑
const id = this.data.form.gridId;
console.log(id);
console.log(this.data.gridList);
const temp = this.data.gridList.filter(item => item.value == id);
const gridName = ''
console.log(temp);
let gridName = ''
if(temp.length != 0){
gridName = temp[0].label
}else{
@ -430,7 +436,14 @@ Page({
if (this.data.isFirstLoadVillage) {
// 编辑回填逻辑
const id = this.data.form.villageId;
const villageName = this.data.villageList.filter(item => item.value == id)[0].label;
const temp = this.data.villageList.filter(item => item.value == id);
let villageName = ''
if(temp.length != 0){
villageName = temp[0].label
}else{
this.showToast('小区信息有误')
return
}
this.setData({
villageName: villageName,
"form.villageId": id
@ -439,6 +452,7 @@ Page({
this.setData({
isFirstLoadVillage: false
});
console.log(this.data.villageList,'小区');
} else {
// 正常修改逻辑
const selectedIndex = e.detail.value;
@ -465,7 +479,14 @@ Page({
bindPickerChangebuilding(e){
if (this.data.isFirstLoadBuilding) {
const id = this.data.form.buildId;
const buildingName = this.data.buildingList.filter(item => item.value == id)[0].label;
const temp = this.data.buildingList.filter(item => item.value == id);
let buildingName = ''
if(temp.length != 0){
buildingName = temp[0].label
}else{
this.showToast('小区信息有误')
return
}
this.setData({
buildingName: buildingName,
"form.buildId": id
@ -493,7 +514,14 @@ Page({
bindPickerChangeUnit(e){
if (this.data.isFirstLoadUnit) {
const id = this.data.form.unitId;
const unitName = this.data.unitList.filter(item => item.value == id)[0].label;
const temp = this.data.unitList.filter(item => item.value == id);
let unitName = ''
if(temp.length != 0){
unitName = temp[0].label
}else{
this.showToast('楼栋信息有误')
return
}
this.setData({
unitName: unitName,
"form.unitId": id,
@ -518,7 +546,14 @@ Page({
bindPickerChangeHouse(e){
if (this.data.isFirstLoadHouse) {
const id = this.data.form.homeId;
const houseName = this.data.houseList.filter(item => item.value == id)[0].label;
const temp = this.data.houseList.filter(item => item.value == id);
let houseName = ''
if(temp.length != 0){
houseName = temp[0].label
}else{
this.showToast('房屋信息有误')
return
}
this.setData({
houseName: houseName,
"form.homeId": id

1
subpages/addhouse/pages/addhouse/addhouse.js

@ -127,6 +127,7 @@ Page({
})
await this.setDataAsync({
form:res.data,
'form.sysCoding':res.data.ownerIdCard,
gridId:res.data.gridId
});
setTimeout(()=>{

10
subpages/communitySelfInsp/pages/historyQuery/historyQuery.js

@ -78,13 +78,17 @@ Page({
*/
onShareAppMessage() {
return{
title:'问卷调查',
path:'/pages/webView/webView?url=' + this.data.url
title:`${this.data.agencyName}${this.data.monthName}月份满意度调查`,
path:'/pages/webView/webView?url=' + this.data.questionnaireUrl,
imageUrl:'../../../../images/work/shareBg.png'
}
},
share(e){
console.log(e);
this.setData({
url:e.currentTarget.dataset.url
url:e.currentTarget.dataset.item.questionnaireUrl,
agencyName:e.currentTarget.dataset.item.agencyName,
monthName:e.currentTarget.dataset.item.monthName
})
},
getTable(){

2
subpages/communitySelfInsp/pages/historyQuery/historyQuery.wxml

@ -18,7 +18,7 @@
</view>
<view class="right">
<view wx:if="{{item.status == 1}}" class="bule">
<image src="../../../../images/share.png" mode=""/> <button open-type="share" bind:tap="share" data-url="{{item.questionnaireUrl}}">分享</button>
<image src="../../../../images/share.png" mode=""/> <button open-type="share" bind:tap="share" data-item="{{item}}">分享</button>
</view>
<view wx:else class="score">
<b>{{item.synthesisScore}}</b>分

BIN
subpages/demandCheck/images/IC_guanbi@2x.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
subpages/demandCheck/images/del.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
subpages/demandCheck/images/dianji.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
subpages/demandCheck/images/ic_delete@2x.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

BIN
subpages/demandCheck/images/ic_yitidingwei@2x.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
subpages/demandCheck/images/ic_yueduliang.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
subpages/demandCheck/images/icon_close.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
subpages/demandCheck/images/ig_tianjiatupian@2x.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
subpages/demandCheck/images/loading.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

BIN
subpages/demandCheck/images/mkf.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 606 B

BIN
subpages/demandCheck/images/right-sword.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
subpages/demandCheck/images/save.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
subpages/demandCheck/images/tupian.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
subpages/demandCheck/images/xiaobofang.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
subpages/demandCheck/images/xiaozanting.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
subpages/demandCheck/images/yuyin.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
subpages/demandCheck/images/zanting.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

1031
subpages/demandCheck/pages/dissatisfied/demandCheck/demandCheck.js

File diff suppressed because it is too large

10
subpages/demandCheck/pages/dissatisfied/demandCheck/demandCheck.json

@ -1,3 +1,11 @@
{
"usingComponents": {}
"usingComponents": {
"wux-actionsheet": "../../../../../components/dist/actionsheet/index",
"wux-segmented-control": "../../../../../components/dist/segmented-control/index",
"wux-date-picker": "../../../../../components/dist/date-picker/index",
"wux-cell-group": "../../../../../components/dist/cell-group/index",
"wux-picker": "../../../../../components/dist/picker/index"
},
"navigationBarTitleText": "诉求摸排"
}

328
subpages/demandCheck/pages/dissatisfied/demandCheck/demandCheck.wxml

@ -1,43 +1,18 @@
<view class="content">
<view class="complete-info" >
<block >
<view class="content">
<view class="personal-info">
<view class="basic-info">
<view class="item">
<view class="field">
<text class="must">*</text>
<view class="field-text">事件位置</view>
</view>
<view class="value-dl" bindtap="getPosition">
<view class="di-name">{{addressContent}}</view>
<image class="di-but" src="../../images/dingwei.png" mode="aspectFit" />
</view>
</view>
<view class="item">
<view class="field field-d">
<view class="field-text">详细地址</view>
</view>
<view class="value value-d">
<view class="input" style="width: 100%;">
<input type="text"
placeholder-class="placeholder-style"
value="{{ personalInfo.issueAddress }}"
placeholder="请输入准确位置,便于事件办理"
bindinput="bindIssueAddressInput"
cursor-spacing="14"
maxlength="100" />
</view>
<view class="field-text">所属组织</view>
</view>
</view>
<!-- wx:if="{{streetList.length>0}}" -->
<view class="item">
<view class="field">
<text class="must">*</text>
<view class="field-text">所属街道</view>
</view>
<view class="value">
<picker class="picker"
<view class="value" bind:tap="showPicker">
<!-- <picker class="picker"
range="{{streetList}}"
range-key="label"
data-list-name="streetList"
data-id-key="streetId"
@ -45,123 +20,26 @@
bindchange="inputSyncPicker">
<view class="picker-text" wx:if="{{personalInfo.street}}">{{personalInfo.street}}</view>
<view class="picker-text z-weak" wx:else>请选择</view>
<image class="menu-arrow" src="../../images/arrow.png" mode="aspectFit" />
</picker>
</view>
</view>
<!-- wx:if="{{communityList.length>0}}" -->
<view class="item">
<view class="field">
<text class="must">*</text>
<view class="field-text">所属社区</view>
</view>
<view class="value" data-name="community" bindtap="organizationTip">
<picker class="picker"
disabled="{{ communityList.length == 0 ? true : false }}"
range="{{communityList}}"
range-key="label"
data-list-name="communityList"
data-id-key="communityId"
data-name-key="community"
bindchange="inputSyncPicker">
<view class="picker-text" wx:if="{{personalInfo.community}}">{{personalInfo.community}}</view>
<view class="picker-text z-weak" wx:else>请选择</view>
<image class="menu-arrow" src="../../images/arrow.png" mode="aspectFit" />
</picker>
</view>
</view>
<!-- wx:if="{{gridList.length>0}}" -->
<view class="item">
<view class="field">
<text class="must">*</text>
<view class="field-text">所属网格</view>
</view>
<view class="value" data-name="grid" bindtap="organizationTip">
<picker class="picker"
disabled="{{ gridList.length == 0 ? true : false }}"
range="{{gridList}}"
range-key="label"
data-list-name="gridList"
data-id-key="gridId"
data-name-key="grid"
bindchange="inputSyncPicker">
<view class="picker-text" wx:if="{{personalInfo.grid}}">{{personalInfo.grid}}</view>
<view class="picker-text z-weak" wx:else>请选择</view>
<image class="menu-arrow" src="../../images/arrow.png" mode="aspectFit" />
</picker>
<image class="menu-arrow" src="../../../../../images/right.png" mode="aspectFit" />
</picker> -->
{{agencyName?agencyName:'请选择'}}
</view>
</view>
<view class="item">
<view class="field">
<text class="must">*</text>
<view class="field-text">是否公开</view>
<view class="field-text">诉求类型</view>
</view>
<view class="value-mobile">
<radio-group class="radio-group" bindchange="bindFlagChange">
<radio checked="{{personalInfo.showFlag === '0'}}" value="0" color="#F82525" class="radio">不公开</radio>
<radio checked="{{personalInfo.showFlag === '1'}}" value="1" color="#F82525" class="radio">公开</radio>
<radio checked="{{personalInfo.showFlag === '0'}}" value="0" checked="true" color="#4193fe" class="radio">事件上报</radio>
<radio checked="{{personalInfo.showFlag === '1'}}" value="1" color="#4193fe" class="radio">居民需求</radio>
</radio-group>
</view>
</view>
<view class="item">
<view class="field">
<text class="must">*</text>
<view class="field-text">联系人姓名</view>
</view>
<view class="value">
<view class="input">
<input type="text"
placeholder-class="placeholder-style"
value="{{ personalInfo.contactName }}"
placeholder="请输入"
bindinput="bindContactNameInput"
cursor-spacing="14"
maxlength="100" />
</view>
</view>
</view>
<view class="item no-border-bottom" wx:if="{{getMobileType === 'wx'}}">
<view class="field mobile-field">
<text class="must">*</text>
<view class="field-text">手机号</view>
</view>
<view class="value-mobile">
<input wx:if="{{ personalInfo.mobile }}" disabled="{{true}}" type="number" bindblur="bindMobileInput" bindinput="bindMobileInput" value="{{ personalInfo.mobile }}" placeholder-class="placeholder-style" placeholder="请获取手机号" />
<button hover-class="button-hover" class="get-code" open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">{{ personalInfo.mobile ? '重新获取' : '获取手机号'}}</button>
</view>
</view>
<view class="item" wx:if="{{getMobileType === 'self'}}">
<view class="field">
<view class="must">*</view>
<view class="field-text">手机号</view>
</view>
<view class="value">
<view class="input">
<input
type="number"
bindblur="bindMobileInput"
bindinput="bindMobileInput"
value="{{personalInfo.mobile}}"
placeholder-class="placeholder-style"
placeholder="请输入手机号" />
</view>
</view>
</view>
<view class="item no-border-bottom" wx:if="{{getMobileType === 'self'}}">
<view class="field">
<text class="must">*</text>
<view class="field-text">验证码</view>
</view>
<view class="value-mobile">
<input bindblur="bindSmsCodeInput" bindinput="bindSmsCodeInput" value="{{personalInfo.smsCode}}" placeholder-class="placeholder-style" placeholder="请输入验证码" />
<button disabled="{{smsCodeText !== '获取验证码'}}" bindtap="getSmsCode" hover-class="button-hover" class="get-code">{{smsCodeText}}</button>
</view>
</view>
</view>
<view class="note" bindtap="changeGetMobileType">{{getMobileType === 'wx' ? '*如若获取手机号异常,请点击切换至手机号/验证码注册方式' : '*点击可切回至从微信获取手机号注册方式'}}</view>
</view>
<view class="add-issue">
@ -169,15 +47,20 @@
<view class="item">
<view class="field">
<text class="must">*</text>
<view class="field-text">问题描述</view>
<view class="field-text">事件描述</view>
</view>
</view>
<textarea maxlength="500" value="{{personalInfo.itemContent}}" bindblur="bindTextareaBlur" bindinput="bindTextareaInput" bindfocus="bindTextareaFocus">
<view class="textarea-placeholder" wx:if="{{placeholderShow}}">
<view>请输入主要问题内容(不少于10字)</view>
</view>
<textarea maxlength="500" value="{{fmData.itemContent}}" bindblur="bindTextareaBlur" bindinput="bindTextareaInput" bindfocus="bindTextareaFocus" placeholder="请输入事件描述(不超过500字)">
</textarea>
<view class="{{ uploadImageList.length < 4 ? 'image-list' : uploadImageList.length > 3 && uploadImageList.length < 7 ? 'image-list image-list-2' : uploadImageList.length > 6 && uploadImageList.length < 10 ? 'image-list image-list-3' : 'image-list image-list-4' }}">
<view class="mkf-img" bindtap="showRecordSheet">
<image src="../../../images/mkf.png" mode=""/> 您也可以语音输入描述
</view>
</view>
<view class="image-box">
<view class="{{ uploadImageList.length < 4 ? 'image-list' : uploadImageList.length > 3 && uploadImageList.length < 7 ? 'image-list image-list-2' : uploadImageList.length > 6 && uploadImageList.length < 10 ? 'image-list image-list-3' : 'image-list image-list-4' }}">
<view class=" image-list-label">
<view class="field-text">上传图片</view>
</view>
<view
class="image-item"
wx:for="{{uploadImageList}}"
@ -185,60 +68,125 @@
wx:for-item="item"
wx:key="imageId">
<image class="issue-image" src="{{item.imgUrl}}" />
<image wx:if="{{!item.uploaded}}" class="loading" src="../../images/loading.gif" />
<image bindtap="deleteImage" data-imageid="{{item.imageId}}" class="close" wx:else src="../../images/icon_close.png" />
<image wx:if="{{!item.uploaded}}" class="loading" src="../../../images/loading.gif" />
<image bindtap="deleteImage" data-imageid="{{item.imageId}}" class="close" wx:else src="../../../images/icon_close.png" />
</view>
<!-- <image wx:if="{{uploadImageList.length < 3}}" src="../../images/ig_tianjiatupian@2x.png" bindtap="chooseImage" /> -->
<image wx:if="{{uploadImageList.length < 3}}" src="../../../images/ig_tianjiatupian@2x.png" bindtap="chooseImage" />
</view>
<view class="audio" wx:if="{{recorderData.tempFilePath && !showRecord}}">
<view class="delete-audio">
<image bindtap="deleteRecord" src="../../images/icon_close.png" />
</view>
<view class="control-button" wx:if="{{!uploadRecord.uploaded}}">
<image src="../../images/loading.gif"/>
</view>
<block wx:else>
<view class="control-button">
<image src="../../images/xiaozanting.png" wx:if="{{!isPlayAudio}}" bindtap="onPlayAudio"/>
<image src="../../images/xiaobofang.png" wx:else bindtap="onStopAudio"/>
</view>
<view class="control-line">
<slider class="control-slider" value="{{audioTimeline}}" bindchange="sliderchange" min="0" max="100" block-size="15" selected-color="#fd6161"/>
<view class="line-time">
<view class="time-text">{{recorderTimeCur}}</view>
<view class="time-text">{{recorderTimeMax}}</view>
</view>
</view>
</block>
</view>
<!-- <view class="{{ uploadImageList.length < 3 ? 'image-list' : uploadImageList.length > 2 && uploadImageList.length < 6 ? 'image-list image-list-2' : uploadImageList.length > 5 && uploadImageList.length < 9 ? 'image-list image-list-3' : 'image-list image-list-4' }}">
<view
class="image-item"
wx:for="{{uploadImageList}}"
wx:for-index="index"
wx:for-item="item"
wx:key="imageId">
<image class="issue-image" src="{{item.imgUrl}}" />
<image wx:if="{{!item.uploaded}}" class="loading" src="../../../../images/loading.gif" />
<image bindtap="deleteImage" data-imageid="{{item.imageId}}" class="close" wx:else src="../../images/icon_close.png" />
</view>
<view class="personal-info">
<view class="basic-info">
<view class="item">
<view class="field">
<text class="must">*</text>
<view class="field-text">发生时间</view>
</view>
<view class="value-dl" bind:tap="showTimePicker">
<view class="di-name">{{timeLabel?timeLabel:'请选择发生时间'}}</view>
<image class="di-but" src="../../../../../images/right.png" mode="aspectFit" />
</view>
</view>
<view class="item">
<view class="field">
<text class="must">*</text>
<view class="field-text">发生地点</view>
</view>
<view class="value-dl" bind:tap="toughGetLocation">
<view class="di-name">{{fmData.addressContent}}</view>
<image class="di-but" src="../../../../../images/right.png" mode="aspectFit" />
</view>
</view>
<view class="item">
<view class="field">
<text class="must">*</text>
<view class="field-text">联系人</view>
</view>
<view class="value-dl">
<view class="di-name"></view>
<image class="di-but" src="../../../../../images/right.png" mode="aspectFit" />
</view>
</view>
<view class="item">
<view class="field">
<text class="must">*</text>
<view class="field-text">联系电话</view>
</view>
<view class="value">
<view class="input">
<input type="text"
placeholder-class="placeholder-style"
value="{{ personalInfo.contactName }}"
placeholder="请输入"
bindinput="bindContactNameInput"
cursor-spacing="14"
maxlength="100" />
</view>
</view>
</view>
<image wx:if="{{uploadImageList.length < 10}}" src="../../images/ig_tianjiatupian@2x.png" bindtap="chooseImage" />
</view>
<view class="tip">*最多可添加10张图片</view> -->
</view>
</view>
<view class="submit-button">
<button disabled="{{ submitDisabled }}" bindtap="submitPersonalInfo" hover-class="hover-submit">提交</button>
</view>
</view>
</block>
</view>
<view class="sheet-bg" wx:if="{{showRecord}}"></view>
<view class="record-actionsheet {{showRecord ? '' : 'record-actionsheet-hide'}}">
<view class="sound-cancle" bind:tap="hancleCancle">取消</view>
<view class="image-box">
<!-- <view class="yg-zp">图片、录音</view> -->
<!-- <view class="yg-zp-1">图片不多于 10 张、录音不超过 1 分钟</view> -->
<view>
<image class="add-icon" src="../../images/tupian.png" bindtap="chooseImage"/>
<image class="add-icon" src="../../images/yuyin.png" bindtap="showRecordSheet"/>
<view class="sound-operate">
<view class="sound-operate-del" bind:tap="handleRecordDel">
<image wx:if="{{isStart}}" src="../../../images/del.png" />
</view>
<view class="sound-operate-btn">
<view class="sound-circel">
<view wx:if="{{isStart}}" class="sound-circle-bd" bind:tap="handleRecord">
<view class="sound-play {{!hasStart && 'sound-play-stop'}}">
<view class="sound-play-item"></view>
<view class="sound-play-item"></view>
<view class="sound-play-item"></view>
<view class="sound-play-item"></view>
</view>
</view>
<view wx:else class="sound-circle-bd sound-circle-bg" bind:tap="handleOpenRecord"></view>
</view>
</view>
<view class="submit-button">
<button disabled="{{ submitDisabled }}" bindtap="submitPersonalInfo" hover-class="hover-submit">提交</button>
<view class="sound-operate-finish" bind:tap="recordStop">
<image wx:if="{{isStart}}" src="../../../images/save.png" />
</view>
</view>
</view>
<view class="sound-tips">
<view >点击发布语音内容</view>
<view >限10分钟内</view>
</view>
</view>
<wux-actionsheet id="wux-actionsheet" />
<wux-date-picker
visible="{{ visibleTime }}"
controlled
mode="datetime"
value="{{ fmData.time }}"
lang="zh_CN"
minDate="{{minDate}}"
bind:confirm="onConfirmDate"
bind:visibleChange="onVisibleChange"
bind:cancel="onCancel"
/>
<wux-picker
options="{{ angencyList }}"
value="{{ angencyValue }}"
visible="{{angencyVisible}}"
defaultFieldNames="{{defaultFieldNames}}"
controlled
cascade
cols="3"
bind:cancel="hidePicker"
bind:confirm="onConfirmAngecy"
bind:valueChange="onValueChange"
>
</wux-picker>

1037
subpages/demandCheck/pages/dissatisfied/demandCheck/demandCheck.wxss

File diff suppressed because it is too large

3
subpages/gatherInformation/pages/gatherInformation/gatherInformation.wxml

@ -1,7 +1,8 @@
<!--subpages/gatherInformation/pages/gatherInformation/gatherInformation.wxml-->
<view class="search" >
<view class="filter" bind:tap="handelShow">
{{typeVal =='resi'?'居民信息采集':typeVal=='house'?'房屋信息采集':'全部信息'}} <text wx:if="{{collectTypeVal != ''}}">,</text> {{collectTypeVal =='add'?'新增':collectTypeVal =='edit'?'修改':collectTypeVal == 'del'?'删除':''}}
{{typeVal =='resi'?'居民信息采集':typeVal=='house'?'房屋信息采集':'全部信息'}} <text wx:if="{{collectTypeVal != ''}}"></text>
<!-- {{collectTypeVal =='add'?'新增':collectTypeVal =='edit'?'修改':collectTypeVal == 'del'?'删除':''}} -->
<image src="../images/down.png" mode=""/>
</view>
<view class="box">

7
subpages/searchResult/pages/searchResult/searchResult.js

@ -30,9 +30,8 @@ Page({
share:app.globalData.share,
title:options.type =='resi'?'居民查询结果':'房屋查询结果',
type:options.type,
keyWord:app.globalData.keyWord
keyWord:options.keyWord
})
console.log(this.data.keyWord,'dataK');
this.getTable()
},
@ -47,7 +46,6 @@ Page({
* 生命周期函数--监听页面显示
*/
onShow() {
console.log(this.data.keyWord,'show');
},
/**
@ -103,7 +101,6 @@ Page({
loadMoreType: res.data.list.length === this.data.pageSize ? 'more' : 'none',
tableData: this.data.tableData.concat(res.data.list),
})
console.log(this.data.loadMoreType);
if (this.data.tableData.length == 0) {
this.setData({
loadMoreVisible: false,
@ -122,7 +119,6 @@ Page({
loadMoreType: res.data.list.length === this.data.pageSize ? 'more' : 'none',
tableData: this.data.tableData.concat(res.data.list),
})
console.log(this.data.loadMoreType);
if (this.data.tableData.length == 0) {
this.setData({
loadMoreVisible: false,
@ -155,7 +151,6 @@ Page({
}
},
handelClickedit(e){
console.log(e);
if(this.data.type == 'resi'){
wx.navigateTo({
url: `/subpages/addResi/pages/addResi/addResi?type=edit&resiId=${e.currentTarget.dataset.item.resiId}`,

7
utils/api.js

@ -34,7 +34,8 @@ module.exports = {
getFollowUpList,
followUpSave,
followUpDelete,
logout
logout,
getAgencygridtree
}
// 消息列表
function getIntelligentMessage(param){
@ -177,3 +178,7 @@ function followUpSave (parm) {
function followUpDelete (parm) {
return fly.post(`governance/satisfaction/communitySelfInsp/followUp/delete/${parm}`,)
}
// 获取组织树
function getAgencygridtree () {
return fly.post(`gov/org/customeragency/agencygridtree`,)
}

1123
utils/qqmap-wx-jssdk.js

File diff suppressed because it is too large
Loading…
Cancel
Save