Prechádzať zdrojové kódy

客户调整,组织架构,项目商机调整

qymljy 1 rok pred
rodič
commit
2509760ec5

+ 9 - 2
src/Form/projectChange/add.vue

@@ -97,12 +97,12 @@
             </el-col>
 
             <el-col :span="20" v-if="siteid === 'HY'">
-              <el-form-item label="项目规模:" prop="scale" :rules="{required:true,pattern:/^\d+(.\d{1,2})?$/,message:'请输入数值',trigger:'blur'}">
+              <el-form-item label="项目规模:" prop="scale" :rules="{required:true,pattern:/^[1-9]\d*(.\d+)?$/,message:'请输入不小于0的数值',trigger:'blur'}">
                 <el-input v-model="form.scale" placeholder="请填写数值"  class="inline-16"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="20" v-else>
-              <el-form-item label="项目规模:" prop="scale" :rules="{required:false,pattern:/^\d+(.\d{1,2})?$/,message:'请输入数值',trigger:'blur'}">
+              <el-form-item label="项目规模:" prop="scale" :rules="{required:false,pattern:/^[1-9]\d*(.\d+)?$/,message:'请输入不小于0的数值',trigger:'blur'}">
                 <el-input v-model="form.scale" placeholder="请填写数值"  class="inline-16"></el-input>
               </el-form-item>
             </el-col>
@@ -313,6 +313,13 @@ export default {
         callback(new Error('项目名称不能为空'))
       }
     }
+    var scaleChange = (rule,value,callback) => {
+      if (value < 0){
+        callback(new Error('项目规模不能小于0'))
+      }else {
+        callback()
+      }
+    }
     return {
       pickerOptions: {
         disabledDate(time) {

+ 2 - 2
src/Form/projectChange/edit.vue

@@ -102,12 +102,12 @@
               </el-form-item>
             </el-col>-->
             <el-col :span="20" v-if="siteid === 'HY'">
-              <el-form-item label="项目规模:" prop="scale" :rules="{required:true,pattern:/^\d+(.\d{1,2})?$/,message:'请输入数值',trigger:'blur'}">
+              <el-form-item label="项目规模:" prop="scale" :rules="{required:true,pattern:/^[1-9]\d*(.\d+)?$/,message:'请输入不小于0的数值',trigger:'blur'}">
                 <el-input v-model="form.scale" placeholder="请填写数值" class="inline-16"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="20" v-else>
-              <el-form-item label="项目规模:" prop="scale" :rules="{required:false,pattern:/^\d+(.\d{1,2})?$/,message:'请输入数值',trigger:'blur'}">
+              <el-form-item label="项目规模:" prop="scale" :rules="{required:false,pattern:/^[1-9]\d*(.\d+)?$/,message:'请输入不小于0的数值',trigger:'blur'}">
                 <el-input v-model="form.scale" placeholder="请填写数值" class="inline-16"></el-input>
               </el-form-item>
             </el-col>

+ 18 - 15
src/HDrpManagement/publicCustomer/modules/detail.vue

@@ -32,34 +32,34 @@
         <el-button  type="primary" size="mini" v-if="tool.checkAuth($route.name,'deletePublic')" @click="deleteData" class="inline-16">删 除</el-button>
       </div>
       <div slot="slot0" >
-        <detailed :data="mainData" :length="length" ref="detailed"></detailed>
+        <detailed :data="mainData" :length="length" ref="detailed" v-if="flag"></detailed>
       </div>
       <div slot="slot1">
-        <contacts :data="mainData"></contacts>
+        <contacts :data="mainData" ref="contactsRef" v-if="flag"></contacts>
       </div>
       <div slot="slot2">
-        <address_manage :data="mainData"></address_manage>
+        <address_manage :data="mainData" v-if="flag"></address_manage>
       </div>
       <div slot="slot3" class=" normal-panel">
-        <financial :mainData="mainData"  ></financial>
+        <financial :mainData="mainData"  v-if="flag"></financial>
       </div>
       <div slot="slot4" class="normal-panel">
-        <projectChange :data="mainData" ></projectChange>
+        <projectChange :data="mainData" v-if="flag"></projectChange>
       </div>
       <div slot="slot5" class="normal-panel">
-        <quotedPrice :data="mainData"  ></quotedPrice>
+        <quotedPrice :data="mainData"  v-if="flag"></quotedPrice>
       </div>
       <div slot="slot6" class="normal-panel">
-        <contract :data="mainData" ></contract>
+        <contract :data="mainData" v-if="flag"></contract>
       </div>
       <div slot="slot7" class="normal-panel">
-        <accountMoney :data="mainData"  ></accountMoney>
+        <accountMoney :data="mainData"  v-if="flag"></accountMoney>
       </div>
       <div slot="slot8" class="normal-panel">
-        <bankCard :data="mainData" ></bankCard>
+        <bankCard :data="mainData" v-if="flag"></bankCard>
       </div>
       <div slot="slot9" class="normal-panel">
-        <followLeads :data="mainData"  ></followLeads>
+        <followLeads :data="mainData"  v-if="flag"></followLeads>
       </div>
 <!--      <div slot="slot3" >
         <bankCard :data="mainData" ></bankCard>
@@ -214,11 +214,11 @@ export default {
           "sa_customersid":this.$route.query.id
         }
       })
+      this.flag = true
        this.$refs.details.param.content.where.sa_customerpoolid = this.$route.query.tabIndex
       this.$refs.details.param.content.isExport = false
       this.mainData = Object.assign({},this.mainData,res.data)
       this.length = this.mainData.leader.length
-      console.log(this.length,"长度")
       this.getDataTag(this.mainData.sa_customersid)
       this.changeDataStructure()
     },
@@ -353,10 +353,13 @@ export default {
       });
     },
     onEditSuccess(){
-      this.$refs.detailed.basicData(this.$route.query.id)
-      this.$refs.detailed.systemData(this.$route.query.id)
-      this.queryMainData(this.$route.query.id)
-      this.$refs.details.refreshTag()
+    /* /!* this.$refs.contactsRef.listData()*!/
+      this.$refs.detailed.basicData()
+      this.$refs.detailed.systemData()*/
+      this.flag = false
+      this.queryMainData()
+     /* this.$refs.details.refreshTag()
+      this.$refs.contactsRef.listData()*/
     },
     sysTag(val){
       this.tagFlag = false

+ 4 - 4
src/HDrpManagement/publicCustomer/modules/detail/detailedData.vue

@@ -80,12 +80,12 @@ export default {
     }
   },
   mounted() {
-    this.basicData(this.$route.query.id)
-    this.systemData(this.$route.query.id)
+    this.basicData()
+    this.systemData()
   },
   methods:{
     /*基本信息*/
-    async basicData(id){
+    async basicData(){
       const res = await this.$api.requested({
         "id": 20221012164302,
         "content": {
@@ -135,7 +135,7 @@ export default {
 
     },
     /*系统信息*/
-    async systemData(id){
+    async systemData(){
       const res = await this.$api.requested({
         "id": 20221019091602,
         "content": {

+ 59 - 14
src/HManagement/department/staff/detail/modules/createUser.vue

@@ -11,13 +11,20 @@
         <el-row :gutter="50">
           <el-form :model="form" :rules="rules" ref="form"  size="mini" label-position="right">
             <el-col :span="24">
-              <el-form-item label="登录账号" label-width="100px" prop="accountno">
-                <el-input v-model="form.accountno" autocomplete="off" placeholder="请输入登录账号"></el-input>
+              <el-form-item label="手机号" label-width="100px" prop="phonenumber">
+                <el-popover
+                    placement="bottom"
+                    trigger="manual"
+                    v-model="visible1"
+                    width="500">
+                  <searchInput ref="searchInput" :param="accountParam" :radio="true" @onSelect="setAccount" @onCancel="visible1 = false"></searchInput>
+                  <el-input type="text" v-model.number="form.phonenumber" size="small" placeholder="请输入手机号" slot="reference" @input="phoneChange"></el-input>
+                </el-popover>
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="手机号" label-width="100px" prop="phonenumber">
-                <el-input v-model="form.phonenumber" autocomplete="off" placeholder="请输入手机号"></el-input>
+              <el-form-item label="登录账号" label-width="100px" prop="accountno">
+                <el-input v-model="form.accountno" :disabled="isShow" autocomplete="off" placeholder="请输入登录账号"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="24">
@@ -46,11 +53,14 @@
 </template>
 
 <script>
-
+import searchInput from '@/template/searchInput/index.vue'
 export default {
+  components:{searchInput},
   data () {
     return {
       drawer:false,
+      visible1:false,
+      isSelectPhone:'',
       rules:{
         roleids: [
           { required: true, message: '请选择授权角色', trigger: 'change' }
@@ -71,7 +81,16 @@ export default {
         "remarks":"",
         "roleids":[]
       },
-      options:[]
+      options:[],
+      isShow:false,
+      accountParam:{
+        "id": 20231023140204,
+        "content": {
+          "where": {
+            "condition": ""//手机号模糊查询
+          }
+        }
+      }
     }
   },
   methods:{
@@ -80,7 +99,7 @@ export default {
       this.drawer = true
       this.rolelist()
     },
-    
+
     async rolelist () {
       let param = {
         "classname": "sysmanage.develop.optiontype.optiontype",
@@ -107,16 +126,42 @@ export default {
             "phonenumber":this.form.phonenumber,
             "accountno":this.form.accountno,
             "hrid":this.$route.query.id,
-            "roleids":this.form.roleids
+            "roleids":this.form.roleids,
+            "userid":this.form.userid
           }
         })
-        this.tool.showMessage(res,()=>{
-          this.drawer = false
-          this.$emit('onSuccess')
-        })
-
+          this.tool.showMessage(res,()=>{
+            this.drawer = false
+            this.isShow = false
+            this.$emit('onSuccess')
+          })
       })
     },
+    phoneChange (e) {
+      this.isShow = false
+      this.form.accountno = ''
+      if (e.length < 7) return this.visible1 = false
+      /*if (this.isSelectPhone && this.isSelectPhone != e) {
+        this.onClose()
+      }*/
+      this.visible1 = false
+      if (this.timer) clearTimeout(this.timer)
+      this.timer = setTimeout(() => {
+        this.accountParam.content.where.condition = e
+        this.$refs.searchInput.listData(() => {
+          this.visible1 = true
+        })
+      },500)
+    },
+    setAccount(data){
+      this.visible1 = false
+      this.isShow = true
+      this.form.userid = data.userid
+      this.form.name = data.name
+      this.form.phonenumber = data.phonenumber
+      this.form.accountno = data.accountno
+      this.isSelectPhone = data.phonenumber
+    },
     onClose () {
       this.$refs['form'].resetFields()
     }
@@ -129,4 +174,4 @@ export default {
   margin-top:32px;
   text-align: center;
 }
-</style>
+</style>

+ 149 - 0
src/HManagement/department/staff/detail/modules/createUserCopy.vue

@@ -0,0 +1,149 @@
+<template>
+  <div>
+    <el-button type="success" size="mini" @click="onShow">一键创建账号</el-button>
+    <el-dialog
+      title="授权角色"
+      :visible.sync="drawer"
+      width="564px"
+      append-to-body
+      @close="onClose">
+      <div>
+        <el-row :gutter="50">
+          <el-form :model="form" :rules="rules" ref="form"  size="mini" label-position="right">
+            <el-col :span="24">
+              <el-form-item label="手机号" label-width="100px" prop="phonenumber">
+                <el-input v-model="form.phonenumber" autocomplete="off" placeholder="请输入手机号"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="登录账号" label-width="100px" prop="accountno">
+                <el-input v-model="form.accountno" autocomplete="off" placeholder="请输入登录账号"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="授权角色" label-width="100px" prop="roleids">
+                <el-select v-model="form.roleids" style="width:100%" placeholder="请选择" multiple>
+                  <el-option
+                    v-for="item in options"
+                    :key="item.index"
+                    :label="item.rolename"
+                    :value="item.roleid">
+                    <span style="float: left">{{ item.rolename }}</span>
+                    <span style="float: right; color: #8492a6; font-size: 12px">{{ item.remarks?item.remarks:'暂无描述' }}</span>
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+          </el-form>
+        </el-row>
+      </div>
+      <div class="dialog-footer">
+        <el-button size="small" @click="drawer = false" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" type="warning" @click="createUser" class="normal-btn-width btn-warning">确 定</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+
+export default {
+  data () {
+    return {
+      drawer:false,
+      rules:{
+        roleids: [
+          { required: true, message: '请选择授权角色', trigger: 'change' }
+        ],
+        accountno: [
+          { required: true, message: '请输入登录账号', trigger: 'blur' }
+        ],
+        phonenumber: [
+          { required: true, message: '请输入手机号', trigger: 'blur' }
+        ],
+      },
+      form:{
+        "userid": 0,
+        "name": "",
+        "phonenumber": "",
+        "accountno":"",
+        "status": 1,
+        "remarks":"",
+        "roleids":[]
+      },
+      options:[],
+      isShow:false
+    }
+  },
+  methods:{
+    onShow () {
+      console.log(this.data)
+      this.drawer = true
+      this.rolelist()
+    },
+
+    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['form'].validate(async (valid) => {
+        if (!valid) return false
+          const res = await this.$api.requested({
+          "classname": "webmanage.hr.hr",
+          "method": "createUser",
+          "content": {
+            "phonenumber":this.form.phonenumber,
+            "accountno":this.form.accountno,
+            "hrid":this.$route.query.id,
+            "roleids":this.form.roleids
+          }
+        })
+        if (res.code == 0){
+          this.queryAccount()
+        }else {
+          this.tool.showMessage(res,()=>{
+            this.drawer = false
+            this.isShow = false
+            this.$emit('onSuccess')
+          })
+        }
+      })
+    },
+    /*获取可选账号*/
+    async queryAccount(){
+      const res = await this.$api.requested({
+        "id": 20231023140204,
+        "content": {
+          "where": {
+            "condition": ""//手机号模糊查询
+          }
+        }
+      })
+      console.log(res.data,'可选账号')
+    },
+    onClose () {
+      this.$refs['form'].resetFields()
+    }
+  }
+}
+
+</script>
+<style scoped>
+.dialog-footer{
+  margin-top:32px;
+  text-align: center;
+}
+</style>

+ 12 - 9
src/SDrpManagement/salerPrivatecustomer/detail/customerDetail.vue

@@ -33,7 +33,7 @@
         <detailed :data="mainData" v-if="Object.keys(mainData).length > 1" ref="baseDetail"></detailed>
       </div>
       <div slot="slot1" class=" normal-panel"  >
-        <contacts :data="mainData"   @onSuccess="onSuccess" v-if="flag"></contacts>
+        <contacts :data="mainData" ref="contactsRef"  @onSuccess="onSuccess" v-if="flag"></contacts>
       </div>
       <div slot="slot2" class=" normal-panel">
         <address_manage :data="mainData"  v-if="flag"></address_manage>
@@ -214,11 +214,11 @@ export default {
         })
       },1000)
     },
-    async queryMainData(id) {
+    async queryMainData() {
       const res = await this.$api.requested({
         "id": 20221012164302,
         "content": {
-          "sa_customersid": id
+          "sa_customersid": this.$route.query.id
         },
       })
      /* this.mainData = res.data*/
@@ -342,14 +342,17 @@ export default {
       this.$emit('onSuccess')
     },
     statusChangeSuccess () {
-      this.$refs.details.refreshTag()
-      this.$refs.baseDetail.basicData(this.$route.query.id)
-      this.$refs.baseDetail.systemData(this.$route.query.id)
-      this.queryMainData(this.$route.query.id)
+    /*  this.$refs.details.refreshTag()
+      this.$refs.baseDetail.basicData()
+      this.$refs.baseDetail.systemData()*/
+      this.flag = false
+      this.queryMainData()
     },
     onEditSuccess(){
-      this.statusChangeSuccess()
+      this.flag = false
+      this.queryMainData()
     },
+
     sysTag(val){
       this.tagFlag = false
       for (let i=0;i<val.length;i++){
@@ -361,7 +364,7 @@ export default {
     },
     onSuccessTag(){
       this.$refs.details.$refs.tag.queryTag()
-    }
+    },
   },
   mounted () {
 

+ 3 - 0
src/SDrpManagement/salerPrivatecustomer/detail/index.vue

@@ -183,6 +183,9 @@ export default {
       this.visible = false
       this.queryMainData(this.$route.query.id)
       this.$emit('onSuccess')
+    },
+    onEditSuccess(){
+      this.queryMainData(this.$route.query.id)
     }
   },
   mounted () {

+ 2 - 2
src/SDrpManagement/salerPrivatecustomer/detail/modules/detailedData.vue

@@ -83,7 +83,7 @@ export default {
   },
   mounted() {
     // this.dataData(this.$route.query.id)
-    this.systemData(this.$route.query.id)
+    this.systemData()
     this.style(this.data)
       this.styleStatus(this.data)
 
@@ -141,7 +141,7 @@ export default {
 
     },
     /*系统信息*/
-    async systemData(id){
+    async systemData(){
       const res = await this.$api.requested({
         "id": 20221019091602,
         "content": {

+ 2 - 2
src/SManagement/orderclue_detail/components/changeProject.vue

@@ -98,12 +98,12 @@
             </el-col>
 
             <el-col :span="20" v-if="siteid === 'HY'">
-              <el-form-item label="项目规模:" prop="scale" :rules="{required: true,pattern:/^\d+(.\d{1,2})?$/, message: '请输入数字值', trigger: 'blur,change'}">
+              <el-form-item label="项目规模:" prop="scale" :rules="{required: true,pattern:/^[1-9]\d*(.\d+)?$/, message: '请输入不小于0的数值', trigger: 'blur,change'}">
                 <el-input v-model="form.scale" placeholder="请填写数值" style="width: 420px" class="inline-16"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="20" v-else>
-              <el-form-item label="项目规模:" prop="scale" :rules="{required: false,pattern:/^\d+(.\d{1,2})?$/, message: '请输入数字值', trigger: 'blur,change'}">
+              <el-form-item label="项目规模:" prop="scale" :rules="{required: false,pattern:/^[1-9]\d*(.\d+)?$/, message: '请输入不小于0的数值', trigger: 'blur,change'}">
                 <el-input v-model="form.scale" placeholder="请填写数值" style="width: 420px" class="inline-16"></el-input>
               </el-form-item>
             </el-col>