Просмотр исходного кода

客户数据、项目数据、组织架构调整

qymljy 2 лет назад
Родитель
Сommit
d235fb28d5

+ 5 - 5
src/HDrpManagement/customerData/index.vue

@@ -223,7 +223,7 @@
                     </div>
                   </div>
                 </div>
-                <div class="panel-content">
+                <div class="panel-content" :style="windowWidth<1611?'height:calc(100% - 99px)':'height:calc(100% - 53px)'">
                   <div ref="customerTypeEl" :style="windowWidth<1505?'width:54%':windowWidth<1805?'width:54%':windowWidth<2500?'width:45%':'width:30%'"></div>
                   <div class="panel-table" :style="windowWidth<1505?'width:46%':windowWidth<1805?'width:46%':windowWidth<2500?'width:55%':'width:70%'">
                     <pageTable
@@ -346,7 +346,7 @@
                     </div>
                   </div>
                 </div>
-                <div class="panel-content">
+                <div class="panel-content" :style="windowWidth<1611?'height:calc(100% - 99px)':'height:calc(100% - 53px)'">
                   <div ref="customerGradEl" :style="windowWidth<1505?'width:54%':windowWidth<1805?'width:54%':windowWidth<2500?'width:45%':'width:30%'"></div>
                   <div class="panel-table" :style="windowWidth<1505?'width:46%':windowWidth<1805?'width:46%':windowWidth<2500?'width:55%':'width:70%'">
                     <pageTable
@@ -466,7 +466,7 @@
                     </div>
                   </div>
                 </div>
-                <div class="panel-content">
+                <div class="panel-content" :style="windowWidth<1611?'height:calc(100% - 99px)':'height:calc(100% - 53px)'">
                   <div ref="customerContactEl" :style="windowWidth<1505?'width:54%':windowWidth<1805?'width:54%':windowWidth<2500?'width:45%':'width:30%'"></div>
                   <div class="panel-table" :style="windowWidth<1505?'width:46%':windowWidth<1805?'width:46%':windowWidth<2500?'width:55%':'width:70%'">
                     <pageTable
@@ -586,7 +586,7 @@
                     </div>
                   </div>
                 </div>
-                <div class="panel-content">
+                <div class="panel-content" :style="windowWidth<1611?'height:calc(100% - 99px)':'height:calc(100% - 53px)'">
                   <div ref="customerProjectEl" :style="windowWidth<1505?'width:54%':windowWidth<1805?'width:54%':windowWidth<2500?'width:45%':'width:30%'"></div>
                   <div class="panel-table" :style="windowWidth<1505?'width:46%':windowWidth<1805?'width:46%':windowWidth<2500?'width:55%':'width:70%'">
                     <pageTable
@@ -706,7 +706,7 @@
                     </div>
                   </div>
                 </div>
-                <div class="panel-content">
+                <div class="panel-content" :style="windowWidth<1611?'height:calc(100% - 99px)':'height:calc(100% - 53px)'">
                   <div ref="customerFllowEl" :style="windowWidth<1505?'width:54%':windowWidth<1805?'width:54%':windowWidth<2500?'width:45%':'width:30%'"></div>
                   <div class="panel-table" :style="windowWidth<1505?'width:46%':windowWidth<1805?'width:46%':windowWidth<2500?'width:55%':'width:70%'">
                     <pageTable

+ 6 - 6
src/HDrpManagement/projectData/index.vue

@@ -180,7 +180,7 @@
                     </div>
                   </div>
                 </div>
-                <div class="panel-content">
+                <div class="panel-content" :style="windowWidth<1611?'height:calc(100% - 99px)':'height:calc(100% - 53px)'">
                   <div ref="typeEl" :style="windowWidth<1505?'width:54%':windowWidth<1805?'width:54%':windowWidth<2500?'width:45%':'width:30%'"></div>
 <!--                  <div ref="typeEl" style="width:30%"></div>-->
                   <div class="panel-table" :style="windowWidth<1505?'width:46%':windowWidth<1805?'width:46%':windowWidth<2500?'width:55%':'width:70%'">
@@ -310,7 +310,7 @@
                     </div>
                   </div>
                 </div>
-                <div class="panel-content">
+                <div class="panel-content" :style="windowWidth<1611?'height:calc(100% - 99px)':'height:calc(100% - 53px)'">
                   <div ref="gradEl" :style="windowWidth<1505?'width:54%':windowWidth<1805?'width:54%':windowWidth<2500?'width:45%':'width:30%'"></div>
                   <div class="panel-table" :style="windowWidth<1505?'width:46%':windowWidth<1805?'width:46%':windowWidth<2500?'width:55%':'width:70%'">
                     <pageTable
@@ -776,7 +776,7 @@
                     </div>
                   </div>
                 </div>
-                <div class="panel-content">
+                <div class="panel-content" :style="windowWidth<1611?'height:calc(100% - 99px)':'height:calc(100% - 53px)'">
                   <div ref="projectFllowEl" :style="windowWidth<1505?'width:54%':windowWidth<1805?'width:54%':windowWidth<2500?'width:45%':'width:30%'"></div>
                   <div class="panel-table" :style="windowWidth<1505?'width:46%':windowWidth<1805?'width:46%':windowWidth<2500?'width:55%':'width:70%'">
                     <pageTable
@@ -904,7 +904,7 @@
                     </div>
                   </div>
                 </div>
-                <div class="panel-content">
+                <div class="panel-content" :style="windowWidth<1611?'height:calc(100% - 99px)':'height:calc(100% - 53px)'">
                   <div ref="projectContactEl" :style="windowWidth<1505?'width:54%':windowWidth<1805?'width:54%':windowWidth<2500?'width:45%':'width:30%'"></div>
                   <div class="panel-table" :style="windowWidth<1505?'width:46%':windowWidth<1805?'width:46%':windowWidth<2500?'width:55%':'width:70%'">
                     <pageTable
@@ -1032,7 +1032,7 @@
                     </div>
                   </div>
                 </div>
-                <div class="panel-content">
+                <div class="panel-content" :style="windowWidth<1611?'height:calc(100% - 99px)':'height:calc(100% - 53px)'">
                   <div ref="projectCustomerEl" :style="windowWidth<1505?'width:54%':windowWidth<1805?'width:54%':windowWidth<2500?'width:45%':'width:30%'"></div>
                   <div class="panel-table" :style="windowWidth<1505?'width:46%':windowWidth<1805?'width:46%':windowWidth<2500?'width:55%':'width:70%'">
                     <pageTable
@@ -1160,7 +1160,7 @@
                     </div>
                   </div>
                 </div>
-                <div class="panel-content">
+                <div class="panel-content" :style="windowWidth<1611?'height:calc(100% - 99px)':'height:calc(100% - 53px)'">
                   <div ref="projectScoreEl" :style="windowWidth<1505?'width:54%':windowWidth<1805?'width:54%':windowWidth<2500?'width:45%':'width:30%'"></div>
                   <div class="panel-table" :style="windowWidth<1505?'width:46%':windowWidth<1805?'width:46%':windowWidth<2500?'width:55%':'width:70%'">
                     <pageTable

+ 16 - 2
src/HManagement/department/staff/detail/index.vue

@@ -38,7 +38,7 @@ export default {
   data() {
     return {
       mainData:{},
-      mainAreaData:{}
+      mainAreaData:{},
     }
   },
   components:{
@@ -57,6 +57,16 @@ export default {
         }
       })
       this.mainData = res.data
+      let tradefield = ''
+      this.mainData.tradefield.forEach((item,index)=>{
+        if (index === this.mainData.tradefield.length -1){
+          tradefield = tradefield + item
+        }else {
+          tradefield = tradefield + item + ','
+        }
+
+      })
+      this.mainData.tradefield = tradefield
       this.$refs['details'].param.content.containssub = 1
       this.$refs['details'].param.content.departmentids = [this.$route.query.depid]
       this.changeDataStructure()
@@ -112,6 +122,10 @@ export default {
           value:this.mainData.issalehr === 1?'是':'否'
         },
         {
+          label:'报备领域',
+          value:this.mainData.tradefield
+        },
+        /*{
           label:'营销区域',
           value:this.mainData.areaname
         },
@@ -122,7 +136,7 @@ export default {
         {
           label:'是否可编辑订单价格',
           value:this.mainData.iseditprice === 1?'是':'否'
-        }
+        }*/
       ]
     },
     // 监听切换数据,上一页,下一页

+ 3 - 2
src/HManagement/department/staff/detail/modules/main.vue

@@ -12,7 +12,8 @@
           <el-descriptions-item label-class-name="my-label" content-class-name="my-content" label="登录账号">{{mainInfo.accountno?mainInfo.accountno:'--'}}</el-descriptions-item>
           <el-descriptions-item label-class-name="my-label" content-class-name="my-content" label="账号名称">{{mainInfo.username?mainInfo.username:'--'}}</el-descriptions-item>
           <el-descriptions-item label-class-name="my-label" content-class-name="my-content" label="账号类型">{{mainInfo.usertypename?mainInfo.usertypename:'--'}}</el-descriptions-item>
-          <el-descriptions-item label-class-name="my-label" content-class-name="my-content" label="授权角色">{{mainInfo.userrole?mainInfo.userrole.map(item => item.remarks).join(','):''}}</el-descriptions-item>
+          <el-descriptions-item label-class-name="my-label" content-class-name="my-content" label="授权角色">{{mainInfo.userrole?mainInfo.userrole.map(item => item.remarks).join(','):'--'}}</el-descriptions-item>
+        <el-descriptions-item label-class-name="my-label" content-class-name="my-content" label="报备领域">{{mainInfo.tradefield?mainInfo.tradefield:'--'}}</el-descriptions-item>
 <!--          <el-descriptions-item label-class-name="my-label-layout" content-class-name="my-content" label="账号密码">
             <div class="flex-align-center flex-between">
               *******
