wucl 2 gadi atpakaļ
vecāks
revīzija
7932679e51

+ 3 - 0
src/api/modules/item.js

@@ -21,4 +21,7 @@ export default {
   simpleAll(params) { // 下拉
     return request.get(`item/simpleAll`, { params: params })
   },
+  mine(params) {
+    return request.get(`item/mine`, { params: params })
+  },
 }

+ 3 - 0
src/api/modules/post.js

@@ -27,4 +27,7 @@ export default {
   xSimpleAll() { // 下拉
     return request.get(`post/xSimpleAll`)
   },
+  xList(params){
+    return request.get(`post/list`, { params: params })
+  }
 }

+ 51 - 27
src/views/item/detail.vue

@@ -117,26 +117,24 @@
                     </el-col>
                     <el-col :xs="24" :sm="12" :lg="6" :span="6">
                       <el-form-item
-                        label="业务来源:"
-                        prop="businessSource"
-                        :rules="{required: true, message: '请输入业务来源', trigger: 'blur'}"
+                        label="客户名字:"
+                        prop="clientName"
+                        :rules="{required: true, message: '选择客户', trigger: 'blur'}"
                         label-width="120px"
                         class="postInfo-container-item"
                       >
-                        <el-select
-                          v-model="postForm.businessSource"
-                          placeholder=""
-                          clearable
-                          filterable
-                          class="filter-item"
-                          style=" width: 100%"
-                        >
-                          <el-option key="1" label="自主营销" value="自主营销"/>
-                          <el-option key="2" label="公司转接" value="公司转接"/>
-                          <el-option key="3" label="投标抽签" value="投标抽签"/>
+                        <el-select v-model="postForm.customerId" filterable class="filter-item" style="float: left;width: 100%;" placeholder="请选择" @change="getCustomerDetail">
+                          <el-option
+                            v-for="item in customerOptions"
+                            :key="item.id"
+                            :label="item.name"
+                            :value="item.id"
+                          />
                         </el-select>
                       </el-form-item>
                     </el-col>
+
+
                     <el-col :xs="24" :sm="12" :lg="6" :span="6">
                       <el-form-item
                         label="委托单位:"
@@ -145,18 +143,18 @@
                         label-width="120px"
                         class="postInfo-container-item"
                       >
-                        <el-input v-model="postForm.clientUnit" class="filter-item"/>
+                        <el-input :value="postForm.clientUnit" class="filter-item" readonly disabled/>
                       </el-form-item>
                     </el-col>
                     <el-col :xs="24" :sm="12" :lg="6" :span="6">
                       <el-form-item
-                        label="委托人:"
-                        prop="clientName"
-                        :rules="{required: true, message: '请输入委托人', trigger: 'blur'}"
+                        label="联系方式:"
+                        prop="mobile"
+                        :rules="{required: true, message: '请输入联系方式', trigger: 'blur'}"
                         label-width="120px"
                         class="postInfo-container-item"
                       >
-                        <el-input v-model="postForm.clientName" class="filter-item"/>
+                        <el-input :value="postForm.mobile" class="filter-item" readonly disabled />
                       </el-form-item>
                     </el-col>
                   </el-row>
@@ -165,29 +163,38 @@
                       <el-form-item
                         label="客户经理:"
                         prop="clientManager"
-                        :rules="{required: true, message: '请输入客户经理', trigger: 'blur'}"
                         label-width="120px"
                         class="postInfo-container-item"
                       >
-                        <el-input v-model="postForm.clientManager" class="filter-item"/>
+                        <el-input :value="postForm.clientManager" class="filter-item" readonly disabled/>
                       </el-form-item>
                     </el-col>
                     <el-col :xs="24" :sm="12" :lg="6" :span="6">
                       <el-form-item
-                        label="联系方式:"
-                        prop="mobile"
-                        :rules="{required: true, message: '请输入联系方式', trigger: 'blur'}"
+                        label="业务来源:"
+                        prop="businessSource"
+                        :rules="{required: true, message: '请输入业务来源', trigger: 'blur'}"
                         label-width="120px"
                         class="postInfo-container-item"
                       >
-                        <el-input v-model="postForm.mobile" class="filter-item"/>
+                        <el-select
+                          v-model="postForm.businessSource"
+                          placeholder=""
+                          clearable
+                          filterable
+                          class="filter-item"
+                          style=" width: 100%"
+                        >
+                          <el-option key="1" label="自主营销" value="自主营销"/>
+                          <el-option key="2" label="公司转接" value="公司转接"/>
+                          <el-option key="3" label="投标抽签" value="投标抽签"/>
+                        </el-select>
                       </el-form-item>
                     </el-col>
                     <el-col :xs="24" :sm="12" :lg="6" :span="6">
                       <el-form-item
                         label="项目负责人:"
                         prop="skiller"
-                        :rules="{required: true, message: '请输入项目负责人', trigger: 'blur'}"
                         label-width="120px"
                         class="postInfo-container-item"
                       >
@@ -243,7 +250,6 @@
                       <el-form-item
                         label="所属部门:"
                         prop="departmentId"
-                        :rules="{required: true, message: '所属部门', trigger: 'blur'}"
                         label-width="120px"
                         class="postInfo-container-item"
                       >
@@ -315,6 +321,10 @@
         type: 'detail',
         postForm: {
           departmentId:'',
+          clientUnit:'',
+          mobile:'',
+          userId: this.$store.getters.userInfo.id,
+          clientManager:this.$store.getters.userInfo.name
         },
         dataId: this.$route.query.id,
         activeName: 'first',
@@ -328,14 +338,28 @@
         departmentsOptions:[],
         contractName:'',
         fileList:[],
