liujq hace 2 años
padre
commit
7e64bf8939

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
dist/index.html


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
dist/static/css/chunk-2445846f.f76c9301.css


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
dist/static/css/chunk-5cd198d8.11ebf60c.css


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
dist/static/js/app.d3b6743c.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
dist/static/js/app.e473e45c.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
dist/static/js/chunk-2445846f.250aa140.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
dist/static/js/chunk-5cd198d8.2c3f8853.js


+ 3 - 0
src/api/user.js

@@ -124,6 +124,9 @@ export default {
   admreceptbindcustomer: params => { // 排班列表 绑定客户
     return getRequestNoSort('/adm/recept/bind/customer', params, 'loading')
   },
+  admreceptappoint: params => { // 排班列表 指定客户
+    return getRequestNoSort('/adm/recept/appoint', params, 'loading')
+  },
   admestatepricepush: params => { // 推送消息 历史价格更新
     return getRequestNoSort('/adm/estate/price/push', params, 'loading')
   },

+ 98 - 0
src/views/cust/components/popup/AppPoint.vue

@@ -0,0 +1,98 @@
+<template>
+  <div>
+    <el-dialog
+      v-loading="loading"
+      :show-close="false"
+      :close-on-click-modal="false"
+      :visible.sync="isShow"
+      :title="curObj.id ? '编辑排班轮值人员' : '新增排班轮值人员'"
+      :fullscreen="false"
+      width="700px"
+      custom-class="xl-dialog"
+      center
+    >
+      <base-form ref="ruleForm" class="lib-edit" :data="formData" :is-inline="false" label-width="110px">
+        <div slot="footer" style="padding-top: 20px;">
+          <el-button class="xl-form-btn t2" @click="close">关 闭</el-button>
+          <el-button class="xl-form-btn t1" @click="close('confirm')">确定</el-button>
+        </div>
+      </base-form>
+    </el-dialog>
+  </div>
+</template>
+<script>
+
+export default {
+  components: { },
+  mixins,
+  props: {
+    isShow: Boolean,
+    curObj: Object
+  },
+  inject: ['parentData'],
+  data() {
+    return {
+      formData: [],
+      loading: true,
+      cObj: {},
+      isShowMap: false
+    }
+  },
+  watch: {
+    isShow: function(val) {
+      if (val) {
+        this.getDef()
+      }
+    },
+  },
+  methods: {
+    getDef() {
+      let disabled = false
+      if (this.curObj.id) disabled = true
+      this.formData = [
+        { label: '排班指定', key: 'sale_id', type: 'selectRemote', rules: 1, 
+          remoteParams: { skey: 'sale_name', api: `user.admreceptsalelist?store_type=hqc1`, opKey: 'sale_name', opVal: 'id' },
+        },
+        { label: '排班时间', key: 'recept_time', rules: 1, type: 'datePicker', type2: 'date' },
+        { label: '备注', key: 'remark', type: 'textarea', rules: 1 },
+      ]
+      this.setDefaultValue(this.curObj)
+    },
+    close(str) {
+      if (str === 'confirm') {
+        this.$refs['ruleForm'].$refs['baseForm'].validate((valid) => {
+          if (valid) {
+            const oldform = this.$refs.ruleForm.baseForm
+            const newForm = { ...oldform }
+            if (this.curObj.id) {
+              newForm.id = this.curObj.id
+            }
+            let apiStr = 'admreceptappoint'
+            // newForm.question_tag = newForm.question_tag.join(',')
+            if (newForm.id) apiStr = 'admreceptappoint'
+            this.$api.user[apiStr](newForm).then(data => {
+              this.$msgs(newForm.id ? '编辑成功' : '新增成功')
+              this.$emit('close', newForm)
+            })
+          }
+        })
+      } else {
+        this.$emit('close')
+        this.setDefaultValue()
+      }
+    }
+  }
+}
+</script>
+<style lang="scss" scoped>
+@import '../../../../styles/libEdit.scss';
+.lib-edit {
+  padding-top: 0;
+  ::v-deep .el-form-item {
+    margin-bottom: 10px;
+  }
+  ::v-deep .el-date-editor.el-input {
+    width: 100%;
+  }
+}
+</style>

+ 4 - 4
src/views/cust/components/popup/IndexEdit.vue

@@ -64,13 +64,13 @@ export default {
       this.formData = [
         { label: '姓名', key: 'name', class: 'c-2', rules: 1 },
         { label: '电话', key: 'phone', class: 'c-2', rules: 1 },
-        { label: '意向等级', key: 'purpose_level', rules: 1, type: 'select', options: this.$dictData.purpose_level },
-        { label: '客户信息', label2: '首付-月供-职业-收入-家庭情况-年龄-名下房源等', key: 'user_info', type: 'textarea' },
-        { label: '购房需求', label2: '学区-改善-刚需-地铁-看江-养老等', key: 'demand', type: 'textarea' },
-        { label: '意向楼盘', key: 'estate_id', type: 'selectRemote', multiple: true, changeHandle: this.estateChange,
+        { label: '意向等级', key: 'purpose_level', class: 'c-2', rules: 1, type: 'select', options: this.$dictData.purpose_level },
+        { label: '意向楼盘', key: 'estate_id', type: 'selectRemote', class: 'c-2', multiple: true, changeHandle: this.estateChange,
           remoteParams: { skey: 'estate_name', api: `house.admestatelist`, opKey: 'estate_name', opVal: 'id' },
           remoteOptions: remoteEstateOptions,
         },
+        { label: '客户信息', label2: '首付-月供-职业-收入-家庭情况-年龄-名下房源等', key: 'user_info', type: 'textarea' },
+        { label: '购房需求', label2: '学区-改善-刚需-地铁-看江-养老等', key: 'demand', type: 'textarea' },
         { label: '后续备注', label2: '客户后续相关备注,是否购买?佣金,或者其它', key: 'purchased', type: 'textarea' },
       ]
       this.setDefaultValue(params)

+ 2 - 0
src/views/cust/components/searchForm/Index.vue

@@ -1,10 +1,12 @@
 <template>
+  <header-collapse>
   <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-plus" class="xl-form-btn bgc2" @click="addHandle">添加客户</el-button>
     </div>
   </base-form>
+  </header-collapse>
 </template>
 <script>
 export default {

+ 4 - 0
src/views/cust/components/searchForm/Lineup.vue

@@ -2,6 +2,7 @@
   <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-plus" class="xl-form-btn bgc2" @click="addHandle">新增指派客户</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>
@@ -23,6 +24,9 @@ export default {
     this.getDef()
   },
   methods: {
+    addHandle () {
+      this.parentData.openPointPopup()
+    },
     searchHandle() {
       const oldform = this.$refs.ruleForm.baseForm
       const newForm = { ...oldform }

+ 23 - 1
src/views/cust/lineup.vue

@@ -20,18 +20,25 @@
       :curObj="curObj"
       @close="closePopup"
     />
+    <app-point
+      :isShow="isPointShow"
+      :curObj="curObj"
+      @close="closePointPopup"
+    />
   </div>
 </template>
 <script>
 import { arrToObj } from '@/utils'
 import SearchForm from './components/searchForm/Lineup'
 import PopupEdit from './components/popup/LineupEdit'
+import AppPoint from './components/popup/AppPoint'
 import baseTable from '_m/baseTable.js'
 export default {
   name: 'index',
   components: {
     SearchForm,
     PopupEdit,
+    AppPoint,
   },
   provide() {
     return {
@@ -46,6 +53,7 @@ export default {
       isDtlShow: false,
       curObj: {},
       noCreated: true,
+      isPointShow: false,
     }
   },
   computed: {
@@ -68,7 +76,7 @@ export default {
         { label: '最新轮值', prop: 'recept_create_at' },
         { label: '轮值总次数', prop: 'recept_count' },
         { label: '置业经理', prop: 'sale_name' },
-        { label: '头像', prop: 'sale_avatar', type: 'img' },
+        // { label: '头像', prop: 'sale_avatar', type: 'img' },
         { label: '门店', prop: 'store_type', type: 'flag', flags: arrToObj(this.$dictData.store_type	) },
         { label: '分类', prop: 'sale_type', type: 'flag', flags: arrToObj(this.$dictData.sale_type	) },
         { label: '操作', width: 90, type: 'handle2', operations:
@@ -93,6 +101,20 @@ export default {
         })
       }, null, true)
     },
+    openPointPopup(row) {
+      if (row && row.id) {
+        this.curObj = row
+      } else {
+        this.curObj = {}
+      }
+      this.isPointShow = true
+    },
+    closePointPopup(obj) {
+      this.isPointShow = false
+      if (obj) {
+        this.fetchData()
+      }
+    },
     openPopup(row) {
       if (row && row.id) {
         this.curObj = row

Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio