Browse Source

temp save

liujq 4 years ago
parent
commit
dc7f603603

File diff suppressed because it is too large
+ 0 - 0
dist/index.html


File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.3229a8f5.css


File diff suppressed because it is too large
+ 0 - 0
dist/static/css/chunk-0be11550.6a67fd27.css


+ 1 - 1
dist/static/css/chunk-6c36ef46.91cba178.css → dist/static/css/chunk-2ad0f472.777012c5.css

@@ -1 +1 @@
-@supports(-webkit-mask:none) and (not (cater-color:#fff)){.login-container .el-input input{color:#fff}}.login-container .el-input{display:inline-block;height:47px;width:85%}.login-container .el-input input{background:transparent;border:0;-webkit-appearance:none;border-radius:0;padding:12px 5px 12px 15px;color:#fff;height:47px;caret-color:#fff}.login-container .el-input input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #283443 inset!important;box-shadow:inset 0 0 0 1000px #283443!important;-webkit-text-fill-color:#fff!important}.login-container .el-form-item{border:1px solid hsla(0,0%,100%,.1);background:rgba(0,0,0,.1);border-radius:5px;color:#454545}.login-container[data-v-eea6f982]{min-height:100%;width:100%;background-color:#2d3a4b;overflow:hidden}.login-container .login-form[data-v-eea6f982]{position:relative;width:520px;max-width:100%;padding:160px 35px 0;margin:0 auto;overflow:hidden}.login-container .tips[data-v-eea6f982]{font-size:14px;color:#fff;margin-bottom:10px}.login-container .tips span[data-v-eea6f982]:first-of-type{margin-right:16px}.login-container .svg-container[data-v-eea6f982]{padding:6px 5px 6px 15px;color:#889aa4;vertical-align:middle;width:30px;display:inline-block}.login-container .title-container[data-v-eea6f982]{position:relative}.login-container .title-container .title[data-v-eea6f982]{font-size:26px;color:#eee;margin:0 auto 40px auto;text-align:center;font-weight:700}.login-container .show-pwd[data-v-eea6f982]{position:absolute;right:10px;top:7px;font-size:16px;color:#889aa4;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
+@supports(-webkit-mask:none) and (not (cater-color:#fff)){.login-container .el-input input{color:#fff}}.login-container .el-input{display:inline-block;height:47px;width:85%}.login-container .el-input input{background:transparent;border:0;-webkit-appearance:none;border-radius:0;padding:12px 5px 12px 15px;color:#fff;height:47px;caret-color:#fff}.login-container .el-input input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #283443 inset!important;box-shadow:inset 0 0 0 1000px #283443!important;-webkit-text-fill-color:#fff!important}.login-container .el-form-item{border:1px solid hsla(0,0%,100%,.1);background:rgba(0,0,0,.1);border-radius:5px;color:#454545}.login-container[data-v-77b91eac]{min-height:100%;width:100%;background-color:#2d3a4b;overflow:hidden}.login-container .login-form[data-v-77b91eac]{position:relative;width:520px;max-width:100%;padding:160px 35px 0;margin:0 auto;overflow:hidden}.login-container .tips[data-v-77b91eac]{font-size:14px;color:#fff;margin-bottom:10px}.login-container .tips span[data-v-77b91eac]:first-of-type{margin-right:16px}.login-container .svg-container[data-v-77b91eac]{padding:6px 5px 6px 15px;color:#889aa4;vertical-align:middle;width:30px;display:inline-block}.login-container .title-container[data-v-77b91eac]{position:relative}.login-container .title-container .title[data-v-77b91eac]{font-size:26px;color:#eee;margin:0 auto 40px auto;text-align:center;font-weight:700}.login-container .show-pwd[data-v-77b91eac]{position:absolute;right:10px;top:7px;font-size:16px;color:#889aa4;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}

File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.8419b4a4.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.d65d1626.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-0be11550.5f242f5a.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-2718277e.9442b934.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-2ad0f472.71f4c440.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-6c36ef46.7e2f547c.js


+ 6 - 0
src/api/other.js

@@ -34,4 +34,10 @@ export default {
   admqadetail: params => { // qa - 详情
     return getRequestNoSort('/adm/qa/detail', params, 'loading')
   },
+  planlist: params => { // 获客意向收集
+    return getRequest('/adm/plan/list', params)
+  },
+  plandel: params => { // 获客意向收集 删除
+    return getRequest('/adm/plan/del', params)
+  },
 }

+ 3 - 3
src/components/Common/TableList.vue

@@ -117,13 +117,13 @@
                 </el-tag>
               </template>
               <template v-else>
-                <el-tag v-if="scope.row[column.prop] === 0" size="mini" type="primary">
+                <el-tag v-if="scope.row[column.prop] === '0'" size="mini" type="primary">
                   {{ column.tags[scope.row[column.prop]] }}
                 </el-tag>
-                <el-tag v-else-if="scope.row[column.prop] === 1" size="mini" type="success">
+                <el-tag v-else-if="scope.row[column.prop] === '1'" size="mini" type="success">
                   {{ column.tags[scope.row[column.prop]] }}
                 </el-tag>
-                <el-tag v-else-if="scope.row[column.prop] === 2" size="mini" type="danger">
+                <el-tag v-else-if="scope.row[column.prop] === '2'" size="mini" type="danger">
                   {{ column.tags[scope.row[column.prop]] }}
                 </el-tag>
                 <el-tag v-else size="mini">

+ 32 - 0
src/views/plan/components/searchForm/Index.vue

@@ -0,0 +1,32 @@
+<template>
+  <base-form slot="content" ref="ruleForm" :data="searchData">
+    <div slot="footer">
+      <el-button :loading="listLoading" icon="el-icon-search" class="xl-form-btn bgc1" @click="searchHandle">查询</el-button>
+      <!-- <el-button :loading="listLoading" icon="el-icon-document" class="xl-form-btn bgc2" @click="toExportExcel">导出{{ this.$route.meta.title }}信息</el-button> -->
+    </div>
+  </base-form>
+</template>
+<script>
+export default {
+  props: {
+    listLoading: Boolean
+  },
+  inject: ['parentData'],
+  data() {
+    return {
+      searchData: [
+        { label: '意向楼盘', key: 'estate_id', type: 'selectRemote',
+          remoteParams: { skey: 'estate_name', api: `house.admestatelist`, opKey: 'estate_name', opVal: 'id' }
+        },
+      ]
+    }
+  },
+  methods: {
+    searchHandle() {
+      const oldform = this.$refs.ruleForm.baseForm
+      const newForm = { ...oldform }
+      this.$emit('change', newForm)
+    }
+  }
+}
+</script>

+ 115 - 0
src/views/plan/index.vue

@@ -0,0 +1,115 @@
+<template>
+  <div class="app-container">
+    <search-form
+      :list-loading="listLoading"
+      @change="searchHandle"
+    />
+    <table-list
+      :list-loading="listLoading"
+      :data="tableData2"
+      :columns="listConfig"
+      :current-page="currentPage"
+      :page-size="pageSize"
+      :total-records="totalRecords"
+      @currentChange="pageHandle"
+    >
+    </table-list>
+  </div>
+</template>
+<script>
+import { arrToObj } from '@/utils'
+import SearchForm from './components/searchForm/Index'
+import baseTable from '_m/baseTable.js'
+export default {
+  name: 'index',
+  components: {
+    SearchForm,
+  },
+  provide() {
+    return {
+      parentData: this
+    }
+  },
+  mixins: [baseTable],
+  data() {
+    return {
+      apiStr: 'other.planlist',
+      searchForm: null,
+      isDtlShow: false,
+      curObj: {}
+    }
+  },
+  computed: {
+    tableData2() {
+      const arr = [...this.tableData]
+      arr.map(item => {
+        const userInfo = item.userinfo
+        if (userInfo) {
+          const UI = JSON.parse(userInfo)
+          item.wxName = `${UI.nickName}(${UI.phone})`
+          item.wxImg = UI.avatarUrl
+        }
+        const atObj = arrToObj(this.$dictData.area_type)
+        const area_type = item.area_type ? item.area_type.split(',') : []
+        const areaTypeArr = area_type.map(v => {
+          return atObj[v]
+        })
+        item.areaType = areaTypeArr.join(',')
+
+        const htObj = arrToObj(this.$dictData.house_type)
+        const house_type = item.house_type ? item.house_type.split(',') : []
+        const houseTypeArr = house_type.map(v => {
+          return htObj[v]
+        })
+        item.houseType = houseTypeArr.join(',')
+      })
+      return arr
+    }
+  },
+  created() {},
+  mounted() {
+    this.listConfig = {
+      rows: [
+        { label: '意向楼盘', prop: 'estate_name' },
+        { label: '微信昵称(手机)', prop: 'wxName', fullShow: true },
+        { label: '微信头像', prop: 'wxImg', type: 'img' },
+        { label: '用户名称', prop: 'name' },
+        { label: '手机号', prop: 'phone' },
+        { label: '首付款(万)', prop: 'sfk' },
+        { label: '月供预算(元)', prop: 'ygys' },
+        { label: '总价预算(万)', prop: 'zjys' },
+        { label: '意向区域', prop: 'areaType', fullShow: true, minWidth: 120  }, 
+        { label: '意向房型', prop: 'houseType', fullShow: true, minWidth: 120 },
+        { label: '限购', prop: 'xg', type: 'tag', tags: arrToObj(this.$dictData.sys_yesno) }, 
+        { label: '学区', prop: 'mxzb', type: 'tag', tags: arrToObj(this.$dictData.sys_yesno) },
+        { label: '公积金', prop: 'gjj', type: 'tag', tags: arrToObj(this.$dictData.sys_yesno) },
+        { label: '精装', prop: 'mpjz', type: 'tag', tags: arrToObj(this.$dictData.sys_yesno) },
+        { label: '新房', prop: 'xf', type: 'tag', tags: arrToObj(this.$dictData.sys_yesno) },
+        { label: '交房时间', prop: 'jfsj' },
+        { label: '周边配套', prop: 'zbpt' },
+        { label: '备注', prop: 'remark' },
+        { label: '操作', width: 60, type: 'handle2', operations:
+          [
+            { label: '删除', func: this.delHandle, btnType: 'danger' },
+          ]
+        }
+      ]
+    }
+  },
+  methods: {
+    delHandle(row) {
+      this.$msg(`您确定要删除该文章吗?`, 'confirm', () => {
+        this.$api.other.plandel({
+          id: row.id,
+        }).then(data => {
+          this.$msgs(`已删除!`)
+          this.fetchData()
+        })
+      }, null, true)
+    },
+  }
+}
+</script>
+<style lang="scss" scoped>
+</style>
+

Some files were not shown because too many files changed in this diff