فهرست منبع

Merge branch 'xiaoqin' into mergeBranch

codeMan 3 سال پیش
والد
کامیت
3fa119a260

+ 130 - 82
src/Form/publicManage/add.vue

@@ -1,56 +1,58 @@
 <template>
   <div>
     <el-button size="mini" type="primary" @click="editBtn">新 增</el-button>
-    <el-dialog title="新 增" :visible.sync="dialogFormVisible" width="80%">
+    <el-dialog title="新 增" :visible.sync="dialogFormVisible" width="50%">
       <div slot="title" style="font-size: 15px">
         新增公海池
       </div>
-      <el-row :gutter="20">
-        <el-row>
-          <el-col :span="12">
-            <el-row>
-              <el-form :model="form" :rules="rules" ref="form" label-width="120px" label-position="left" size="mini">
-                <el-col :span="24">
-                  <el-form-item label="池名称" prop="poolname">
-                    <el-input v-model="form.poolname" placeholder="请输入池名称"></el-input>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="24">
-                  <el-form-item label="最大保客数" prop="countlimit">
-                    <el-input v-model="form.countlimit" placeholder="成员最大保有客户数(0表示不设限)"></el-input>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="24">
-                  <el-form-item label="跟进天数限制" prop="datafollowlimit">
-                    <el-input v-model="form.datafollowlimit" placeholder="跟进天数限制(超过天数后自动退回,0表示不设限)"></el-input>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="24">
-                  <el-form-item label="成交天数限制" prop="deallimit">
-                    <el-input v-model="form.deallimit" placeholder="成交天数限制(超过天数后自动退回,0表示不限制)"></el-input>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="24">
-                  <el-form-item label="说明" prop="remarks">
-                    <el-input v-model="form.remarks" type="textarea" placeholder="请输入说明"></el-input>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="24">
-                  <div style="display:flex;justfiy-content:eveny">
-                    <el-checkbox :true-label="1" :false-label="0" v-model="form.freeget" checked="checked">自由领取</el-checkbox>
-                    <el-checkbox :true-label="1" :false-label="0" v-model="form.isused" checked="checked">是否启用</el-checkbox>
-                    <el-checkbox :true-label="1" :false-label="0" v-model="form.isdefault" checked="checked">是否默认</el-checkbox>
-                  </div>
-                </el-col>
-              </el-form>
-            </el-row>
+      <div class="tab flex-align-center">
+        <p :class="activeName == '基本信息'?'tab-act':''" @click="tabChange('基本信息')">基本信息</p>
+        <p :class="activeName == '授权范围'?'tab-act':''" @click="tabChange('授权范围')">授权范围</p>
+      </div>
+      <div style="padding:16px 0;">
+        <el-form :model="form" v-show="activeName == '基本信息'" :rules="rules" ref="form" label-width="120px"
+          label-position="left" size="mini">
+          <el-col :span="24">
+            <el-form-item label="池名称" prop="poolname">
+              <el-input v-model="form.poolname" placeholder="请输入池名称"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="最大保客数" prop="countlimit">
+              <el-input v-model="form.countlimit" placeholder="成员最大保有客户数(0表示不设限)"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="跟进天数限制" prop="datafollowlimit">
+              <el-input v-model="form.datafollowlimit" placeholder="跟进天数限制(超过天数后自动退回,0表示不设限)"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="成交天数限制" prop="deallimit">
+              <el-input v-model="form.deallimit" placeholder="成交天数限制(超过天数后自动退回,0表示不限制)"></el-input>
+            </el-form-item>
           </el-col>
-          <el-col :span="12">
-            <scopeOfauth :onlyread="true" :defaultData="defaultData" scrollHeight="300px" obiectName="sa_customerpool" appidname="sa_customerpoolid" :dataid="dataid" @onChecked="onChecked"></scopeOfauth>
+          <el-col :span="24">
+            <el-form-item label="说明" prop="remarks">
+              <el-input v-model="form.remarks" type="textarea" placeholder="请输入说明"></el-input>
+            </el-form-item>
           </el-col>
-        </el-row>
-        
-      </el-row>
+          <el-col :span="24">
+            <div style="display:flex;justify-content: space-evenly;margin-bottom:20px">
+              <div>
+                <el-checkbox :true-label="1" :false-label="0" v-model="form.freeget" checked="checked">自由领取
+                </el-checkbox>
+                <el-checkbox :true-label="1" :false-label="0" v-model="form.isused" checked="checked">是否启用</el-checkbox>
+                <el-checkbox :true-label="1" :false-label="0" v-model="form.isdefault" checked="checked">是否默认
+                </el-checkbox>
+              </div>
+            </div>
+          </el-col>
+        </el-form>
+        <scopeOfauth :onlyread="true" v-show="activeName == '授权范围'" :defaultData="defaultData" scrollHeight="200px"
+          obiectName="sa_customerpool" appidname="sa_customerpoolid" :dataid="dataid" @onChecked="onChecked">
+        </scopeOfauth>
+      </div>
       <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>