+        customerOptions:[]
       }
     },
     created() {
       this.getAllUser();
       this.getDepartment();
       this.getDetail();
+      this.getCustomerSelect();
     },
     methods: {
+
+      getCustomerDetail(){
+        this.$api.customer.detail(this.postForm.customerId).then(res =>{
+          this.postForm.clientUnit = res.data.department;
+          this.postForm.mobile = res.data.mobile;
+        })
+      },
+      getCustomerSelect() {
+        this.$api.customer.simpleAll().then(res => {
+          this.customerOptions = res.data
+        })
+      },
       handleAttachmentPreview(file){
         // var a = document.createElement('a');
         // var event = new MouseEvent('click');

+ 20 - 6
src/views/item/list.vue

@@ -102,6 +102,11 @@
             <span>{{ row.amount}}</span>
           </template>
         </el-table-column>
+        <el-table-column label="客户经理" align="center" width="100">
+          <template slot-scope="{row}">
+            <span>{{ row.clientManager}}</span>
+          </template>
+        </el-table-column>
         <el-table-column label="状态" align="center" width="100">
           <template slot-scope="{row}">
             <el-tag>{{ row.state}}</el-tag>
@@ -221,7 +226,6 @@
           // name: '',
           // staffNo: '',
           descs: 'id',
-          me: false,
           state:null
         },
         listQueryKey: 'keyword',
@@ -298,16 +302,26 @@
         const key = {}
         if (this.$router.currentRoute.path === '/item/list/me'){
           this.listQuery.me = true;
-        }
-        this.$api.item.list(Object.assign({}, that.listQuery, key)).then((res) => {
-            that.pageData = res.data
+          this.$api.item.mine(Object.assign({}, that.listQuery, key)).then((res) => {
+            that.pageData = res.data;
             setTimeout(() => {
               that.listLoading = false
             }, 200)
           })
-          .catch(() => {
-            that.listLoading = false
+            .catch(() => {
+              that.listLoading = false
+            })
+        }else{
+          this.$api.item.list(Object.assign({}, that.listQuery, key)).then((res) => {
+            that.pageData = res.data
+            setTimeout(() => {
+              that.listLoading = false
+            }, 200)
           })
+            .catch(() => {
+              that.listLoading = false
+            })
+        }
       },
       deleteInfo(id) {
         const that = this

+ 5 - 0
src/views/market/business/list.vue

@@ -86,6 +86,11 @@
             <span>{{ row.offReason }}</span>
           </template>
         </el-table-column>
+        <el-table-column label="客户经理" align="center" width="210">
+          <template slot-scope="{row}">
+            <span>{{ row.userName }}</span>
+          </template>
+        </el-table-column>
         <el-table-column label="备注" align="center" width="210">
           <template slot-scope="{row}">
             <span>{{ row.remark }}</span>

+ 6 - 1
src/views/market/customer/list.vue

@@ -121,7 +121,7 @@
         </el-table-column>
         <el-table-column label="客户等级" align="center" width="120">
           <template slot-scope="{row}">
-            <span>{{ row.level }}</span>
+            <span style="color:red">{{row.level}}</span>
           </template>
         </el-table-column>
         <el-table-column label="客户地址" align="center" width="120">
@@ -129,6 +129,11 @@
             <span>{{ row.address }}</span>
           </template>
         </el-table-column>
+        <el-table-column label="客户经理" align="center" width="120">
+          <template slot-scope="{row}">
+            <span>{{ row.userName }}</span>
+          </template>
+        </el-table-column>
         <el-table-column label="操作" align="center" width="200">
           <template slot-scope="{row}">
             <PermissionButton

+ 5 - 0
src/views/market/visit/list.vue

@@ -69,6 +69,11 @@
             <span>{{ row.spot }}</span>
           </template>
         </el-table-column>
+        <el-table-column label="客户经理" align="center" width="210">
+          <template slot-scope="{row}">
+            <span>{{ row.userName }}</span>
+          </template>
+        </el-table-column>
         <el-table-column label="沟通内容" align="center">
           <template slot-scope="{row}">
             <span>{{ row.content }}</span>

+ 45 - 1
src/views/set/post/index.vue

@@ -50,6 +50,16 @@
             <el-tag>{{ row.departmentName || '无' }}</el-tag>
           </template>
         </el-table-column>
+        <el-table-column label="领导部门" min-width="150" align="center">
+          <template slot-scope="{row}">
+            <el-tag>{{ row.leaderDepartmentName || '无' }}</el-tag>
+          </template>
+        </el-table-column>
+        <el-table-column label="领导岗位" min-width="150" align="center">
+          <template slot-scope="{row}">
+            <el-tag>{{ row.leaderPost || '无' }}</el-tag>
+          </template>
+        </el-table-column>
         <el-table-column label="主要职责" min-width="150" align="center">
           <template slot-scope="{row}">
             <span>{{ row.duty }}</span>
@@ -122,6 +132,28 @@
           </el-select>
         </el-form-item>
 
+        <el-form-item label="领导部门:" filterable prop="leaderDepartmentId">
+          <el-select v-model="temp.leaderDepartmentId" filterable class="filter-item" style="float: left;width: 100%;" placeholder="请选择" @change="getLeaderPost">
+            <el-option
+              v-for="item in partOptions"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id"
+            />
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="领导岗位:" filterable prop="parentId">
+          <el-select v-model="temp.parentId" filterable class="filter-item" style="float: left;width: 100%;" placeholder="请选择">
+            <el-option
+              v-for="item in postOptions"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id"
+            />
+          </el-select>
+        </el-form-item>
+
         <el-form-item label="主要职责:">
           <el-input v-model="temp.duty" class="filter-item" type="textarea" placeholder="200字符"/>
         </el-form-item>
@@ -179,6 +211,10 @@
           code: '',
           name: 1,
           departmentId: '',
+          leaderDepartmentName:'',
+          leaderPost:'',
+          leaderDepartmentId:null,
+          parentId:null,
           duty: ''
         },
         statusOptions: ['published', 'draft', 'deleted'],
@@ -198,7 +234,9 @@
             trigger: 'change'
           }]
         },
-        partOptions: []
+        partOptions: [],
+        leaderDepartmentId:null,
+        postOptions: [],
       }
     },
     created() {
@@ -209,6 +247,11 @@
       this.getList()
     },
     methods: {
+      getLeaderPost(){
+        this.$api.post.xList(this.temp).then(res => {
+          this.postOptions = res.data;
+        })
+      },
       resetSearch() {
         this.listQuery = {
           current: 1,
@@ -300,6 +343,7 @@
         this.temp = Object.assign({}, row); // copy obj
         this.dialogStatus = 'update';
         this.dialogFormVisible = true;
+        this.getLeaderPost();
         this.$nextTick(() => {
           this.$refs['dataForm'].clearValidate()
         })