ct
This commit is contained in:
		@@ -1,6 +1,5 @@
 | 
				
			|||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <div class="add-form" v-if="pageShow">
 | 
					  <div class="add-form" v-if="pageShow">
 | 
				
			||||||
    <div v-show="!isShowConfig">
 | 
					 | 
				
			||||||
    <div class="header-pic">
 | 
					    <div class="header-pic">
 | 
				
			||||||
      <image v-if="form.headPicture" :src="form.headPicture"/>
 | 
					      <image v-if="form.headPicture" :src="form.headPicture"/>
 | 
				
			||||||
      <span @click="upload">更换图片</span>
 | 
					      <span @click="upload">更换图片</span>
 | 
				
			||||||
@@ -119,38 +118,17 @@
 | 
				
			|||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
    </u-popup>
 | 
					    </u-popup>
 | 
				
			||||||
 | 
					 | 
				
			||||||
    </div>
 | 
					 | 
				
			||||||
    <div class="detail" v-if="isShowConfig">
 | 
					 | 
				
			||||||
      <component
 | 
					 | 
				
			||||||
          :is="component"
 | 
					 | 
				
			||||||
          :index="filedIndex"
 | 
					 | 
				
			||||||
          :filed="filed"
 | 
					 | 
				
			||||||
          @change="onChange"
 | 
					 | 
				
			||||||
          :targetListData="targetList"
 | 
					 | 
				
			||||||
          :formData="form"
 | 
					 | 
				
			||||||
          :filedType="filedType"
 | 
					 | 
				
			||||||
          @back="isShowConfig = false"
 | 
					 | 
				
			||||||
          :id="id"
 | 
					 | 
				
			||||||
          :formConfig="formConfig">
 | 
					 | 
				
			||||||
      </component>
 | 
					 | 
				
			||||||
    </div>
 | 
					 | 
				
			||||||
  </div>
 | 
					  </div>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import draggable from 'vuedraggable'
 | 
					import draggable from 'vuedraggable'
 | 
				
			||||||
import FiledConfig from './FiledConfig'
 | 
					import qs from "query-string"
 | 
				
			||||||
import FormSetting from '../FormSetting'
 | 
					 | 
				
			||||||