@@ -63,14 +65,15 @@
 import scopeOfauth from '@/HDrpManagement/publicManage/components/scopeOfAuthority/index'
 export default {
   name: "add",
-  components:{scopeOfauth},
-  data(){
+  components: { scopeOfauth },
+  data () {
     return {
-      dialogFormVisible:false,
-      authData:'',
-      defaultData:[],
-      dataid:'',
-      form:{
+      dialogFormVisible: false,
+      authData: '',
+      defaultData: [],
+      activeName: '基本信息',
+      dataid: '',
+      form: {
         "sa_customerpoolid": 0,
         "poolname": "", //池名称
         "freeget": 1, //自由领取
@@ -81,28 +84,28 @@ export default {
         "deallimit": '', //成交天数限制(超过天数后自动退回,0表示不限制)
         "isdefault": 1 //是否默认
       },
-      rules:{
-        poolname:[
-          { required: true, message: '请输入名称', trigger: 'blur'},
+      rules: {
+        poolname: [
+          { required: true, message: '请输入名称', trigger: 'blur' },
         ],
-        countlimit:[
-          { required: true, message: '请输入数据', trigger: 'blur'}
+        countlimit: [
+          { required: true, message: '请输入数据', trigger: 'blur' }
         ],
-        datafollowlimit:[
-          { required: true, message: '请输入数据', trigger: 'blur'}
+        datafollowlimit: [
+          { required: true, message: '请输入数据', trigger: 'blur' }
         ],
-        deallimit:[
-          { required: true, message: '请输入数据', trigger: 'blur'}
+        deallimit: [
+          { required: true, message: '请输入数据', trigger: 'blur' }
         ]
       }
     }
   },
   provide () {
     return {
-      rowData:() => ''
+      rowData: () => ''
     }
   },
-  methods:{
+  methods: {
     editBtn () {
       this.dialogFormVisible = true
     },
@@ -110,34 +113,79 @@ export default {
     onChecked (param) {
       this.authData = param
       console.log(this.authData);
-      
     },
-    async onSubmit(){
+    onSubmit () {
       this.$refs['form'].validate(async (valid) => {
         if (!valid) return false
-        const res = await this.$api.requested({
-          "id": "20221009100502",
-          "version":1,
-          "content": this.form
-        })
-        if (this.authData) {
-          this.authData.sa_customerpoolid = res.data.sa_customerpoolid
-          const res2 = await this.$api.requested({
-            "id":"20221022111502",
-            "content": this.authData
+        if (!this.authData) {
+          this.$alert('还未授权范围,是否直接无视', '提示', {
+            confirmButtonText: '确定',
+            callback: async action => {
+              if (action == 'confirm') {
+                const res = await this.$api.requested({
+                  "id": "20221009100502",
+                  "version": 1,
+                  "content": this.form
+                })
+                if (this.authData) {
+                  this.authData.sa_customerpoolid = res.data.sa_customerpoolid
+                  const res2 = await this.$api.requested({
+                    "id": "20221022111502",
+                    "content": this.authData
+                  })
+                }
+                this.tool.showMessage(res, () => {
+                  this.$emit('onSuccess')
+                  this.$refs['form'].resetFields();
+                  this.dialogFormVisible = false
+                })
+              }
+            }
+          })
+        } else {
+          const res = await this.$api.requested({
+            "id": "20221009100502",
+            "version": 1,
+            "content": this.form
+          })
+          if (this.authData) {
+            this.authData.sa_customerpoolid = res.data.sa_customerpoolid
+            const res2 = await this.$api.requested({
+              "id": "20221022111502",
+              "content": this.authData
+            })
+          }
+          this.tool.showMessage(res, () => {
+            this.$emit('onSuccess')
+            this.$refs['form'].resetFields();
+            this.activeName = '基本信息'
+            this.dialogFormVisible = false
           })
         }
-        this.tool.showMessage(res,()=>{
-          this.$emit('onSuccess')
-          this.$refs['form'].resetFields();
-          this.dialogFormVisible = false
-        })
+
       })
-    }
+    },
+    tabChange (val) {
+      this.activeName = val
+    },
   }
 }
 </script>
 
 <style scoped>
-
+.tab p {
+  flex: 1;
+  height: 39px;
+  line-height: 39px;
+  text-align: center;
+  font-weight: 500;
+  font-size: 14px;
+  color: #999;
+  border-bottom: 2px solid #eeeeee;
+  cursor: pointer;
+}
+.tab-act {
+  color: #3874f6 !important;
+  border-bottom: 2px solid #3874f6 !important;
+}
 </style>

+ 137 - 92
src/Form/publicManage/edit.vue

@@ -1,56 +1,59 @@
 <template>
   <div>
     <el-button size="mini" type="text" @click="editBtn">编 辑</el-button>
-    <el-dialog title="新 增" :visible.sync="dialogFormVisible" width="80%">
+    <el-dialog title="新 增" :visible.sync="dialogFormVisible" width="50%">
       <div slot="title" style="font-size: 15px">
         编辑公海池
       </div>
-      <el-row :gutter="20">
-        <el-row>
-          <el-col :span="12">
-            <el-row>
-              <el-form :model="form" :rules="rules" ref="form" label-width="120px" label-position="left" size="mini">
-                <el-col :span="24">
-                  <el-form-item label="池名称" prop="poolname">
-                    <el-input v-model="form.poolname" placeholder="请输入池名称"></el-input>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="24">
-                  <el-form-item label="最大保客数" prop="countlimit">
-                    <el-input v-model="form.countlimit" placeholder="成员最大保有客户数(0表示不设限)"></el-input>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="24">
-                  <el-form-item label="跟进天数限制" prop="datafollowlimit">
-                    <el-input v-model="form.datafollowlimit" placeholder="跟进天数限制(超过天数后自动退回,0表示不设限)"></el-input>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="24">
-                  <el-form-item label="成交天数限制" prop="deallimit">
-                    <el-input v-model="form.deallimit" placeholder="成交天数限制(超过天数后自动退回,0表示不限制)"></el-input>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="24">
-                  <el-form-item label="说明" prop="remarks">
-                    <el-input v-model="form.remarks" type="textarea" placeholder="请输入说明"></el-input>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="24">
-                  <div style="display:flex;justfiy-content:eveny">
-                    <el-checkbox :true-label="1" :false-label="0" v-model="form.freeget" checked="checked">自由领取</el-checkbox>
-                    <el-checkbox :true-label="1" :false-label="0" v-model="form.isused" checked="checked">是否启用</el-checkbox>
-                    <el-checkbox :true-label="1" :false-label="0" v-model="form.isdefault" checked="checked">是否默认</el-checkbox>
-                  </div>
-                </el-col>
-              </el-form>
-            </el-row>
+      <div class="tab flex-align-center">
+        <p :class="activeName == '基本信息'?'tab-act':''" @click="tabChange('基本信息')">基本信息</p>
+        <p :class="activeName == '授权范围'?'tab-act':''" @click="tabChange('授权范围')">授权范围</p>
+      </div>
+      <div style="padding:16px 0;">
+        <el-form :model="form" v-show="activeName == '基本信息'" :rules="rules" ref="form" label-width="120px"
+          label-position="left" size="mini">
+          <el-col :span="24">
+            <el-form-item label="池名称" prop="poolname">
+              <el-input v-model="form.poolname" placeholder="请输入池名称"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="最大保客数" prop="countlimit">
+              <el-input v-model="form.countlimit" placeholder="成员最大保有客户数(0表示不设限)"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="跟进天数限制" prop="datafollowlimit">
+              <el-input v-model="form.datafollowlimit" placeholder="跟进天数限制(超过天数后自动退回,0表示不设限)"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="成交天数限制" prop="deallimit">
+              <el-input v-model="form.deallimit" placeholder="成交天数限制(超过天数后自动退回,0表示不限制)"></el-input>
+            </el-form-item>
           </el-col>
-          <el-col :span="12">
-            <scopeOfauth :onlyread="true" :defaultData="defaultData" scrollHeight="300px" obiectName="sa_customerpool" appidname="sa_customerpoolid" :dataid="data.sa_customerpoolid" @onChecked="onChecked"></scopeOfauth>
+          <el-col :span="24">
+            <el-form-item label="说明" prop="remarks">
+              <el-input v-model="form.remarks" type="textarea" placeholder="请输入说明"></el-input>
+            </el-form-item>
           </el-col>
-        </el-row>
-        
-      </el-row>
+          <el-col :span="24">
+            <div style="display:flex;justify-content: space-evenly;margin-bottom:20px">
+              <div>
+                <el-checkbox :true-label="1" :false-label="0" v-model="form.freeget" checked="checked">自由领取
+                </el-checkbox>
+                <el-checkbox :true-label="1" :false-label="0" v-model="form.isused" checked="checked">是否启用</el-checkbox>
+                <el-checkbox :true-label="1" :false-label="0" v-model="form.isdefault" checked="checked">是否默认
+                </el-checkbox>
+              </div>
+            </div>
+          </el-col>
+        </el-form>
+        <scopeOfauth :onlyread="true" v-show="activeName == '授权范围'" :defaultData="defaultData" scrollHeight="200px"
+          obiectName="sa_customerpool" appidname="sa_customerpoolid" :dataid="data.sa_customerpoolid"
+          @onChecked="onChecked">
+        </scopeOfauth>
+      </div>
       <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>
@@ -64,13 +67,14 @@ import scopeOfauth from '@/HDrpManagement/publicManage/components/scopeOfAuthori
 import { log } from '@antv/g2plot/lib/utils'
 export default {
   name: "add",
-  components:{scopeOfauth},
-  data(){
+  components: { scopeOfauth },
+  data () {
     return {
-      dialogFormVisible:false,
-      authData:'',
-      defaultData:'',
-      form:{
+      dialogFormVisible: false,
+      authData: '',
+      defaultData: '',
+      activeName: '基本信息',
+      form: {
         "sa_customerpoolid": 0,
         "poolname": "", //池名称
         "freeget": 1, //自由领取
@@ -81,64 +85,89 @@ export default {
         "deallimit": '', //成交天数限制(超过天数后自动退回,0表示不限制)
         "isdefault": 1 //是否默认
       },
-      rules:{
-        poolname:[
-          { required: true, message: '请输入名称', trigger: 'blur'},
+      rules: {
+        poolname: [
+          { required: true, message: '请输入名称', trigger: 'blur' },
         ],
-        countlimit:[
-          { required: true, message: '请输入数据', trigger: 'blur'}
+        countlimit: [
+          { required: true, message: '请输入数据', trigger: 'blur' }
         ],
-        datafollowlimit:[
-          { required: true, message: '请输入数据', trigger: 'blur'}
+        datafollowlimit: [
+          { required: true, message: '请输入数据', trigger: 'blur' }
         ],
-        deallimit:[
-          { required: true, message: '请输入数据', trigger: 'blur'}
+        deallimit: [
+          { required: true, message: '请输入数据', trigger: 'blur' }
         ]
       }
     }
   },
   provide () {
     return {
-      rowData:() => this.data
+      rowData: () => this.data
     }
   },
-  props:['data'],
-  methods:{
+  props: ['data'],
+  methods: {
     editBtn () {
       this.query_auth()
       this.dialogFormVisible = true
-      this.form = Object.assign({},this.form,this.data)
+      this.form = Object.assign({}, this.form, this.data)
     },
     // 获取保存授权范围数据
     onChecked (param) {
       this.authData = param
       console.log(this.authData);
-      
+
     },
-    async onSubmit(){
-        const res2 = await this.$api.requested({
-          "id":"20221022111502",
-          "content": this.authData
-        })
-        console.log(res2);
-        
-      // this.$refs['form'].validate(async (valid) => {
-      //   if (!valid) return false
-      //   const res = await this.$api.requested({
-      //     "id": "20221009100502",
-      //     "version":1,
-      //     "content": this.form
-      //   })
-      //   const res2 = await this.$api.requested({
-      //     "id":"20221022111502",
-      //     "content": this.authData
-      //   })
-      //   this.tool.showMessage(res,()=>{
-      //     this.$emit('onSuccess')
-      //     this.$refs['form'].resetFields();
-      //     this.dialogFormVisible = false
-      //   })
-      // })
+    async onSubmit () {
+      this.$refs['form'].validate(async (valid) => {
+        if (!valid) return false
+        if (!this.authData) {
+          this.$alert('还未授权范围,是否直接无视', '提示', {
+            confirmButtonText: '确定',
+            callback: async action => {
+              if (action == 'confirm') {
+                const res = await this.$api.requested({
+                  "id": "20221009100502",
+                  "version": 1,
+                  "content": this.form
+                })
+                if (this.authData) {
+                  this.authData.sa_customerpoolid = res.data.sa_customerpoolid
+                  const res2 = await this.$api.requested({
+                    "id": "20221022111502",
+                    "content": this.authData
+                  })
+                }
+                this.tool.showMessage(res, () => {
+                  this.$emit('onSuccess')
+                  this.$refs['form'].resetFields();
+                  this.dialogFormVisible = false
+                })
+              }
+            }
+          })
+        } else {
+          const res = await this.$api.requested({
+            "id": "20221009100502",
+            "version": 1,
+            "content": this.form
+          })
+          if (this.authData) {
+            this.authData.sa_customerpoolid = res.data.sa_customerpoolid
+            const res2 = await this.$api.requested({
+              "id": "20221022111502",
+              "content": this.authData
+            })
+          }
+          this.tool.showMessage(res, () => {
+            this.$emit('onSuccess')
+            this.$refs['form'].resetFields();
+            this.activeName = '基本信息'
+            this.dialogFormVisible = false
+          })
+        }
+      })
     },
     // 查询授权信息
     async query_auth () {
@@ -146,17 +175,33 @@ export default {
         "accesstoken": "456ae1e802b695b996e1bb8c2c405579",
         "id": 20221022135202,
         "content": {
-            "sa_customerpoolid":this.data.sa_customerpoolid
+          "sa_customerpoolid": this.data.sa_customerpoolid
         }
       })
       this.defaultData = res.data
       console.log(this.defaultData);
-      
+    },
+    tabChange (val) {
+      this.activeName = val
     },
   }
 }
 </script>
 
 <style scoped>
-
+.tab p {
+  flex: 1;
+  height: 39px;
+  line-height: 39px;
+  text-align: center;
+  font-weight: 500;
+  font-size: 14px;
+  color: #999;
+  border-bottom: 2px solid #eeeeee;
+  cursor: pointer;
+}
+.tab-act {
+  color: #3874f6 !important;
+  border-bottom: 2px solid #3874f6 !important;
+}
 </style>

+ 28 - 0
src/HDrpManagement/projectChange/components/Locked.vue

@@ -0,0 +1,28 @@
+<template>
+  <div class="inline-16">
+    <el-popconfirm :title="`确定${rowData.locked == 0 ? '锁定' : '解锁'}吗?`" @confirm="CheckRow()">
+      <el-button slot="reference" size="small" type="text">{{rowData.locked == 0 ? '锁定' : '解锁'}}</el-button>
+    </el-popconfirm>
+  </div>
+</template>
+
+<script>
+export default {
+  props: ['rowData'],
+  methods: {
+    async CheckRow() {
+      let res = await this.$api.requested({
+        "id": 20221024094502,
+        "content": {
+            "sa_projectids": [this.rowData.sa_projectid],
+            "locked": this.rowData.locked == 0 ? 1 : 0
+        }
+      })
+      this.tool.showMessage(res,() => {
+        this.$emit('onSuccess')
+      })
+    },
+  }
+}
+
+</script>

+ 6 - 2
src/HDrpManagement/projectChange/index.vue

@@ -49,7 +49,10 @@
           @checkSuccess="$refs.basicLayout.listData()" 
           :rowData="scope.data.data"
         />
-
+        <Locked
+          @onSuccess="$refs.basicLayout.listData()"
+          :rowData="scope.data.data"
+        />
         <Del 
           :id="scope.data.data.sa_projectid" 
           :nameId="20221020144302" 
@@ -67,10 +70,11 @@
 import Del from './components/del'
 import putPeople from './components/putPeople'
 import Check from './components/check'
+import Locked from './components/Locked'
 
 import TimeSelect from '@/SManagement/submitedit_one/components/TimeSelect'
 export default {
-  components:{Del,putPeople,Check,TimeSelect},
+  components:{Del,putPeople,Check,TimeSelect,Locked},
   name: "index",
   provide () {
     return {

+ 8 - 3
src/HDrpManagement/projectChange/modules/detail.vue

@@ -17,6 +17,9 @@
     <div slot="customOperation">
       <!-- 此区域提供了自定义操作按钮 -->
     </div>
+    <div slot="slot0" class="container normal-panel">
+      <BaseInfo :data="mainData" v-if="mainData"/>
+    </div>
     <div slot="slot2" class="container normal-panel">
       <ProjectSet />
     </div>
@@ -33,11 +36,12 @@
 import Quotation from './modules/quotation/index'
 import ProjectSet from './modules/projectSet/index'
 import Rival from './modules/rival/index'
+import BaseInfo from './modules/baseInfo/index'
 export default {
-  components:{Quotation,ProjectSet,Rival},
+  components:{Quotation,ProjectSet,Rival,BaseInfo},
   data () {
     return {
-      mainData:{},
+      mainData:'',
       mainAreaData:'',
       /* 企业列表 */
       enterpriseList:'',
@@ -55,7 +59,8 @@ export default {
       projectType:() => this.projectType,
       projectLead:() => this.projectLead,
       projectPanl:() => this.projectPanl,
-      detailData:() => this.mainData
+      detailData:() => this.mainData,
+      projectAddress:() => this.projectAddress
     }
   },
   methods:{

+ 85 - 0
src/HDrpManagement/projectChange/modules/modules/baseInfo/index.vue

@@ -0,0 +1,85 @@
+<template>
+  <div>
+    <div class="container normal-panel" style="margin-top: 2%">
+      <el-descriptions title="基本信息">
+        <el-descriptions-item label="项目编号">{{ data.projectnum ? data.projectnum : '--' }}</el-descriptions-item>
+        <el-descriptions-item label="项目名称">{{ data.projectname ? data.projectname : '--' }}</el-descriptions-item>
+        <el-descriptions-item label="项目地址" v-if="projectAddress()">{{ projectAddress().find(item => item.contactsid == data.sa_project_addressid).address }}</el-descriptions-item>
+        <el-descriptions-item label="项目等级" v-if="projectAddress()">{{ projectLead().find(item => item.rowindex == data.grade).value }}</el-descriptions-item>
+        <el-descriptions-item label="项目类型">{{ data.projecttype ? data.projecttype : '--' }}</el-descriptions-item>
+        <el-descriptions-item label="当前项目阶段">{{ data.stagename ? data.stagename : '--' }}</el-descriptions-item>
+        <el-descriptions-item label="项目报备时间">{{ data.reportcheckdate ? data.reportcheckdate : '--' }}</el-descriptions-item>
+        <el-descriptions-item label="项目联系人">{{ data.contact ? data.contact : '--' }}</el-descriptions-item>
+        <el-descriptions-item label="联系人手机号">{{ data.phonenumber ? data.phonenumber : '--' }}</el-descriptions-item>
+        <el-descriptions-item label="业务模式">{{ data.createby ? data.projectname : '--' }}</el-descriptions-item>
+        <el-descriptions-item label="项目规模">{{ data.scale ? data.scale : '--' }}</el-descriptions-item>
+        <el-descriptions-item label="项目状态">{{ data.status ? data.status : '--' }}</el-descriptions-item>
+        <el-descriptions-item label="项目折扣">{{ data.discountrate ? data.discountrate : '--' }}</el-descriptions-item>
+        <el-descriptions-item label="项目预算">{{ data.budgetary ? data.budgetary : '--' }}</el-descriptions-item>
+        <el-descriptions-item label="预计签约金额">{{ data.signamount_due ? data.signamount_due : '--' }}</el-descriptions-item>
+        <el-descriptions-item label="预计签约月份">{{ data.signdate_due ? data.signdate_due : '--' }}</el-descriptions-item>
+        <el-descriptions-item label="赢率">{{ data.winrate !=='' ? data.winrate : '--' }}</el-descriptions-item>
+        <el-descriptions-item label="负责人">{{ data.name ? data.name : '--' }}</el-descriptions-item>
+        <el-descriptions-item label="负责人部门">{{ data.depname ? data.depname : '--' }}</el-descriptions-item>
+      </el-descriptions>
+    </div>
+
+    <div class="container normal-panel" style="margin-top: 2%">
+      <el-descriptions title="系统信息">
+        <el-descriptions-item label="创建人">{{ data.createby ? data.createby : '--' }}</el-descriptions-item>
+        <el-descriptions-item label="创建时间">{{ data.createdate ? data.createdate : '--' }}</el-descriptions-item>
+        <el-descriptions-item label="最近跟进人">{{ data.followby ? data.followby : '--' }}</el-descriptions-item>
+        <el-descriptions-item label="最近跟进时间">{{ data.followdate ? data.followdate : '--' }}</el-descriptions-item>
+        <el-descriptions-item label="锁定状态" v-if="data.datastatus === 0">未锁定</el-descriptions-item>
+        <el-descriptions-item label="锁定状态" v-else-if="data.datastatus === 2">已锁定</el-descriptions-item>
+        <el-descriptions-item label="退回/回收原因">{{ data.returnreson ? data.returnreson : '--' }}</el-descriptions-item>
+        <el-descriptions-item label="最近编辑人">{{ data.changeby ? data.changeby : '--'}}</el-descriptions-item>
+        <el-descriptions-item label="最近编辑时间">{{ data.changedate ? data.changedate : '--' }}</el-descriptions-item>
+        <el-descriptions-item label="转手次数">{{ data.changecount ? data.changecount : '--' }}</el-descriptions-item>
+      </el-descriptions>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "detailedData",
+  props:["data"],
+  inject:['projectLead','projectType','projectAddress'],
+  data(){
+    return {
+    }
+  },
+  mounted() {
+    // this.dataData(this.data)
+    // this.dataData(this.data)
+  },
+  methods:{
+    // /*基本信息*/
+    // async dataData(id){
+    //   const res = await this.$api.requested({
+    //     "id": 20221012164302,
+    //     "content": {
+    //       "sa_customersid": id
+    //     },
+    //   })
+    //   this.data = res.data
+
+    // },
+    // /*系统信息*/
+    // async dataData(id){
+    //   const res = await this.$api.requested({
+    //     "id": 20221019091602,
+    //     "content": {
+    //       "sa_customersid": id
+    //     },
+    //   })
+    //   this.data = res.data
+    // }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 3 - 3
src/HDrpManagement/publicCustomer/components/statusChange.vue

@@ -1,7 +1,7 @@
 <template>
   <div>
-    <el-button size="mini" type="text" @click="editBtn">变 更</el-button>
-    <el-dialog title="新 增" :visible.sync="dialogFormVisible" width="30%">
+    <el-button style="width:100%;display:block" size="mini" :type="type=='detail' ? '' :'text'" @click="editBtn">变 更</el-button>
+    <el-dialog title="新 增" append-to-body :visible.sync="dialogFormVisible" width="30%">
       <div slot="title" style="font-size: 15px">
         状态变更
       </div>
@@ -93,7 +93,7 @@ export default {
       }
     }
   },
-  props:['data'],
+  props:['data','type'],
   methods:{
     editBtn () {
       this.dialogFormVisible = true

+ 2 - 2
src/HDrpManagement/publicCustomer/index.vue

@@ -25,8 +25,8 @@
         </div>
       </template>
       <template v-slot:tbOpreation="scope">
-        <status-change class="inline-16" @deleteSuccess="$refs.basicLayout.listData()" :data="scope.data.data" />
         <el-button size="mini" type="text" class="inline-16" @click="$router.push({path:'/PublicCustomerDetail',query:{id:scope.data.data.sa_customersid,rowindex:scope.data.data.rowindex}})">详 情</el-button>
+        <status-change class="inline-16" @onSuccess="$refs.basicLayout.listData()" :data="scope.data.data" />
       </template>
     </basicLayout>
   </div>
@@ -42,7 +42,7 @@ export default {
       customerType:'',
       customerLead:'',
       publicList:'',
-      arealist:[]
+      arealist:[],
     }
   },
   provide () {

+ 42 - 99
src/HDrpManagement/publicCustomer/modules/detail.vue

@@ -1,18 +1,10 @@
 
 <template>
-  <basicDetails 
-    ref="details"
-    :titleText="mainData.enterprisename"
-    formPath="publicCustomer"
-    :editData="mainData"
-    :mainAreaData="mainAreaData" 
-    :turnPageId="20221011133602" 
-    idname="sa_customersid"
-    tags=""
-    @pageChange="pageChange"
-    @onEditSuccess="queryMainData($route.query.id)">
+  <basicDetails ref="details" :titleText="mainData.enterprisename" formPath="publicCustomer" :editData="mainData"
+    :mainAreaData="mainAreaData" :turnPageId="20221011133602" idname="sa_customersid" tags=""
+    @pageChange="pageChange" @onEditSuccess="queryMainData($route.query.id)">
     <div slot="tags">
-    <tagPanl slot="tags" :data="tagObj" :id="mainData.sa_customersid" @onSuccess="queryMainData"/>
+      <tagPanl slot="tags" :data="tagObj" :id="mainData.sa_customersid" @onSuccess="queryMainData" />
       <!-- 使用此插槽可不传[tags] -->
       <!-- :tabs="['经销商团队','代理区域','营销类别','账户余额']" -->
     </div>
@@ -20,57 +12,47 @@
       <!-- 此区域提供了自定义操作按钮 -->
     </div>
     <!-- <div slot="slot0" class="container normal-panel">
-      <el-button size="small" type="primary" @click="createAgentAccount" class="normal-margin">创建经销商主账号</el-button>
-      <tableLayout :layout="tablecols" :data="mainData.hrs" :custom="false" height="300px"></tableLayout>
-    </div>
-    <div slot="slot1" class="container normal-panel">
-      <salescope :data="mainData"></salescope>
-    </div>
-    <div slot="slot2" class="container normal-panel">
-      <SaleClass :data="mainData"></SaleClass>
-    </div>
-    <div slot="slot3" class="container normal-panel">
-      <accountMoney :mainData="mainData"></accountMoney>
     </div> -->
+
   </basicDetails>
 </template>
 
 <script>
+import detailInfo from '@/components/detailInfo/index'
 export default {
   data () {
     return {
-      mainData:{},
-      mainAreaData:[],
-      customerType:'',
-      customerLead:'',
-      arealist:[],
-      publicList:[],
-      tagObj:{},
+      mainData: {},
+      mainAreaData: [],
+      customerType: '',
+      customerLead: '',
+      arealist: [],
+      publicList: [],
+      tagObj: {},
     }
   },
   provide () {
     return {
-      customerType:() => this.customerType,
-      customerLead:() => this.customerLead,
-      arealist:() => this.arealist,
-      publicList:() => this.publicList
+      customerType: () => this.customerType,
+      customerLead: () => this.customerLead,
+      arealist: () => this.arealist,
+      publicList: () => this.publicList
     }
   },
-  components:{
-
+  components: {
   },
-  methods:{
+  methods: {
     /* 获取系统选项数据 */
-    async getSysOption() {
+    async getSysOption () {
       /* 获取客户类型 */
-      let res = await this.$store.dispatch('optiontypeselect','customertypemx')
+      let res = await this.$store.dispatch('optiontypeselect', 'customertypemx')
       this.customerType = res.data
       /* 获取客户等级 */
-      let res2 = await this.$store.dispatch('optiontypeselect','customergrade')
+      let res2 = await this.$store.dispatch('optiontypeselect', 'customergrade')
       this.customerLead = res2.data
     },
     /* 获取省市县 */
-    async query_arealist() {
+    async query_arealist () {
       const res = await this.$api.requested({
         "classname": "system.tools",
         "method": "query_arealist",
@@ -80,16 +62,16 @@ export default {
       this.arealist = this.tool.createMenu(res.data)
     },
     /* 获取公海数据 */
-    async getPublicList() {
+    async getPublicList () {
       const res = await this.$api.requested({
-      "id": 20221009100702,
-      "content": {
+        "id": 20221009100702,
+        "content": {
           "pageNumber": 1,
           "pageSize": 999999,
           "where": {
           }
-      },
-    })
+        },
+      })
       this.publicList = res.data
     },
     /* 获取数据标签 */
@@ -97,88 +79,49 @@ export default {
       let res = await this.$api.requested({
         "id": 20220929085401,
         "content": {
-            "ownertable":"sa_customers",
-            "ownerid":id
+          "ownertable": "sa_customers",
+          "ownerid": id
         }
       })
       this.tagObj = res.data
       console.log(this.tagObj);
-      
+
     },
     async queryMainData (id) {
       const res = await this.$api.requested({
         "id": "20221011133502",
-        "version":1,
+        "version": 1,
         "content": {
-            "sa_customersid":this.$route.query.id
+          "sa_customersid": this.$route.query.id
         }
       })
       this.$refs.details.param.content.isExport = false
       this.mainData = res.data
       console.log(this.mainData);
+
       this.getDataTag(this.mainData.sa_customersid)
       this.changeDataStructure()
     },
     // 监听切换数据,上一页,下一页
-    pageChange (id,rowindex) {
-      this.$router.replace({path:'/PublicCustomerDetail',query:{id:id,rowindex:rowindex}})
+    pageChange (id, rowindex) {
+      this.$router.replace({ path: '/PublicCustomerDetail', query: { id: id, rowindex: rowindex } })
       this.queryMainData(id)
     },
     changeDataStructure () {
       this.mainAreaData = [
         {
-          label:'客户名称',
+          label: '客户名称',
           value: this.mainData.enterprisename
         },
+
         {
-          label:'负责人',
-          // value: this.mainData.leader.length > 0 ? scope.data.column.data[[scope.data.column.columnname]].name : '--'
-          value:this.mainData.leadername
-        },
-        {
-          label:'客户简称',
-          value: this.mainData.abbreviation
-        },
-        {
-          label:'用户类型',
-          value: this.mainData.type
-        },
-        {
-          label:'所属公海池',
+          label: '所属公海池',
           value: this.mainData.poolname
         },
         {
-          label:'客户等级',
+          label: '客户等级',
           // value: this.customerLead.find(item => item.rowindex == this.mainData.grade).value
-          value:this.mainData.grade
-        },
-        {
-          label:'客户来源',
-          value: this.mainData.source
-        },
-        {
-          label:'所在行业',
-          value: this.mainData.industry
-        },
-        {
-          label:'交易状态',
-          value: this.mainData.tradingstatus
-        },
-        {
-          label:'数据状态',
-          value: this.mainData.datastatus == 0 ? '正常' : this.mainData.datastatus == 1 ? '作废' : '锁定'
-        },
-        {
-          label:'客户状态',
-          value: this.mainData.status
-        },
-        {
-          label:'创建人',
-          value: this.mainData.createby
-        },
-        {
-          label:'创建时间',
-          value: this.mainData.createdate
+          value: this.mainData.grade
         },
       ]
     }
@@ -187,7 +130,7 @@ export default {
   },
   created () {
     // 验证权限
-    this.tool.checkAuth(this.$route.name,'update')?'':this.$router.go(-1)
+    this.tool.checkAuth(this.$route.name, 'update') ? '' : this.$router.go(-1)
     this.queryMainData(this.$route.query.id)
     this.getSysOption()
     this.query_arealist()

+ 0 - 76
src/HDrpManagement/publicManage/components/team.vue

@@ -1,76 +0,0 @@
-<template>
-  <div>
-    <el-button size="mini" type="text" @click="btn">团 队</el-button>
-    <el-dialog title="选择报备人" :visible.sync="dialogFormVisible" width="30%">
-      <el-row :gutter="20">
-        <el-form :model="form" :rules="rules" ref="form" label-width="120px" label-position="left" size="mini">
-          <el-col :span="20">
-            <el-form-item label="团队成员" prop="userid">
-              <el-select v-model="form.userid" placeholder="请选择成员" size="small" multiple >
-                <el-option
-                  v-for="item in data"
-                  :key="item.userid"
-                  :label="item.name"
-                  :value="item.name">
-                </el-option>
-              </el-select>
-            </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>
-export default {
-  name: "add",
-  props:['data','rowData'],
-  data(){
-    return {
-      dialogFormVisible:false,
-      form:{
-        "ownertable":"sa_customerpool",
-        "ownerid":'',
-        "userid":[]
-      },
-      rules:{
-        reportby:[
-          { required: true, message: '请选择负责人', trigger: 'blur'},
-        ],
-      }
-    }
-  },
-  methods:{
-    btn () {
-      this.dialogFormVisible = true
-      this.form = Object.assign({},this.form,this.data)
-    },
-    onSubmit(){
-      console.log(this.form)
-      this.$refs['form'].validate(async (valid) => {
-        if (!valid) return false
-        const res = await this.$api.requested({
-          "id": 20220930103601,
-          "content": this.form
-        })
-        this.tool.showMessage(res,()=>{
-          this.$emit('onSuccess')
-          this.$refs['form'].resetFields();
-          this.dialogFormVisible = false
-        })
-      })
-    }
-  }
-}
-</script>
-
-<style scoped>
-/deep/.el-select {
-  width: 100%;
-}
-</style>

+ 1 - 3
src/HDrpManagement/publicManage/index.vue

@@ -16,7 +16,6 @@ vue
         <div v-else>{{scope.data.column.data[[scope.data.column.columnname]]}}</div>
       </template>
       <template v-slot:tbOpreation="scope">
-        <team class="inline-16" :rowData="scope.data.data" :data="people"/>
         <delete-btn @deleteSuccess="$refs.basicLayout.listData()" :id="scope.data.data.sa_customerpoolid" nameId="20221009100602" nameKey="sa_customerpoolids" />
       </template>
     </basicLayout>
@@ -24,7 +23,6 @@ vue
 </template>
 
 <script>
-import team from './components/team'
 export default {
   data () {
     return {
@@ -36,7 +34,7 @@ export default {
     return {
     }
   },
-  components:{team},
+  components:{},
   methods:{
     async getPeople () {
       let res = await this.$api.requested({

+ 36 - 0
src/components/detailInfo/index.vue

@@ -0,0 +1,36 @@
+<template>
+  <div>
+    <div class="container" style="margin-top: 2%">
+      <el-descriptions title="基本信息">
+        <el-descriptions-item v-for="(item,index) in data.baseInfo" :key="index" :label="item.label">{{ item.value ? item.value : '--' }}</el-descriptions-item>
+      </el-descriptions>
+    </div>
+
+    <div class="container" style="margin-top: 2%">
+      <el-descriptions title="系统信息">
+        <el-descriptions-item v-for="(item,index) in data.systemInfo" :key="index" :label="item.label">{{ item.value ? item.value : '--' }}</el-descriptions-item>
+      </el-descriptions>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "detailedData",
+  props:["data"],
+  data(){
+    return {
+    }
+  },
+  mounted() {
+
+  },
+  methods:{
+
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 1 - 0
src/components/normal-basic-layout/index.vue

@@ -128,6 +128,7 @@ export default {
     },
     checkboxCallBack (val) {
       this.selection = val
+      this.$emit('checkboxCallBack',val)
     },
     deleteData () {
       this.$confirm('确定删除这些数据吗?', '提示', {