@@ -52,4 +53,4 @@ export default {
 </script>
 <style>
 .user-panel .el-descriptions__title{width: 100%;}
-</style>
+</style>

+ 124 - 62
src/HManagement/department/staff/list/modules/add.vue

@@ -2,16 +2,16 @@
 <div>
   <el-button type="primary" size="small" icon="el-icon-plus" @click="onShow">新建员工</el-button>
   <el-drawer title="新建员工" direction="rtl" append-to-body :visible.sync="dialogFormVisible" size="800px" @close="onClose" :show-close="false">
-    <div class="drawer__panel">
+    <div class="drawer__panel" style="margin-bottom: 0 !important;">
       <el-row :gutter="20">
         <el-form :model="form" size="small" :rules="rules" ref="form" label-position="right" label-width="100px">
           <el-row>
-            <el-col class="mb-30" :span="12">
+            <el-col  :span="24">
               <el-form-item label="编号:" prop="hrcode">
                 <el-input v-model="form.hrcode" placeholder="输入人员编号" autocomplete="off"></el-input>
               </el-form-item>
             </el-col>
-            <el-col class="mb-30" :span="12">
+            <el-col  :span="24">
               <el-form-item label="性别">
                 <el-select v-model="form.sex" style="width:100%" placeholder="请选择">
                   <el-option
@@ -23,27 +23,27 @@
                 </el-select>
               </el-form-item>
             </el-col>
-            <el-col class="mb-30" :span="12">
+            <el-col  :span="24">
               <el-form-item label="姓名:" prop="name">
                 <el-input v-model="form.name" placeholder="输入姓名" autocomplete="off"></el-input>
               </el-form-item>
             </el-col>
-            <el-col class="mb-30" :span="12">
+            <el-col  :span="24">
               <el-form-item label="电子邮箱:" prop="email">
                 <el-input v-model="form.email" placeholder="输入电子邮箱" autocomplete="off"></el-input>
               </el-form-item>
             </el-col>
-  <!--          <el-col class="mb-30" :span="12">
+  <!--          <el-col  :span="12">
               <el-form-item label="手机号码:" prop="phonenumber">
                 <el-input v-model="form.phonenumber" placeholder="输入手机号码" autocomplete="off"></el-input>
               </el-form-item>
             </el-col>-->
-            <el-col class="mb-30" :span="12">
+            <el-col  :span="24">
               <el-form-item label="身份证号:">
                 <el-input v-model="form.idcard" placeholder="输入身份证号" autocomplete="off"></el-input>
               </el-form-item>
             </el-col>
-            <el-col class="mb-30" :span="12">
+            <el-col  :span="24">
               <el-form-item label="部门:" prop="depname">
                 <el-popover
                   placement="bottom"
@@ -70,23 +70,23 @@
                 </el-popover>
               </el-form-item>
             </el-col>
-            <el-col class="mb-30" :span="12">
+            <el-col  :span="24">
               <el-form-item label="办公电话:">
                 <el-input v-model="form.officetelephone" placeholder="输入办公电话" autocomplete="off"></el-input>
               </el-form-item>
             </el-col>
 
-            <el-col class="mb-30" :span="12">
+            <el-col  :span="24">
               <el-form-item label="职位:">
                 <el-input v-model="form.position" placeholder="输入职位" autocomplete="off"></el-input>
               </el-form-item>
             </el-col>
-            <el-col class="mb-30" :span="12">
+            <el-col  :span="24">
               <el-form-item label="汇报对象:">
                 <selectMenber @selectMenber="selectMenber"></selectMenber>
               </el-form-item>
             </el-col>
-            <el-col :span="12" >
+            <el-col :span="24" >
               <el-form-item label="状态:">
                 <el-radio-group v-model="form.status">
                   <el-radio :label="0">在职</el-radio>
@@ -94,47 +94,81 @@
                 </el-radio-group>
               </el-form-item>
             </el-col>
+            <el-col  :span="24">
+              <el-form-item label="报备领域" prop="tradefield">
+                <el-select v-model="form.tradefield" style="width:100%" placeholder="请选择报备领域" multiple clearable>
+                  <el-option
+                      v-for="item in tradefields"
+                      :key="item.index"
+                      :label="item.value"
+                      :value="item.value">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
           </el-row>
           <el-row>
-            <el-col class="mb-30" :span="5" style="height:51px">
+            <el-col  :span="5" style="height:51px">
               <el-form-item>
                 <el-checkbox v-model="form.isleader" :false-label="0" :true-label="1">是否部门负责人</el-checkbox>
               </el-form-item>
             </el-col>
-            <el-col class="mb-30" :span="5">
+            <el-col  :span="5">
               <el-form-item>
                 <el-checkbox v-model="form.isworker" :false-label="0" :true-label="1">是否服务人员</el-checkbox>
               </el-form-item>
             </el-col>
 
-            <el-col class="mb-30" :span="5">
+            <el-col  :span="5">
               <el-form-item>
                 <el-checkbox v-model="form.isuppictured" :false-label="0" :true-label="1">是否上图员</el-checkbox>
               </el-form-item>
             </el-col>
-            <el-col class="mb-30" :span="5">
+            <el-col  :span="5">
               <el-form-item>
                 <el-checkbox v-model="form.issalehr" :false-label="0" :true-label="1" @change="salerChange">是否业务员</el-checkbox>
               </el-form-item>
             </el-col>
           </el-row>
-          <el-row>
-            <el-col class="mb-30" :span="12" v-if="form.issalehr == '1'">
+          <el-row v-if="form.issalehr == '1'">
+            <el-col :span="24">
+              <el-form-item label="业务员" style="font-weight: bold">
+                <addSalers :name="form.name" @salerInfo="salerInfo"></addSalers>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row v-if="form.issalehr == '1'">
+            <el-col :span="23" :offset="1">
+              <tableNewLayout :layout="tablecols" :data="salerList" :opwidth="200" height="calc(100vh - 820px)" :width="true" :custom="true" fixedName="operation">
+                <template v-slot:customcol="scope">
+                  <p v-if="scope.column.columnname == 'iseditprice '">
+                    {{scope.column.data.iseditprice == '1' ? '是':'否' }}
+                  </p>
+                  <p v-else>{{scope.column.data[scope.column.columnname]}}</p>
+                </template>
+                <template v-slot:opreation="scope">
+                  <el-button type="text" @click="delArea(scope.data)">删 除</el-button>
+                </template>
+              </tableNewLayout>
+            </el-col>
+          </el-row>
+<!--          <el-row>
+            <el-col  :span="24" v-if="form.issalehr == '1'">
               <el-form-item label="营销区域:">
                 <areaList :areaname="form.areaname" @selectArea="selectArea" @areaList="areaLists" ref="area"></areaList>
               </el-form-item>
             </el-col>
-            <el-col class="mb-30" :span="12" v-if="form.issalehr == '1'">
+            <el-col  :span="24" v-if="form.issalehr == '1'">
               <el-form-item label="最低授权折扣(%):" prop="discountrate" label-width="132px">
                 <el-input v-model="form.discountrate" placeholder="输入最低授权折扣" autocomplete="off" @change="discountrateChange(form.discountrate)"></el-input>
               </el-form-item>
             </el-col>
-            <el-col class="mb-30" :span="5" v-if="form.issalehr == '1'">
+            <el-col  :span="5" v-if="form.issalehr == '1'">
               <el-form-item>
                 <el-checkbox v-model="form.iseditprice" :false-label="0" :true-label="1">是否可编辑订单价格</el-checkbox>
               </el-form-item>
             </el-col>
-          </el-row>
+          </el-row>-->
         </el-form>
       </el-row>
     </div>
@@ -143,36 +177,6 @@
       <el-button size="small" type="primary" @click="onSubmit" :loading="loading" class="normal-btn-width">确 定</el-button>
     </div>
   </el-drawer>
-<!--  <el-dialog
-      title="授权角色"
-      :visible.sync="drawer"
-      width="564px"
-      append-to-body
-      :show-close="false"
-      @close="onClose">
-    <div>
-      <el-row :gutter="50">
-        <el-form :model="roleForm" :rules="roleRules" ref="roleForm"  size="mini" label-position="right">
-          <el-col :span="24">
-            <el-form-item label="授权角色" label-width="100px" prop="roleids">
-              <el-select v-model="roleForm.roleids" style="width:100%" placeholder="请选择" multiple>
-                <el-option
-                    v-for="item in options"
-                    :key="item.index"
-                    :label="item.rolename"
-                    :value="item.roleid">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-        </el-form>
-      </el-row>
-    </div>
-    <div class="dialog-footer">
-&lt;!&ndash;      <el-button size="small" @click="drawer = false" class="normal-btn-width">取 消</el-button>&ndash;&gt;
-      <el-button size="small" type="warning" @click="createUser" class="normal-btn-width btn-warning">确 定</el-button>
-    </div>
-  </el-dialog>-->
 </div>
 </template>
 
@@ -180,11 +184,13 @@
 import {mapGetters} from 'vuex'
 import selectMenber from '@/components/selectMenber/index.vue'
 import areaList from "@/HManagement/marketing2/saler/area/modules/areaList";
+import addSalers from "@/HManagement/department/staff/list/modules/addSalers";
 export default {
   props:['depInfo'],
   components:{
     selectMenber,
-    areaList
+    areaList,
+    addSalers
   },
   computed:{
     ...mapGetters({
@@ -200,6 +206,14 @@ export default {
     }
   },
   data () {
+    var NumberSize = (rule, value, callback) => {
+      if (isNaN(parseFloat(value)) && value !== ''){
+        return callback(new Error('输入不合法,请输入数值'))
+      }else if (+value > 100 || +value < 0 ) {
+        return callback(new Error('折扣范围(0-100%)'));
+      }
+      callback()
+    }
     return {
       dialogFormVisible:false,
       visible:false,
@@ -222,7 +236,11 @@ export default {
         ],
         discountrate: [
           { required: true, message: '请输入最低授权折扣', trigger: 'blur' },
-          { pattern:/^[0-9]+\.{0,1}[0-9]{0,2}$/,message: '只能输入数值',trigger: 'blur'}
+          { pattern:/^[0-9]+\.{0,1}[0-9]{0,2}$/,message: '只能输入数值',trigger: 'blur'},
+          { validator: NumberSize, trigger: 'blur'}
+        ],
+        tradefield: [
+          { required: true, message: '请选择报备领域', trigger: 'blur,change' },
         ],
       },
       form:{
@@ -245,9 +263,9 @@ export default {
         'status':0,
         'isuppictured':'0',
         'areaname':'',
-        'discountrate':'',
-        'iseditprice':'0',
-        'issalehr':'0'
+        'issalehr':'0',
+        'tradefield':'',
+        "salearea": []
       },
       value:[],
       drawer:false,
@@ -266,13 +284,25 @@ export default {
         "roleids":[]
       },
       options:[],
-      pointValue:''
+      pointValue:'',
+      tradefields:[],
+      tablecols:[],
+      list:[],
+      salerList:[]
     }
+  },
+  mounted() {
+
   },
   methods:{
     onShow () {
+      this.$store.dispatch('optiontypeselect','tradefield').then(res=>{
+        this.tradefields = res.data
+      })
       this.dialogFormVisible = true
       this.form.status = 0
+      this.list = []
+      this.salerList = []
       // this.form.depname = this.depInfo.data.label
       // this.form.departmentid = this.depInfo.data.departmentid
       this.$store.dispatch('optiontypeselect','sex')
@@ -284,14 +314,15 @@ export default {
      /* if (this.form.issalehr == 1){
         console.log('22222')
         this.$refs.area.onClick()
+        this.$refs.area.onClick()
       }*/
     },
-    areaLists(val){
+    /*areaLists(val){
       console.log(val,'123')
       console.log(val[0].areaname)
       this.form.areaname = val[0].areaname
       this.form.sa_saleareaid = val[0].sa_saleareaid
-    },
+    },*/
     selectDep  (data) {
       let obj = {
         depname:data.label,
@@ -304,7 +335,14 @@ export default {
       this.$refs['form'].validate(async (valid) => {
         if (!valid)  return false;
         this.$store.commit('setLoading',true)
-        this.form.discountrate = (this.form.discountrate /100).toFixed(4)
+        /*this.form.discountrate = (this.form.discountrate /100).toFixed(4)*/
+        this.form.salearea = this.salerList.map(item=>{
+          return {
+            "sa_saleareaid": item.sa_saleareaid,
+            "discountrate": (item.discountrate/100).toFixed(4),
+            "iseditprice": item.iseditprice
+          }
+        })
         const res = await this.$api.requested({
           "classname": "webmanage.hr.hr",
           "method": "insertormodify_hr",
@@ -404,10 +442,10 @@ export default {
     nodeClick(val){
       this.pointValue = val.departmentid
     },
-    selectArea(val){
+    /*selectArea(val){
       this.form.areaname = val.label
       this.form.sa_saleareaid = val.sa_saleareaid
-    },
+    },*/
     discountrateChange(val){
       if (val < 0){
         this.form.discountrate = 1
@@ -417,8 +455,32 @@ export default {
         this.form.discountrate = Math.round(val * 100)/100
       }
     },
+    salerInfo(val){
+     /* this.list.push(newList)*/
+      this.list = this.salerList
+      /*this.list.splice(-1,0,val)*/
+      this.list.push(val)
+      this.salerList = []
+      this.salerList = this.list.map(item=>{
+        return {
+          "name":this.form.name,
+          "areaname":item.areaname,
+          "discountrate":item.discountrate,
+          "iseditprice":item.iseditprice,
+          "sa_saleareaid":item.sa_saleareaid
+        }
+      })
+    },
+    delArea(val){
+      this.salerList.forEach(item=>{
+        if (item.sa_saleareaid === val.sa_saleareaid){
+          this.salerList.splice(item.index,1)
+        }
+      })
+    }
   },
   created() {
+    this.tablecols = this.tool.tabelCol(this.$route.name).salerTable.tablecols
   }
 }
 

+ 432 - 0
src/HManagement/department/staff/list/modules/addCopy.vue

@@ -0,0 +1,432 @@
+<template>
+<div>
+  <el-button type="primary" size="small" icon="el-icon-plus" @click="onShow">新建员工</el-button>
+  <el-drawer title="新建员工" direction="rtl" append-to-body :visible.sync="dialogFormVisible" size="800px" @close="onClose" :show-close="false">
+    <div class="drawer__panel">
+      <el-row :gutter="20">
+        <el-form :model="form" size="small" :rules="rules" ref="form" label-position="right" label-width="100px">
+          <el-row>
+            <el-col class="mb-30" :span="12">
+              <el-form-item label="编号:" prop="hrcode">
+                <el-input v-model="form.hrcode" placeholder="输入人员编号" autocomplete="off"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col class="mb-30" :span="12">
+              <el-form-item label="性别">
+                <el-select v-model="form.sex" style="width:100%" placeholder="请选择">
+                  <el-option
+                    v-for="item in sys_options"
+                    :key="item.index"
+                    :label="item.value"
+                    :value="item.value">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col class="mb-30" :span="12">
+              <el-form-item label="姓名:" prop="name">
+                <el-input v-model="form.name" placeholder="输入姓名" autocomplete="off"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col class="mb-30" :span="12">
+              <el-form-item label="电子邮箱:" prop="email">
+                <el-input v-model="form.email" placeholder="输入电子邮箱" autocomplete="off"></el-input>
+              </el-form-item>
+            </el-col>
+  <!--          <el-col class="mb-30" :span="12">
+              <el-form-item label="手机号码:" prop="phonenumber">
+                <el-input v-model="form.phonenumber" placeholder="输入手机号码" autocomplete="off"></el-input>
+              </el-form-item>
+            </el-col>-->
+            <el-col class="mb-30" :span="12">
+              <el-form-item label="身份证号:">
+                <el-input v-model="form.idcard" placeholder="输入身份证号" autocomplete="off"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col class="mb-30" :span="12">
+              <el-form-item label="部门:" prop="depname">
+                <el-popover
+                  placement="bottom"
+                  width="400"
+                  trigger="click"
+                  v-model="visible">
+                  <el-tree
+                    :data="deplist"
+                    node-key="id"
+                    default-expand-all
+                    highlight-current
+                    :expand-on-click-node="false"
+                    @node-click="nodeClick"
+                  >
+                    <span class="custom-tree-node" slot-scope="{ node, data }">
+                      <span>{{ node.label }}</span>
+                      <span>
+                        <el-button size="small" type="text" @click="selectDep(data,visible=false)" v-if="data.departmentid === pointValue" style="color: #FFFFFF">选 择</el-button>
+                        <el-button size="small" type="text" @click="selectDep(data,visible=false)" v-else >选 择</el-button>
+                      </span>
+                    </span>
+                  </el-tree>
+                  <el-input slot="reference" v-model="form.depname" readonly placeholder="请选择" autocomplete="off"></el-input>
+                </el-popover>
+              </el-form-item>
+            </el-col>
+            <el-col class="mb-30" :span="12">
+              <el-form-item label="办公电话:">
+                <el-input v-model="form.officetelephone" placeholder="输入办公电话" autocomplete="off"></el-input>
+              </el-form-item>
+            </el-col>
+
+            <el-col class="mb-30" :span="12">
+              <el-form-item label="职位:">
+                <el-input v-model="form.position" placeholder="输入职位" autocomplete="off"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col class="mb-30" :span="12">
+              <el-form-item label="汇报对象:">
+                <selectMenber @selectMenber="selectMenber"></selectMenber>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12" >
+              <el-form-item label="状态:">
+                <el-radio-group v-model="form.status">
+                  <el-radio :label="0">在职</el-radio>
+                  <el-radio :label="1">离职</el-radio>
+                </el-radio-group>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col class="mb-30" :span="5" style="height:51px">
+              <el-form-item>
+                <el-checkbox v-model="form.isleader" :false-label="0" :true-label="1">是否部门负责人</el-checkbox>
+              </el-form-item>
+            </el-col>
+            <el-col class="mb-30" :span="5">
+              <el-form-item>
+                <el-checkbox v-model="form.isworker" :false-label="0" :true-label="1">是否服务人员</el-checkbox>
+              </el-form-item>
+            </el-col>
+
+            <el-col class="mb-30" :span="5">
+              <el-form-item>
+                <el-checkbox v-model="form.isuppictured" :false-label="0" :true-label="1">是否上图员</el-checkbox>
+              </el-form-item>
+            </el-col>
+            <el-col class="mb-30" :span="5">
+              <el-form-item>
+                <el-checkbox v-model="form.issalehr" :false-label="0" :true-label="1" @change="salerChange">是否业务员</el-checkbox>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col class="mb-30" :span="12" v-if="form.issalehr == '1'">
+              <el-form-item label="营销区域:">
+                <areaList :areaname="form.areaname" @selectArea="selectArea" @areaList="areaLists" ref="area"></areaList>
+              </el-form-item>
+            </el-col>
+            <el-col class="mb-30" :span="12" v-if="form.issalehr == '1'">
+              <el-form-item label="最低授权折扣(%):" prop="discountrate" label-width="132px">
+                <el-input v-model="form.discountrate" placeholder="输入最低授权折扣" autocomplete="off" @change="discountrateChange(form.discountrate)"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col class="mb-30" :span="5" v-if="form.issalehr == '1'">
+              <el-form-item>
+                <el-checkbox v-model="form.iseditprice" :false-label="0" :true-label="1">是否可编辑订单价格</el-checkbox>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </el-row>
+    </div>
+    <div class="fixed__btn__panel">
+      <el-button size="small" @click="onClose" class="normal-btn-width">取 消</el-button>
+      <el-button size="small" type="primary" @click="onSubmit" :loading="loading" class="normal-btn-width">确 定</el-button>
+    </div>
+  </el-drawer>
+<!--  <el-dialog
+      title="授权角色"
+      :visible.sync="drawer"
+      width="564px"
+      append-to-body
+      :show-close="false"
+      @close="onClose">
+    <div>
+      <el-row :gutter="50">
+        <el-form :model="roleForm" :rules="roleRules" ref="roleForm"  size="mini" label-position="right">
+          <el-col :span="24">
+            <el-form-item label="授权角色" label-width="100px" prop="roleids">
+              <el-select v-model="roleForm.roleids" style="width:100%" placeholder="请选择" multiple>
+                <el-option
+                    v-for="item in options"
+                    :key="item.index"
+                    :label="item.rolename"
+                    :value="item.roleid">
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-form>
+      </el-row>
+    </div>
+    <div class="dialog-footer">
+&lt;!&ndash;      <el-button size="small" @click="drawer = false" class="normal-btn-width">取 消</el-button>&ndash;&gt;
+      <el-button size="small" type="warning" @click="createUser" class="normal-btn-width btn-warning">确 定</el-button>
+    </div>
+  </el-dialog>-->
+</div>
+</template>
+
+<script>
+import {mapGetters} from 'vuex'
+import selectMenber from '@/components/selectMenber/index.vue'
+import areaList from "@/HManagement/marketing2/saler/area/modules/areaList";
+export default {
+  props:['depInfo'],
+  components:{
+    selectMenber,
+    areaList
+  },
+  computed:{
+    ...mapGetters({
+      deplist:'deplist',
+      sys_options:'sys_options',
+      loading:'loading',
+
+    })
+  },
+  watch: {
+    dialogFormVisible(val) {
+      !val && this.$refs.form.resetFields()
+    }
+  },
+  data () {
+    return {
+      dialogFormVisible:false,
+      visible:false,
+      rules:{
+        hrcode: [
+          { required: true, message: '请输入员工编码', trigger: 'blur' },
+        ],
+        name: [
+          { required: true, message: '请输入员工姓名', trigger: 'blur' },
+        ],
+        depname: [
+          { required: true, message: '请选择部门', trigger: 'change' },
+        ],
+        phonenumber: [
+          { required: true, message: '请输入员工电话', trigger: 'blur' },
+          { pattern:/^1[3-9]\d{9}$/, message: '请输入正确手机号码',trigger: 'blur' }
+        ],
+        email:[
+          { pattern:/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/, message: '请输入正确邮箱',trigger: 'blur' }
+        ],
+        discountrate: [
+          { required: true, message: '请输入最低授权折扣', trigger: 'blur' },
+          { pattern:/^[0-9]+\.{0,1}[0-9]{0,2}$/,message: '只能输入数值',trigger: 'blur'}
+        ],
+      },
+      form:{
+        "hrid":0,
+        "hrcode":"",
+        "name":"",
+        "sex":'男',
+        "phonenumber":"",
+        "officetelephone":"",
+        "idcard":"",
+        "email":"",
+        "birthday":"",
+        "remarks":"",
+        "departmentid":"",
+        "isleader":"",
+        "position":"",
+        "reporthrid":"",
+        "isworker":"0",
+        "userid":"0",
+        'status':0,
+        'isuppictured':'0',
+        'areaname':'',
+        'discountrate':'',
+        'iseditprice':'0',
+        'issalehr':'0'
+      },
+      value:[],
+      drawer:false,
+      roleRules:{
+        roleids: [
+          { required: true, message: '请选择授权角色', trigger: 'change' }
+        ],
+      },
+      roleForm:{
+        "hrid":'',
+        "userid": 0,
+        "name": "",
+        "phonenumber": "",
+        "status": 1,
+        "remarks":"",
+        "roleids":[]
+      },
+      options:[],
+      pointValue:''
+    }
+  },
+  methods:{
+    onShow () {
+      this.dialogFormVisible = true
+      this.form.status = 0
+      // this.form.depname = this.depInfo.data.label
+      // this.form.departmentid = this.depInfo.data.departmentid
+      this.$store.dispatch('optiontypeselect','sex')
+
+
+    },
+    salerChange(){
+      console.log(this.form.issalehr)
+     /* if (this.form.issalehr == 1){
+        console.log('22222')
+        this.$refs.area.onClick()
+      }*/
+    },
+    areaLists(val){
+      console.log(val,'123')
+      console.log(val[0].areaname)
+      this.form.areaname = val[0].areaname
+      this.form.sa_saleareaid = val[0].sa_saleareaid
+    },
+    selectDep  (data) {
+      let obj = {
+        depname:data.label,
+        departmentid:data.departmentid
+      }
+      this.form = Object.assign({},this.form,obj)
+      this.showTree = !this.showTree
+    },
+    onSubmit () {
+      this.$refs['form'].validate(async (valid) => {
+        if (!valid)  return false;
+        this.$store.commit('setLoading',true)
+        this.form.discountrate = (this.form.discountrate /100).toFixed(4)
+        const res = await this.$api.requested({
+          "classname": "webmanage.hr.hr",
+          "method": "insertormodify_hr",
+          "content": this.form
+        })
+        this.$store.commit('setLoading',false)
+        if (res.code === 0)  return this.$notify({
+            title: '失败',
+            message: res.msg,
+            type: 'error'
+          });
+
+          this.$notify({
+            title: '成功',
+            message: '添加成功',
+            type: 'success'
+          });
+
+          /*this.drawer = true*/
+          this.roleForm.hrid = res.data.hrid
+          /*this.rolelist()*/
+        this.dialogFormVisible = false
+        this.refreshData()
+        this.$emit('onSuccess')
+        this.$store.dispatch('changeDetailDrawer',true)
+        this.$router.push({path:'/depManage/staffDetail',query:{id:res.data.hrid,rowindex:res.data.rowindex}})
+
+      });
+    },
+    refreshData () {
+      this.form = {
+        "hrid":0,
+        "hrcode":"",
+        "name":"",
+        "sex":'男',
+        "phonenumber":"",
+        "officetelephone":"",
+        "idcard":"",
+        "email":"",
+        "birthday":"",
+        "remarks":"",
+        "departmentid":"",
+        "isleader":"",
+        "position":"",
+        "reporthrid":"",
+        "userid":"0",
+        "isworker":'0',
+        "isuppictured":'0',
+        "issalehr":'0'
+      }
+    },
+    // 监听汇报对象选择
+    selectMenber (data) {
+      this.form.reporthrid = data.hrid
+    },
+    async rolelist () {
+      let param = {
+        "classname": "sysmanage.develop.optiontype.optiontype",
+        "method": "optiontypeselect",
+        "content": {
+          "pageNumber": 1,
+          "pageSize": 20,
+          "typename": "role",
+          "parameter": {
+          }
+        }
+      }
+      const res = await this.$api.requested(param)
+      this.options = res.data
+    },
+
+    createUser () {
+      this.$refs['roleForm'].validate(async (valid) => {
+        if (!valid) return false
+        const res = await this.$api.requested({
+          "classname": "webmanage.hr.hr",
+          "method": "createUser",
+          "content": {
+            "hrid":this.roleForm.hrid,
+            "roleids":this.roleForm.roleids
+          }
+        })
+        this.tool.showMessage(res,()=>{
+          this.drawer = false
+          this.dialogFormVisible = false
+          this.refreshData()
+          this.$emit('onSuccess')
+        })
+
+      })
+    },
+    onClose () {
+      this.$refs['form'].resetFields()
+      this.dialogFormVisible = false
+      this.refreshData()
+    },
+    nodeClick(val){
+      this.pointValue = val.departmentid
+    },
+    selectArea(val){
+      this.form.areaname = val.label
+      this.form.sa_saleareaid = val.sa_saleareaid
+    },
+    discountrateChange(val){
+      if (val < 0){
+        this.form.discountrate = 1
+      }else if(val > 100){
+        this.form.discountrate = 100
+      }else {
+        this.form.discountrate = Math.round(val * 100)/100
+      }
+    },
+  },
+  created() {
+  }
+}
+
+</script>
+<style>
+</style>
+<style scoped>
+.mb-30{
+  margin-bottom:12px
+}
+</style>

+ 106 - 0
src/HManagement/department/staff/list/modules/addSalers.vue

@@ -0,0 +1,106 @@
+<template>
+  <div>
+    <el-button type="text" @click="onShow">创建业务员</el-button>
+    <el-dialog title="新 建" append-to-body :visible.sync="dialogFormVisible" width="500px">
+      <div slot="title" style="font-size: 15px">
+        创建业务员
+      </div>
+      <el-row :gutter="20">
+        <el-form :model="form" :rules="rules" ref="form" label-width="120px" label-position="right" size="mini">
+          <el-col :span="24">
+            <el-form-item label="营销区域" prop="sa_saleareaid">
+              <areaList :areaname="form.areaname" @selectArea="selectArea" @areaList="areaLists" ref="area"></areaList>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="最低授权折扣" prop="discountrate">
+              <el-input v-model="form.discountrate" placeholder="最低授权折扣" ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item>
+              <el-checkbox :true-label="1" :false-label="0" v-model="form.iseditprice">是否可编辑订单价格</el-checkbox>
+            </el-form-item>
+          </el-col>
+        </el-form>
+      </el-row>
+      <div class="dialog-footer">
+        <el-button size="small" @click="dialogFormVisible = false" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" type="warning" @click="onSubmit" class="normal-btn-width btn-warning">确 定</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import areaList from "./areaList";
+export default {
+  name: "addSalers",
+  components:{areaList},
+  props:["name"],
+  data(){
+    return {
+      dialogFormVisible:false,
+      form:{
+        sa_saleareaid: "",
+        discountrate: "",
+        iseditprice: "0",
+        areaname:""
+      },
+      rules:{
+        sa_saleareaid:[
+          { required: true, message: '未选择营销区域', trigger: 'change'},
+        ],
+        discountrate:[
+          { required: true, message: '未设置最低授权折扣', trigger: 'blur'},
+          { pattern:/^[0-9]+\.{0,1}[0-9]{0,4}$/,message: '输入不合法,请输入数值',trigger: 'change'},
+        ]
+      }
+    }
+  },
+  methods:{
+    onShow(){
+      this.form = {
+        sa_saleareaid: "",
+        discountrate: "",
+        iseditprice: "0",
+        areaname:""
+      }
+      if (this.name){
+        this.dialogFormVisible = true
+        this.$refs.area.listData()
+      }else {
+          this.$confirm('完善员工姓名信息后再进行创建业务员操作', '提示', {
+            showCancelButton:false,
+            confirmButtonText: '确定',
+            type: 'warning'
+          }).then(() => {
+
+          }).catch(() => {
+
+          });
+      }
+    },
+    selectArea(val){
+      console.log(val,'选择区域')
+      this.form.areaname = val.label
+      this.form.sa_saleareaid = val.sa_saleareaid
+    },
+    areaLists(val){
+      /*this.form.areaname = val[0].areaname
+      this.form.sa_saleareaid = val[0].sa_saleareaid*/
+    },
+    onSubmit(){
+      this.$refs.form.validate((valid)=>{
+        if (!valid) return false
+        this.dialogFormVisible = false
+        this.$emit('salerInfo',this.form)
+      })
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 97 - 0
src/HManagement/department/staff/list/modules/areaList.vue

@@ -0,0 +1,97 @@
+<template>
+  <div>
+    <el-popover
+        placement="bottom"
+        width="400"
+        trigger="click"
+        v-model="visible">
+      <el-tree
+          :data="areaList"
+          node-key="id"
+          default-expand-all
+          highlight-current
+          :expand-on-click-node="false"
+          @node-click="nodeClick"
+      >
+                  <span class="custom-tree-node" slot-scope="{ node, data }">
+                    <span>{{ node.label }}</span>
+                    <span>
+<!--                      <el-button size="small" type="text" @click="selectArea(data,visible=false)" style="color: #FFFFFF">选 择</el-button>-->
+                      <el-button size="small" type="text" @click="selectArea(data,visible=false)"  >选 择</el-button>
+                    </span>
+                  </span>
+      </el-tree>
+            <el-input slot="reference" v-model="areaname" readonly placeholder="请选择" autocomplete="off" @focus="onClick"></el-input>
+    </el-popover>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "areaList",
+  props:["areaname"],
+  data(){
+    return {
+      areaList:[],
+      visible:false,
+      pointValue:'',
+      param:{
+        classname: "webmanage.sale.salearea.salearea",
+        content: {},
+        method: "query_area"
+      }
+    }
+  },
+  methods:{
+    onClick(){
+      console.log('点击')
+      this.listData()
+    },
+    async listData(){
+      const res = await this.$api.requested(this.param)
+      console.log(res.data,'区域列表')
+      this.areaList = this.createMenu(res.data)
+      this.$emit('areaList',res.data)
+    },
+    createMenu (array) {
+      var that = this
+      let arr = []
+      function convertToElementTree(node) {
+        // 新节点
+        var elNode = {
+          label: node["areaname"],
+          sa_saleareaid:node['sa_saleareaid'],
+          children: []
+        }
+
+        if (node.subarea && node.subarea.length > 0) {
+          // 如果存在子节点
+          for (var index = 0; index < node.subarea.length; index++) {
+            // 遍历子节点, 把每个子节点看做一颗独立的树, 传入递归构造子树, 并把结果放回到新node的children中
+            elNode.children.push(convertToElementTree(node.subarea[index]));
+          }
+        }
+        return elNode;
+      }
+      array.forEach((element) => {
+        arr.push(convertToElementTree(element))
+      });
+      return arr
+    },
+    nodeClick(val){
+      this.pointValue = val.areaname
+    },
+    selectArea(data){
+      console.log(data,'选择区域')
+      this.$emit('selectArea',data)
+    }
+  },
+  mounted() {
+    this.listData()
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 113 - 29
src/HManagement/department/staff/list/modules/edit.vue

@@ -2,16 +2,16 @@
 <div>
   <el-button type="default" size="mini" @click="onShow">编 辑</el-button>
   <el-drawer title="编辑员工" direction="rtl" append-to-body :visible.sync="dialogFormVisible" size="800px" @close="$refs.form.clearValidate()" :show-close="false">
-    <div class="drawer__panel">
+    <div class="drawer__panel" style="margin-bottom: 0 !important;">
       <el-row :gutter="20">
         <el-form :model="form" size="small" :rules="rules" ref="form" label-position="right" label-width="100px">
           <el-row>
-            <el-col class="mb-30" :span="12">
+            <el-col  :span="24">
               <el-form-item label="编号:" prop="hrcode">
                 <el-input v-model="form.hrcode" placeholder="输入人员编号" autocomplete="off"></el-input>
               </el-form-item>
             </el-col>
-            <el-col class="mb-30" :span="12">
+            <el-col :span="24">
               <el-form-item label="性别">
                 <el-select v-model="form.sex" style="width:100%" placeholder="请选择">
                   <el-option
@@ -23,28 +23,28 @@
                 </el-select>
               </el-form-item>
             </el-col>
-            <el-col class="mb-30" :span="12">
+            <el-col  :span="24">
               <el-form-item label="姓名:" prop="name">
                 <el-input v-model="form.name" placeholder="输入姓名" autocomplete="off"></el-input>
               </el-form-item>
             </el-col>
-            <el-col class="mb-30" :span="12">
+            <el-col  :span="24">
               <el-form-item label="电子邮箱:" prop="email">
                 <el-input v-model="form.email" placeholder="输入电子邮箱" autocomplete="off"></el-input>
               </el-form-item>
             </el-col>
-  <!--          <el-col class="mb-30" :span="12">
+  <!--          <el-col  :span="12">
               <el-form-item label="手机号码:" prop="phonenumber">
                 <el-input v-if="form.accountno === ''" v-model="form.phonenumber" placeholder="输入手机号码" autocomplete="off" ></el-input>
                 <el-input v-else v-model="form.userphonenumber" placeholder="输入手机号码" autocomplete="off" disabled></el-input>
               </el-form-item>
             </el-col>-->
-            <el-col class="mb-30" :span="12">
+            <el-col  :span="24">
               <el-form-item label="身份证号:">
                 <el-input v-model="form.idcard" placeholder="输入身份证号" autocomplete="off"></el-input>
               </el-form-item>
             </el-col>
-            <el-col class="mb-30" :span="12">
+            <el-col  :span="24">
               <el-form-item label="部门:" prop="depname">
                 <el-popover
                   placement="bottom"
@@ -70,23 +70,23 @@
                 </el-popover>
               </el-form-item>
             </el-col>
-            <el-col class="mb-30" :span="12">
+            <el-col  :span="24">
               <el-form-item label="办公电话:">
                 <el-input v-model="form.officetelephone" placeholder="输入办公电话" autocomplete="off"></el-input>
               </el-form-item>
             </el-col>
 
-            <el-col class="mb-30" :span="12">
+            <el-col  :span="24">
               <el-form-item label="职位:">
                 <el-input v-model="form.position" placeholder="输入职位" autocomplete="off"></el-input>
               </el-form-item>
             </el-col>
-            <el-col class="mb-30" :span="12">
+            <el-col  :span="24">
               <el-form-item label="汇报对象:">
                 <selectMenber :reporthrname="form.reporthrname" @selectMenber="selectMenber"></selectMenber>
               </el-form-item>
             </el-col>
-            <el-col class="mb-30" :span="12">
+            <el-col  :span="24">
               <el-form-item label="状态:">
                 <el-radio-group v-model="form.status">
                   <el-radio label="0">在职</el-radio>
@@ -94,48 +94,83 @@
                 </el-radio-group>
               </el-form-item>
             </el-col>
+            <el-col  :span="24">
+              <el-form-item label="报备领域" prop="tradefield">
+                <el-select v-model="form.tradefield" style="width:100%" placeholder="请选择报备领域" multiple clearable>
+                  <el-option
+                      v-for="item in tradefields"
+                      :key="item.index"
+                      :label="item.value"
+                      :value="item.value">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
           </el-row>
           <el-row>
-            <el-col class="mb-30" :span="5" style="height:51px">
+            <el-col  :span="5" style="height:51px">
               <el-form-item>
                 <el-checkbox v-model="form.isleader" :false-label="0" :true-label="1">是否部门负责人</el-checkbox>
               </el-form-item>
             </el-col>
-            <el-col class="mb-30" :span="5">
+            <el-col  :span="5">
               <el-form-item>
                 <el-checkbox v-model="form.isworker" :false-label="0" :true-label="1">是否服务人员</el-checkbox>
               </el-form-item>
             </el-col>
-            <el-col class="mb-30" :span="5">
+            <el-col  :span="5">
               <el-form-item>
                 <el-checkbox v-model="form.isuppictured" :false-label="0" :true-label="1">是否上图员</el-checkbox>
               </el-form-item>
             </el-col>
-            <el-col class="mb-30" :span="5">
+            <el-col  :span="5">
               <el-form-item>
-                <el-checkbox v-model="form.issalehr" :false-label="0" :true-label="1" :disabled="issalehr == '1'">是否业务员</el-checkbox>
+                <el-checkbox v-model="form.issalehr" :false-label="0" :true-label="1" disabled>是否业务员</el-checkbox>
               </el-form-item>
             </el-col>
           </el-row>
-          <el-row>
-            <el-col class="mb-30" :span="12" v-if="form.issalehr == '1'">
+          <el-row v-if="form.issalehr == '1'">
+            <el-col :span="24">
+              <el-form-item label="业务员" style="font-weight: bold">
+                <addSalers :name="form.name" @salerInfo="salerInfo"></addSalers>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row v-if="form.issalehr == '1'">
+            <el-col :span="23" :offset="1">
+              <tableNewLayout :layout="tablecols" :data="salerList" :opwidth="200" height="calc(100vh - 820px)" :width="true" :custom="true" fixedName="operation">
+                <template v-slot:customcol="scope">
+                  <p v-if="scope.column.columnname == 'iseditprice '">
+                    {{scope.column.data.iseditprice == '1' ? '是':'否' }}
+                  </p>
+                  <p v-else>{{scope.column.data[scope.column.columnname]}}</p>
+                </template>
+                <template v-slot:opreation="scope">
+
+                  <el-button type="text" disabled>删 除</el-button>
+                </template>
+              </tableNewLayout>
+            </el-col>
+          </el-row>
+<!--          <el-row>
+            <el-col  :span="12" v-if="form.issalehr == '1'">
               <el-form-item label="营销区域:">
                 <el-input v-if="issalehr == 1" v-model="form.areaname" placeholder="选择营销区域" autocomplete="off" disabled></el-input>
                 <areaList v-else :areaname="form.areaname" @selectArea="selectArea" @areaList="areaLists"></areaList>
 
               </el-form-item>
             </el-col>
-            <el-col class="mb-30" :span="12" v-if="form.issalehr == '1'">
+            <el-col  :span="12" v-if="form.issalehr == '1'">
               <el-form-item label="最低授权折扣(%):" prop="discountrate" label-width="132px">
                 <el-input v-model="form.discountrate" placeholder="输入最低授权折扣" autocomplete="off" @change="discountrateChange(form.discountrate)"></el-input>
               </el-form-item>
             </el-col>
-            <el-col class="mb-30" :span="5" v-if="form.issalehr == '1'">
+            <el-col  :span="5" v-if="form.issalehr == '1'">
               <el-form-item>
                 <el-checkbox v-model="form.iseditprice" :false-label="0" :true-label="1">是否可编辑订单价格</el-checkbox>
               </el-form-item>
             </el-col>
-          </el-row>
+          </el-row>-->
         </el-form>
       </el-row>
     </div>
@@ -151,10 +186,12 @@
 import {mapGetters} from 'vuex'
 import selectMenber from '@/components/selectMenber/index.vue'
 import areaList from "@/HManagement/marketing2/saler/area/modules/areaList";
+import addSalers from "@/HManagement/department/staff/list/modules/addSalers";
 export default {
   components:{
     selectMenber,
-    areaList
+    areaList,
+    addSalers
   },
   computed:{
     ...mapGetters({
@@ -175,6 +212,9 @@ export default {
         depname: [
           { required: true, message: '请选择部门', trigger: 'change' },
         ],
+        tradefield: [
+          { required: true, message: '请选择报备领域', trigger: 'change' },
+        ],
         phonenumber: [
           { required: true, message: '请输入员工电话', trigger: 'blur' },
           { pattern:/^1[3-9]\d{9}$/, message: '请输入正确手机号码',trigger: 'blur' }
@@ -206,14 +246,17 @@ export default {
         "statue":0,
         'isuppictured':'0',
         'reporthrname':'',
-        'discountrate':'',
-        'iseditprice':'0',
-        'issalehr':'0'
+        'issalehr':'0',
+        "salearea": []
       },
       value:[],
       deplist:[],
       pointValue:'',
-      issalehr:''
+      issalehr:'',
+      tradefields:[],
+      tablecols:[],
+      list:[],
+      salerList:[]
     }
   },
   methods:{
@@ -226,8 +269,17 @@ export default {
         }
       })
       this.form = Object.assign({},this.form, res.data)
-      this.form.discountrate = Math.round((this.form.discountrate*100)*100)/100
+      /*this.form.discountrate = Math.round((this.form.discountrate*100)*100)/100*/
       this.issalehr = this.form.issalehr
+      this.salerList = res.data.salearearows.map(item=>{
+        return {
+          "name":this.form.name,
+          "areaname":item.areaname,
+          "discountrate":Math.round((item.discountrate * 100)*100)/100,
+          "iseditprice":item.iseditprice,
+          "sa_saleareaid":item.sa_saleareaid
+        }
+      })
     },
     areaLists(val){
       if (this.form.areaname == ''){
@@ -282,6 +334,8 @@ export default {
       return arr
     },
     onShow () {
+      this.list = []
+      this.salerList = []
       this.query_hrMain()
       this.department()
       this.$store.dispatch('optiontypeselect','sex')
@@ -299,7 +353,14 @@ export default {
     onSubmit () {
       this.$refs['form'].validate(async (valid) => {
         if (!valid)  return false;
-        this.form.discountrate = (this.form.discountrate /100).toFixed(4)
+        /*this.form.discountrate = (this.form.discountrate /100).toFixed(4)*/
+        this.form.salearea = this.salerList.map(item=>{
+          return {
+            "sa_saleareaid": item.sa_saleareaid,
+            "discountrate": (item.discountrate/100).toFixed(4),
+            "iseditprice": item.iseditprice
+          }
+        })
         const res = await this.$api.requested({
           "classname": "webmanage.hr.hr",
           "method": "insertormodify_hr",
@@ -341,6 +402,29 @@ export default {
         this.form.discountrate = Math.round(val * 100)/100
       }
     },
+    salerInfo(val){
+      console.log(val,'创建的任务')
+      /* this.list.push(newList)*/
+      this.list = this.salerList
+      /*this.list.splice(-1,0,val)*/
+      this.list.push(val)
+      console.log(this.list,'list表格数据')
+      this.salerList = []
+      this.salerList = this.list.map(item=>{
+        console.log(item.iseditprice)
+        return {
+          "name":this.form.name,
+          "areaname":item.areaname,
+          "discountrate":item.discountrate,
+          "iseditprice":item.iseditprice,
+          "sa_saleareaid":item.sa_saleareaid
+        }
+      })
+      console.log(this.salerList,'salerList')
+    }
+  },
+  created() {
+    this.tablecols = this.tool.tabelCol(this.$route.name).salerTable.tablecols
   }
 }
 

+ 2 - 1
src/SManagement/user/user-info/components/PhoneEdit.vue

@@ -21,7 +21,7 @@
     </div>
   </el-dialog>
 </div>
-  
+
 </template>
 
 <script>
@@ -104,6 +104,7 @@ export default {
         "content": {
           "name":this.userInfo.name,
           "phonenumber":this.form.phonenumber,
+          "email":'',
           "password":md5(this.logCode)
         }
       })