import PreviewForm from './PreviewForm'
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  props: ['params'],
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  data() {
 | 
					  data() {
 | 
				
			||||||
    return {
 | 
					    return {
 | 
				
			||||||
      pageShow: false,
 | 
					      pageShow: false,
 | 
				
			||||||
      isShowConfig: false,
 | 
					 | 
				
			||||||
      form: {
 | 
					      form: {
 | 
				
			||||||
        tableExplain: '详细描述',
 | 
					        tableExplain: '详细描述',
 | 
				
			||||||
        title: '问卷调查',
 | 
					        title: '问卷调查',
 | 
				
			||||||
@@ -180,34 +158,23 @@ export default {
 | 
				
			|||||||
      filedIndex: '',
 | 
					      filedIndex: '',
 | 
				
			||||||
      isQuote: false,
 | 
					      isQuote: false,
 | 
				
			||||||
      touchStart: 0,
 | 
					      touchStart: 0,
 | 
				
			||||||
      component: '',
 | 
					 | 
				
			||||||
      formConfig: {}
 | 
					      formConfig: {}
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					 | 
				
			||||||
  components: {
 | 
					  components: {
 | 
				
			||||||
    draggable,
 | 
					    draggable,
 | 
				
			||||||
    PreviewForm,
 | 
					 | 
				
			||||||
    FormSetting,
 | 
					 | 
				
			||||||
    FiledConfig
 | 
					 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					  created() {
 | 
				
			||||||
  mounted() {
 | 
					    let {type, isQuote, id} = this.$route.query
 | 
				
			||||||
    this.type = Number(this.params.type)
 | 
					    this.type = type
 | 
				
			||||||
 | 
					    this.isQuote = !!isQuote
 | 
				
			||||||
    if (this.params.isQuote) {
 | 
					    if (id) {
 | 
				
			||||||
      this.isQuote = true
 | 
					      this.id = id
 | 
				
			||||||
    }
 | 
					      this.getInfo(id)
 | 
				
			||||||
 | 
					 | 
				
			||||||
    if (this.params.id) {
 | 
					 | 
				
			||||||
      this.id = this.params.id
 | 
					 | 
				
			||||||
      this.getInfo(this.params.id)
 | 
					 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
      this.pageShow = true
 | 
					      this.pageShow = true
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					 | 
				
			||||||
    this.init()
 | 
					    this.init()
 | 
				
			||||||
 | 
					 | 
				
			||||||
    uni.$on('setting', res => {
 | 
					    uni.$on('setting', res => {
 | 
				
			||||||
      this.form = {
 | 
					      this.form = {
 | 
				
			||||||
        ...this.form,
 | 
					        ...this.form,
 | 
				
			||||||
@@ -224,21 +191,15 @@ export default {
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
    })
 | 
					    })
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					 | 
				
			||||||
  methods: {
 | 
					  methods: {
 | 
				
			||||||
    toSetting() {
 | 
					    toSetting() {
 | 
				
			||||||
      this.component = 'FormSetting'
 | 
					      let {formConfig} = this
 | 
				
			||||||
      this.isShowConfig = true
 | 
					      uni.navigateTo({url: `./FormSetting?${qs.stringify({formConfig})}`})
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					 | 
				
			||||||
    back() {
 | 
					    back() {
 | 
				
			||||||
      this.$emit('change', {
 | 
					      uni.navigateBack({})
 | 
				
			||||||
        type: 'Tabbar'
 | 
					 | 
				
			||||||
      })
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					 | 
				
			||||||
    onChange(e) {
 | 
					    onChange(e) {
 | 
				
			||||||
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    removeComponent(index) {
 | 
					    removeComponent(index) {
 | 
				
			||||||
@@ -246,8 +207,9 @@ export default {
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    toPreview() {
 | 
					    toPreview() {
 | 
				
			||||||
      this.component = 'PreviewForm'
 | 
					      let {form, targetList} = this
 | 
				
			||||||
      this.isShowConfig = true
 | 
					      localStorage.setItem("toPreviewForm", JSON.stringify({form, targetList}))
 | 
				
			||||||
 | 
					      uni.navigateTo({url: `./PreviewForm`})
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    upload() {
 | 
					    upload() {
 | 
				
			||||||
@@ -340,18 +302,15 @@ export default {
 | 
				
			|||||||
        type: this.type,
 | 
					        type: this.type,
 | 
				
			||||||
        templateType: 0
 | 
					        templateType: 0
 | 
				
			||||||
      }).then(res => {
 | 
					      }).then(res => {
 | 
				
			||||||
        if (res.code == 0) {
 | 
					        if (res?.code == 0) {
 | 
				
			||||||
          setTimeout(() => {
 | 
					          uni.navigateTo({
 | 
				
			||||||
            this.$emit('change', {
 | 
					            url: `./Result?${qs.stringify({
 | 
				
			||||||
              type: 'Result',
 | 
					 | 
				
			||||||
              params: {
 | 
					 | 
				
			||||||
              linkUrl: res.data.linkUrl,
 | 
					              linkUrl: res.data.linkUrl,
 | 
				
			||||||
              title: this.form.title,
 | 
					              title: this.form.title,
 | 
				
			||||||
              tableExplain: this.form.tableExplain,
 | 
					              tableExplain: this.form.tableExplain,
 | 
				
			||||||
              headPicture: this.form.headPicture
 | 
					              headPicture: this.form.headPicture
 | 
				
			||||||
              }
 | 
					            })}`
 | 
				
			||||||
          })
 | 
					          })
 | 
				
			||||||
          }, 600)
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      }).catch(e => {
 | 
					      }).catch(e => {
 | 
				
			||||||
        this.$u.toast(e)
 | 
					        this.$u.toast(e)
 | 
				
			||||||
@@ -377,7 +336,6 @@ export default {
 | 
				
			|||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
          this.$u.toast(res.msg)
 | 
					          this.$u.toast(res.msg)
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					 | 
				
			||||||
        uni.hideLoading()
 | 
					        uni.hideLoading()
 | 
				
			||||||
      }).catch(() => {
 | 
					      }).catch(() => {
 | 
				
			||||||
        uni.hideLoading()
 | 
					        uni.hideLoading()
 | 
				
			||||||
@@ -389,16 +347,15 @@ export default {
 | 
				
			|||||||
      if (index > -1) {
 | 
					      if (index > -1) {
 | 
				
			||||||
        this.filed = type
 | 
					        this.filed = type
 | 
				
			||||||
        this.filedIndex = index
 | 
					        this.filedIndex = index
 | 
				
			||||||
        this.component = 'FiledConfig'
 | 
					        let {filed, filedType} = this
 | 
				
			||||||
        this.isShowConfig = true
 | 
					        localStorage.setItem("toFiledConfig", JSON.stringify({index, filed, filedType}))
 | 
				
			||||||
 | 
					      } else {
 | 
				
			||||||
        return false
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        this.filedIndex = ''
 | 
					        this.filedIndex = ''
 | 
				
			||||||
        this.filedType = type
 | 
					        this.filedType = type
 | 
				
			||||||
      this.component = 'FiledConfig'
 | 
					        let {filed, filedType} = this
 | 
				
			||||||
      this.isShowConfig = true
 | 
					        localStorage.setItem("toFiledConfig", JSON.stringify({filed, filedType}))
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      uni.navigateTo({url: `./FiledConfig`})
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    init() {
 | 
					    init() {
 | 
				
			||||||
@@ -1,13 +1,13 @@
 | 
				
			|||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <div class="form">
 | 
					  <div class="form">
 | 
				
			||||||
    <component v-if="refresh" :is="component" @change="onChange" :params="params"/>
 | 
					    <component ref="TabPage" :is="component" @change="onChange" :params="params"/>
 | 
				
			||||||
  </div>
 | 
					  </div>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import Tabbar from './components/Tabbar.vue'
 | 
					import Tabbar from './components/Tabbar.vue'
 | 
				
			||||||
import AddForm from './components/AddForm.vue'
 | 
					import AddForm from './AddForm.vue'
 | 
				
			||||||
import Result from './components/Result.vue'
 | 
					import Result from './Result.vue'
 | 
				
			||||||
import {mapActions} from "vuex";
 | 
					import {mapActions} from "vuex";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
@@ -37,9 +37,8 @@ export default {
 | 
				
			|||||||
  },
 | 
					  },
 | 
				
			||||||
  onShow() {
 | 
					  onShow() {
 | 
				
			||||||
    document.title = "问卷表单"
 | 
					    document.title = "问卷表单"
 | 
				
			||||||
    this.refresh = false
 | 
					    this.$refs.TabPage?.show()
 | 
				
			||||||
    this.$nextTick(() => {
 | 
					    this.$nextTick(() => {
 | 
				
			||||||
      this.refresh = true
 | 
					 | 
				
			||||||
      this.injectJWeixin(['sendChatMessage', 'selectEnterpriseContact', 'shareAppMessage', 'shareWechatMessage']).then(() => {
 | 
					      this.injectJWeixin(['sendChatMessage', 'selectEnterpriseContact', 'shareAppMessage', 'shareWechatMessage']).then(() => {
 | 
				
			||||||
        this.$dict.load(['questionnaireStatus', 'questionnaireType', 'questionnaireFieldType'])
 | 
					        this.$dict.load(['questionnaireStatus', 'questionnaireType', 'questionnaireFieldType'])
 | 
				
			||||||
      })
 | 
					      })
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -142,45 +142,35 @@
 | 
				
			|||||||
</template>
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import {components} from './config'
 | 
					import {components} from './components/config'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  props: ['filed', 'index', 'filedType'],
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  data() {
 | 
					  data() {
 | 
				
			||||||
 | 
					    let params = localStorage.getItem("toFiledConfig")
 | 
				
			||||||
 | 
					    params && (params = JSON.parse(params))
 | 
				
			||||||
 | 
					    localStorage.removeItem("toFiledConfig")
 | 
				
			||||||
    return {
 | 
					    return {
 | 
				
			||||||
 | 
					      ...params,
 | 
				
			||||||
      isShowType: false,
 | 
					      isShowType: false,
 | 
				
			||||||
      isShowAnswer: false,
 | 
					      isShowAnswer: false,
 | 
				
			||||||
      config: {}
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					 | 
				
			||||||
  mounted() {
 | 
					 | 
				
			||||||
    if (this.index !== '') {
 | 
					 | 
				
			||||||
      this.config = this.filed
 | 
					 | 
				
			||||||
      return false
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    console.log(components)
 | 
					 | 
				
			||||||
    this.config = JSON.parse(JSON.stringify(components.filter(v => v.type === this.filedType)[0]))
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  computed: {
 | 
					  computed: {
 | 
				
			||||||
 | 
					    config() {
 | 
				
			||||||
 | 
					      return !!this.index ? this.filed : JSON.parse(JSON.stringify(components.filter(v => v.type === this.filedType)[0]))
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    pointTypeName() {
 | 
					    pointTypeName() {
 | 
				
			||||||
      if (!this.config.pointDict) return ''
 | 
					      if (!this.config.pointDict) return ''
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      return this.config.pointDict.filter(v => v.dictValue === this.config.pointType)[0].dictName
 | 
					      return this.config.pointDict.filter(v => v.dictValue === this.config.pointType)[0].dictName
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					 | 
				
			||||||
    defaultType() {
 | 
					    defaultType() {
 | 
				
			||||||
      if (!this.config.pointType) return [0]
 | 
					      if (!this.config.pointType) return [0]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      return [Number(this.config.pointType)]
 | 
					      return [Number(this.config.pointType)]
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					 | 
				
			||||||
    defaultAnswer() {
 | 
					    defaultAnswer() {
 | 
				
			||||||
      if (!this.config.answer) return [0]
 | 
					      if (!this.config.answer) return [0]
 | 
				
			||||||
 | 
					 | 
				
			||||||
      let index = 0
 | 
					      let index = 0
 | 
				
			||||||
      if (this.config.answer) {
 | 
					      if (this.config.answer) {
 | 
				
			||||||
        this.config.options?.forEach((v, i) => {
 | 
					        this.config.options?.forEach((v, i) => {
 | 
				
			||||||
@@ -193,7 +183,6 @@ export default {
 | 
				
			|||||||
      return [index]
 | 
					      return [index]
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					 | 
				
			||||||
  methods: {
 | 
					  methods: {
 | 
				
			||||||
    answerChange(e) {
 | 
					    answerChange(e) {
 | 
				
			||||||
      this.config.answer = e[0].label
 | 
					      this.config.answer = e[0].label
 | 
				
			||||||
@@ -266,7 +255,7 @@ export default {
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    back() {
 | 
					    back() {
 | 
				
			||||||
      this.$emit('back')
 | 
					      uni.navigateBack({})
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    confirm() {
 | 
					    confirm() {
 | 
				
			||||||
@@ -274,7 +263,6 @@ export default {
 | 
				
			|||||||
        config: this.config,
 | 
					        config: this.config,
 | 
				
			||||||
        index: this.index === '' ? '-1' : this.index
 | 
					        index: this.index === '' ? '-1' : this.index
 | 
				
			||||||
      })
 | 
					      })
 | 
				
			||||||
 | 
					 | 
				
			||||||
      this.back()
 | 
					      this.back()
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -61,15 +61,16 @@
 | 
				
			|||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
 | 
					 | 
				
			||||||
  </div>
 | 
					  </div>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  props: ['formData', 'targetListData'],
 | 
					 | 
				
			||||||
  data() {
 | 
					  data() {
 | 
				
			||||||
 | 
					    let params = localStorage.getItem("toPreviewForm")
 | 
				
			||||||
 | 
					    params && (params = JSON.parse(params))
 | 
				
			||||||
 | 
					    localStorage.removeItem("toPreviewForm")
 | 
				
			||||||
    return {
 | 
					    return {
 | 
				
			||||||
      form: {
 | 
					      form: {
 | 
				
			||||||
        tableExplain: '详细描述',
 | 
					        tableExplain: '详细描述',
 | 
				
			||||||
@@ -95,15 +96,10 @@ export default {
 | 
				
			|||||||
      isShow: false,
 | 
					      isShow: false,
 | 
				
			||||||
      type: 0,
 | 
					      type: 0,
 | 
				
			||||||
      id: '',
 | 
					      id: '',
 | 
				
			||||||
      touchStart: 0
 | 
					      touchStart: 0,
 | 
				
			||||||
 | 
					      ...params
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					 | 
				
			||||||
  mounted() {
 | 
					 | 
				
			||||||
    this.form = this.formData
 | 
					 | 
				
			||||||
    this.targetList = this.targetListData
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  methods: {
 | 
					  methods: {
 | 
				
			||||||
    getInfo(id) {
 | 
					    getInfo(id) {
 | 
				
			||||||
      uni.showLoading()
 | 
					      uni.showLoading()
 | 
				
			||||||
@@ -33,14 +33,16 @@ import {mapActions} from 'vuex'
 | 
				
			|||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: 'Result',
 | 
					  name: 'Result',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  props: ['params'],
 | 
					  computed: {
 | 
				
			||||||
 | 
					    params() {
 | 
				
			||||||
 | 
					      return this.$route.query || {}
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
  mounted() {
 | 
					  mounted() {
 | 
				
			||||||
    this.injectJWeixin(['sendChatMessage', 'selectEnterpriseContact'])
 | 
					    this.injectJWeixin(['sendChatMessage', 'selectEnterpriseContact'])
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  methods: {
 | 
					  methods: {
 | 
				
			||||||
    ...mapActions(['injectJWeixin', 'wxInvoke']),
 | 
					    ...mapActions(['injectJWeixin', 'wxInvoke']),
 | 
				
			||||||
 | 
					 | 
				
			||||||
    copy() {
 | 
					    copy() {
 | 
				
			||||||
      let oInput = document.createElement('input')
 | 
					      let oInput = document.createElement('input')
 | 
				
			||||||
      oInput.value = this.params.linkUrl
 | 
					      oInput.value = this.params.linkUrl
 | 
				
			||||||
@@ -50,7 +52,6 @@ export default {
 | 
				
			|||||||
      this.$u.toast('已复制')
 | 
					      this.$u.toast('已复制')
 | 
				
			||||||
      oInput.remove()
 | 
					      oInput.remove()
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					 | 
				
			||||||
    share() {
 | 
					    share() {
 | 
				
			||||||
      this.injectJWeixin(['shareAppMessage', 'shareWechatMessage']).then(() => {
 | 
					      this.injectJWeixin(['shareAppMessage', 'shareWechatMessage']).then(() => {
 | 
				
			||||||
        this.wxInvoke(['shareAppMessage', {
 | 
					        this.wxInvoke(['shareAppMessage', {
 | 
				
			||||||
@@ -61,7 +62,6 @@ export default {
 | 
				
			|||||||
        }])
 | 
					        }])
 | 
				
			||||||
      })
 | 
					      })
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					 | 
				
			||||||
    shareWechat() {
 | 
					    shareWechat() {
 | 
				
			||||||
      this.injectJWeixin(['shareAppMessage', 'shareWechatMessage']).then(() => {
 | 
					      this.injectJWeixin(['shareAppMessage', 'shareWechatMessage']).then(() => {
 | 
				
			||||||
        this.wxInvoke(['shareWechatMessage', {
 | 
					        this.wxInvoke(['shareWechatMessage', {
 | 
				
			||||||
@@ -72,11 +72,8 @@ export default {
 | 
				
			|||||||
        }])
 | 
					        }])
 | 
				
			||||||
      })
 | 
					      })
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					 | 
				
			||||||
    confirm() {
 | 
					    confirm() {
 | 
				
			||||||
      this.$emit('change', {
 | 
					      uni.navigateBack({})
 | 
				
			||||||
        type: 'Tabbar'
 | 
					 | 
				
			||||||
      })
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  onShow() {
 | 
					  onShow() {
 | 
				
			||||||
@@ -26,6 +26,8 @@
 | 
				
			|||||||
</template>
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
 | 
					import qs from "query-string"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: 'addList',
 | 
					  name: 'addList',
 | 
				
			||||||
  label: '新建项目',
 | 
					  label: '新建项目',
 | 
				
			||||||
@@ -47,30 +49,16 @@ export default {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  mounted() {
 | 
					  created() {
 | 
				
			||||||
    this.getList()
 | 
					    this.getList()
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					 | 
				
			||||||
  methods: {
 | 
					  methods: {
 | 
				
			||||||
    toAdd(type) {
 | 
					    toAdd(type) {
 | 
				
			||||||
      this.$emit('change', {
 | 
					      uni.navigateTo({url: `./AddForm?${qs.stringify({type})}`})
 | 
				
			||||||
        type: 'AddForm',
 | 
					 | 
				
			||||||
        params: {
 | 
					 | 
				
			||||||
          type
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      })
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					 | 
				
			||||||
    quote(id) {
 | 
					    quote(id) {
 | 
				
			||||||
      this.$emit('change', {
 | 
					      uni.navigateTo({url: `./AddForm?${qs.stringify({id, isQuote: 1})}`})
 | 
				
			||||||
        type: 'AddForm',
 | 
					 | 
				
			||||||
        params: {
 | 
					 | 
				
			||||||
          id,
 | 
					 | 
				
			||||||
          isQuote: 1
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      })
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					 | 
				
			||||||
    getList() {
 | 
					    getList() {
 | 
				
			||||||
      this.$http.post(`/app/appquestionnairetemplate/list`, null, {
 | 
					      this.$http.post(`/app/appquestionnairetemplate/list`, null, {
 | 
				
			||||||
        params: {
 | 
					        params: {
 | 
				
			||||||
@@ -79,7 +67,7 @@ export default {
 | 
				
			|||||||
          size: 10000
 | 
					          size: 10000
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      }).then(res => {
 | 
					      }).then(res => {
 | 
				
			||||||
        if (res.code == 0) {
 | 
					        if (res?.code == 0) {
 | 
				
			||||||
          this.list = res.data.records
 | 
					          this.list = res.data.records
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      })
 | 
					      })
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -42,6 +42,14 @@ export default {
 | 
				
			|||||||
  methods: {
 | 
					  methods: {
 | 
				
			||||||
    onChange(e) {
 | 
					    onChange(e) {
 | 
				
			||||||
      this.$emit('change', e)
 | 
					      this.$emit('change', e)
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    show() {
 | 
				
			||||||
 | 
					      if (this.currIndex == 0) {
 | 
				
			||||||
 | 
					        this.currIndex = -1
 | 
				
			||||||
 | 
					        this.$nextTick(() => {
 | 
				
			||||||
 | 
					          this.currIndex = 0
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  onReachBottom() {
 | 
					  onReachBottom() {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -26,7 +26,7 @@
 | 
				
			|||||||
      <img src="./img/build-icon.png" alt=""> 楼栋<br/>列表
 | 
					      <img src="./img/build-icon.png" alt=""> 楼栋<br/>列表
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
    <div class="map-content">
 | 
					    <div class="map-content">
 | 
				
			||||||
      <AiTMap v-if="areaId" :areaId="areaId" :map.sync="map" :lib.sync="lib" :ops="ops"
 | 
					      <AiTMap v-if="user.areaId" :areaId="user.areaId" :map.sync="map" :lib.sync="lib" :ops="ops"
 | 
				
			||||||
              :libraries="['service', 'tools']"/>
 | 
					              :libraries="['service', 'tools']"/>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
    <u-popup v-model="showPop" mode="bottom" border-radius="14">
 | 
					    <u-popup v-model="showPop" mode="bottom" border-radius="14">
 | 
				
			||||||
@@ -48,11 +48,11 @@
 | 
				
			|||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
        <div class="info-flex">
 | 
					        <div class="info-flex">
 | 
				
			||||||
          <span class="label">所属网格</span>
 | 
					          <span class="label">所属网格</span>
 | 
				
			||||||
          <span class="value">{{ detailInfo.community.girdName || '' }}</span>
 | 
					          <span class="value">{{ detailInfo.gird.girdName || '' }}</span>
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
        <div class="info-flex">
 | 
					        <div class="info-flex">
 | 
				
			||||||
          <span class="label">网格管理员</span>
 | 
					          <span class="label">网格管理员</span>
 | 
				
			||||||
          <span class="value">{{ detailInfo.build.girdMemberNames || '' }}</span>
 | 
					          <span class="value">{{ detailInfo.gird.girdMemberNames || '' }}</span>
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
        <div class="info-flex">
 | 
					        <div class="info-flex">
 | 
				
			||||||
          <span class="label">楼栋长</span>
 | 
					          <span class="label">楼栋长</span>
 | 
				
			||||||
@@ -112,7 +112,6 @@ export default {
 | 
				
			|||||||
  data() {
 | 
					  data() {
 | 
				
			||||||
    return {
 | 
					    return {
 | 
				
			||||||
      latLngCenter: {},
 | 
					      latLngCenter: {},
 | 
				
			||||||
      areaId: '',
 | 
					 | 
				
			||||||
      ops: {},
 | 
					      ops: {},
 | 
				
			||||||
      lib: null,
 | 
					      lib: null,
 | 
				
			||||||
      map: null,
 | 
					      map: null,
 | 
				
			||||||
@@ -125,7 +124,8 @@ export default {
 | 
				
			|||||||
      detailInfo: {
 | 
					      detailInfo: {
 | 
				
			||||||
        house: {},
 | 
					        house: {},
 | 
				
			||||||
        build: {},
 | 
					        build: {},
 | 
				
			||||||
        community: {}
 | 
					        community: {},
 | 
				
			||||||
 | 
					        gird: {}
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      showPop: false,
 | 
					      showPop: false,
 | 
				
			||||||
      retryMapCount: 0,
 | 
					      retryMapCount: 0,
 | 
				
			||||||
@@ -135,7 +135,6 @@ export default {
 | 
				
			|||||||
  },
 | 
					  },
 | 
				
			||||||
  computed: {...mapState(['user'])},
 | 
					  computed: {...mapState(['user'])},
 | 
				
			||||||
  mounted() {
 | 
					  mounted() {
 | 
				
			||||||
    this.areaId = this.user.areaId
 | 
					 | 
				
			||||||
    this.getCenterLatLng().then(points => {
 | 
					    this.getCenterLatLng().then(points => {
 | 
				
			||||||
      this.getMarkerCluster(points)
 | 
					      this.getMarkerCluster(points)
 | 
				
			||||||
    })
 | 
					    })
 | 
				
			||||||
@@ -351,7 +350,7 @@ export default {
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
    toDetail(id) {
 | 
					    toDetail(id) {
 | 
				
			||||||
      uni.navigateTo({url: `./detail?id=${id}`})
 | 
					      uni.navigateTo({url: `./detail?id=${id}`})
 | 
				
			||||||
    },
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -17,7 +17,7 @@
 | 
				
			|||||||
      <div class="datass" v-for="(item, iindex) in datas" :key="iindex" @click="toDetailCard(item)">
 | 
					      <div class="datass" v-for="(item, iindex) in datas" :key="iindex" @click="toDetailCard(item)">
 | 
				
			||||||
        <div class="left">
 | 
					        <div class="left">
 | 
				
			||||||
          <img :src="item.photo" alt="" v-if="item.photo" />
 | 
					          <img :src="item.photo" alt="" v-if="item.photo" />
 | 
				
			||||||
          <img src="components/img/4.png" alt="" v-else />
 | 
					          <img src="./components/img/4.png" alt="" v-else />
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <div class="right">
 | 
					        <div class="right">
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -19,7 +19,7 @@
 | 
				
			|||||||
        <div class="card" v-for="(item, i) in data.family" :key="i" @click="toDetailPeople(item)">
 | 
					        <div class="card" v-for="(item, i) in data.family" :key="i" @click="toDetailPeople(item)">
 | 
				
			||||||
          <div class="photos">
 | 
					          <div class="photos">
 | 
				
			||||||
            <img :src="item.photo" alt="" v-if="item.photo" />
 | 
					            <img :src="item.photo" alt="" v-if="item.photo" />
 | 
				
			||||||
            <img src="components/img/44.png" alt="" v-else />
 | 
					            <img src="./components/img/44.png" alt="" v-else />
 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          <div class="right">
 | 
					          <div class="right">
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,7 +3,7 @@
 | 
				
			|||||||
    <div class="top">
 | 
					    <div class="top">
 | 
				
			||||||
      <div class="photos">
 | 
					      <div class="photos">
 | 
				
			||||||
        <img :src="data.resident.photo" alt="" v-if="data.resident && data.resident.photo" />
 | 
					        <img :src="data.resident.photo" alt="" v-if="data.resident && data.resident.photo" />
 | 
				
			||||||
        <img src="components/img/44.png" alt="" v-else />
 | 
					        <img src="./components/img/44.png" alt="" v-else />
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      <div class="right">
 | 
					      <div class="right">
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -44,11 +44,11 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
          <span class="icon">
 | 
					          <span class="icon">
 | 
				
			||||||
            <!-- ing -->
 | 
					            <!-- ing -->
 | 
				
			||||||
            <img src="components/ing.png" alt="" v-if="item.approvalStatus == 0" />
 | 
					            <img src="./components/ing.png" alt="" v-if="item.approvalStatus == 0" />
 | 
				
			||||||
            <!-- end -->
 | 
					            <!-- end -->
 | 
				
			||||||
            <img src="components/end.png" alt="" v-if="item.approvalStatus == 1" />
 | 
					            <img src="./components/end.png" alt="" v-if="item.approvalStatus == 1" />
 | 
				
			||||||
            <!-- false -->
 | 
					            <!-- false -->
 | 
				
			||||||
            <img src="components/reject.png" alt="" v-if="item.approvalStatus == 2" />
 | 
					            <img src="./components/reject.png" alt="" v-if="item.approvalStatus == 2" />
 | 
				
			||||||
          </span>
 | 
					          </span>
 | 
				
			||||||
        </view>
 | 
					        </view>
 | 
				
			||||||
      </u-card>
 | 
					      </u-card>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -40,7 +40,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
          <!-- 已通过 -->
 | 
					          <!-- 已通过 -->
 | 
				
			||||||
          <div class="people_status_agree" v-if="list.approvalStatus == 1">
 | 
					          <div class="people_status_agree" v-if="list.approvalStatus == 1">
 | 
				
			||||||
            <img src="components/people_status_agree.png" alt="" />
 | 
					            <img src="./components/people_status_agree.png" alt="" />
 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          <!-- 被驳回 -->
 | 
					          <!-- 被驳回 -->
 | 
				
			||||||
@@ -120,7 +120,7 @@
 | 
				
			|||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                <div class="avatar" v-else-if="item.title == '抄送'">
 | 
					                <div class="avatar" v-else-if="item.title == '抄送'">
 | 
				
			||||||
                  <img src="components/Profile_Picture.png" alt="" />
 | 
					                  <img src="./components/Profile_Picture.png" alt="" />
 | 
				
			||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                <div class="avatar" v-else>
 | 
					                <div class="avatar" v-else>
 | 
				
			||||||
@@ -128,13 +128,13 @@
 | 
				
			|||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                <div class="icon-yes" v-if="item.stepType == 1 || item.stepType == 0 || item.stepType == 3">
 | 
					                <div class="icon-yes" v-if="item.stepType == 1 || item.stepType == 0 || item.stepType == 3">
 | 
				
			||||||
                  <img src="components/agree.png" alt="" />
 | 
					                  <img src="./components/agree.png" alt="" />
 | 
				
			||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                <div class="" v-else-if="item.stepType == 2"></div>
 | 
					                <div class="" v-else-if="item.stepType == 2"></div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                <div class="icon-no" v-else>
 | 
					                <div class="icon-no" v-else>
 | 
				
			||||||
                  <img src="components/clearn.png" />
 | 
					                  <img src="./components/clearn.png" />
 | 
				
			||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
              </div>
 | 
					              </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user