Browse Source

2022-10-24 14:00

codeMan 3 years ago
parent
commit
41f3129f3d

+ 14 - 164
src/Form/projectChange/projectSet/add.vue

@@ -8,106 +8,17 @@
       <el-row :gutter="20">
         <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="sys_enterpriseid">
-              <el-select v-model="form.sys_enterpriseid" placeholder="请选择企业" size="small" @change="getProjectAddres()">
+            <el-form-item label="项目类型" prop="itemids">
+              <el-select v-model="form.itemids" placeholder="请选择项目类型" multiple size="small">
                 <el-option
-                  v-for="item in enterpriseList()"
-                  :key="item.sys_enterpriseid"
-                  :label="item.enterprisename"
-                  :value="item.sys_enterpriseid">
+                  v-for="(item,index) in productList()"
+                  :key="item.itemid"
+                  :label="item.itemname"
+                  :value="item.itemid">
                 </el-option>
               </el-select>
             </el-form-item>
           </el-col>
-          <el-col :span="12">
-            <el-form-item label="项目名称" prop="projectname">
-              <el-input v-model="form.projectname" placeholder="请输入项目名称"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="项目编号" prop="projectnum">
-              <el-input v-model="form.projectnum" placeholder="请输入项目编号"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="项目预算" prop="budgetary">
-              <el-input v-model="form.budgetary" placeholder="项目预算"></el-input>
-            </el-form-item>
-          </el-col>
-          
-          <el-col :span="12">
-            <el-form-item label="项目规模" prop="scale">
-              <el-input v-model="form.scale" placeholder="请输入项目规模"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="预计签约金额" prop="signamount_due">
-              <el-input v-model="form.signamount_due" placeholder="请输入预计签约金额"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="详细地址" prop="address">
-              <el-input v-model="form.address" placeholder="请输入详细地址"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="当前项目模板" prop="sa_projstagetempid">
-              <el-select v-model="form.sa_projstagetempid" placeholder="请选择当前项目模板" size="small">
-                <el-option
-                  v-for="item in projectPanl()"
-                  :key="item.sa_projstagetempid"
-                  :label="item.stagetempname"
-                  :value="item.sa_projstagetempid">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="项目地址" prop="sa_project_addressid">
-              <el-select v-model="form.sa_project_addressid" placeholder="请先选择企业" size="small">
-                <el-option
-                  v-for="(item,index) in projectAddress"
-                  :key="index"
-                  :label="item.address"
-                  :value="item.contactsid">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="项目等级" prop="grade">
-              <el-select v-model="form.grade" placeholder="请选择项目等级" size="small">
-                <el-option
-                  v-for="item in projectLead()"
-                  :key="item.rowindex"
-                  :label="item.value"
-                  :value="item.rowindex">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="项目类型" prop="projecttype">
-              <el-select v-model="form.projecttype" placeholder="请选择项目类型" size="small">
-                <el-option
-                  v-for="(item,index) in projectType()"
-                  :key="index"
-                  :label="item.value"
-                  :value="item.value">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="预计签约时间" prop="signdate_due">
-              <el-date-picker
-                v-model="form.signdate_due"
-                type="date"
-                placeholder="选择日期"
-                @change="timeChange">
-              </el-date-picker>
-            </el-form-item>
-          </el-col>
         </el-form>
       </el-row>
       <div class="dialog-footer">
@@ -121,60 +32,30 @@
 <script>
 export default {
   name: "add",
-  inject:['enterpriseList','projectType','projectLead','projectPanl'],
+  inject:['productList'],
   components:{},
   data(){
     return {
       dialogFormVisible:false,
       projectAddress:[],
       form:{
-        "sa_projectid":0,
-        "sys_enterpriseid":"",
-        "projectname":"",
-        "projectnum":"",
-        "address":"",//可选
-        "grade":"",//可选
-        "budgetary":"",//可选
-        "remarks":"",//可选
-        "projecttype":"",//可选
-        "sa_projstagetempid":"",//可选
-        "signdate_due":"",//可选
-        "scale":"",//可选
-        "signamount_due":"",//可选
-        "sa_project_addressid":""//选择地址
+        "sa_projectid": "",
+        "itemids": []
       },
       rules:{
-        projectname:[
-          { required: true, message: '输入项目名称', trigger: 'blur'},
-        ],
-        projectnum:[
-          { required: true, message: '输入项目编号', trigger: 'blur'}
-        ],
-        sa_project_addressid:[
-          { required: true, message: '请选择项目地址', trigger: 'blur'},
-        ],
-        projecttype:[
-          { required: true, message: '请选择项目类型', trigger: 'blur'}
-        ],
-        sys_enterpriseid:[
-          { required: true, message: '请选择企业', trigger: 'blur'},
-        ],
-        grade:[
-          { required: true, message: '请选择项目等级', trigger: 'blur'}
-        ],
-        sa_projstagetempid:[
-          { required: true, message: '请选择当前项目模板', trigger: 'blur'}
-        ],
+        itemids:[
+          { required: true, message: '请选择商品', trigger: 'blur'},
+        ]
       }
     }
   },
   methods:{
     onSubmit(){
-      console.log(this.form)
       this.$refs['form'].validate(async (valid) => {
         if (!valid) return false
+        this.form.sa_projectid = this.$route.query.id
         const res = await this.$api.requested({
-          "id": "20221020144202",
+          "id": "20221021145502",
           "version":1,
           "content": this.form
         })
@@ -185,37 +66,6 @@ export default {
         })
       })
     },
-    /* 获取项目地址 */
-    async getProjectAddres () {
-      let res = await this.$api.requested({
-        "id": "20221018153302",
-        "content": {
-            "sys_enterpriseid": this.form.sys_enterpriseid,
-            "pageNumber": 1,
-            "pageSize": 999999,
-            "where": {
-                "condition": ""
-            }
-        }
-      })
-      this.form.sa_project_addressid = ''
-      this.projectAddress = res.data
-      console.log(res);
-    },
-    timeChange(e) {
-      if(!e) {
-        this.form.signdate_due = ''
-      } 
-      let result = this.changeTimeFormat(e.getTime())
- 
-      this.form.signdate_due = result
-    },
-    changeTimeFormat(time) {
-      var date = new Date(time);
-      var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
-      var currentDate = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
-      return date.getFullYear() + "-" + month + "-" + currentDate
-    }
   }
 }
 </script>

+ 21 - 177
src/Form/projectChange/projectSet/edit.vue

@@ -1,113 +1,24 @@
 <template>
   <div>
-    <el-button size="mini" :type="btnType?btnType:'text'" @click="editBtn">编 辑</el-button>
-    <el-dialog title="新 增" append-to-body :visible.sync="dialogFormVisible" width="50%">
+    <el-button size="mini" type="text" @click="editBtn">编 辑</el-button>
+    <el-dialog title="编 辑" :visible.sync="dialogFormVisible" width="50%">
       <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="left" size="mini">
           <el-col :span="24">
-            <el-form-item label="企业名称" prop="sys_enterpriseid">
-              <el-select v-model="form.sys_enterpriseid" placeholder="请选择企业" size="small" @change="getProjectAddres()">
+            <el-form-item label="项目类型" prop="itemids">
+              <el-select v-model="form.itemids" placeholder="请选择项目类型" multiple size="small">
                 <el-option
-                  v-for="item in enterpriseList()"
-                  :key="item.sys_enterpriseid"
-                  :label="item.enterprisename"
-                  :value="item.sys_enterpriseid">
+                  v-for="item in productList()"
+                  :key="item.itemid"
+                  :label="item.itemname"
+                  :value="item.itemid">
                 </el-option>
               </el-select>
             </el-form-item>
           </el-col>
-          <el-col :span="12">
-            <el-form-item label="项目名称" prop="projectname">
-              <el-input v-model="form.projectname" placeholder="请输入项目名称"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="项目编号" prop="projectnum">
-              <el-input v-model="form.projectnum" placeholder="请输入项目编号"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="项目预算" prop="budgetary">
-              <el-input v-model="form.budgetary" placeholder="项目预算"></el-input>
-            </el-form-item>
-          </el-col>
-          
-          <el-col :span="12">
-            <el-form-item label="项目规模" prop="scale">
-              <el-input v-model="form.scale" placeholder="请输入项目规模"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="预计签约金额" prop="signamount_due">
-              <el-input v-model="form.signamount_due" placeholder="请输入预计签约金额"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="详细地址" prop="address">
-              <el-input v-model="form.address" placeholder="请输入详细地址"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="当前项目模板" prop="sa_projstagetempid">
-              <el-select v-model="form.sa_projstagetempid" placeholder="请选择当前项目模板" size="small">
-                <el-option
-                  v-for="item in projectPanl()"
-                  :key="item.sa_projstagetempid"
-                  :label="item.stagetempname"
-                  :value="item.sa_projstagetempid">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="项目地址" prop="sa_project_addressid">
-              <el-select v-model="form.sa_project_addressid" placeholder="请先选择企业" size="small">
-                <el-option
-                  v-for="(item,index) in projectAddress"
-                  :key="index"
-                  :label="item.address"
-                  :value="item.contactsid">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="项目等级" prop="grade">
-              <el-select v-model="form.grade" placeholder="请选择项目等级" size="small">
-                <el-option
-                  v-for="item in projectLead()"
-                  :key="item.rowindex"
-                  :label="item.value"
-                  :value="item.rowindex">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="项目类型" prop="projecttype">
-              <el-select v-model="form.projecttype" placeholder="请选择项目类型" size="small">
-                <el-option
-                  v-for="(item,index) in projectType()"
-                  :key="index"
-                  :label="item.value"
-                  :value="item.value">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="预计签约时间" prop="signdate_due">
-              <el-date-picker
-                v-model="form.signdate_due"
-                type="date"
-                placeholder="选择日期"
-                @change="timeChange">
-              </el-date-picker>
-            </el-form-item>
-          </el-col>
         </el-form>
       </el-row>
       <div class="dialog-footer">
@@ -119,75 +30,39 @@
 </template>
 
 <script>
+import { log } from '@antv/g2plot/lib/utils'
 export default {
   name: "add",
-  inject:['enterpriseList','projectType','projectLead','projectPanl'],
+  inject:['productList'],
   components:{},
-  props:['data','btnType'],
+  props:['data'],
   data(){
     return {
       dialogFormVisible:false,
       projectAddress:[],
-      addChange:false,
       form:{
-        "sa_projectid":0,
-        "sys_enterpriseid":"",
-        "projectname":"",
-        "projectnum":"",
-        "address":"",//可选
-        "grade":"",//可选
-        "budgetary":"",//可选
-        "remarks":"",//可选
-        "projecttype":"",//可选
-        "sa_projstagetempid":"",//可选
-        "signdate_due":"",//可选
-        "scale":"",//可选
-        "signamount_due":"",//可选
-        "sa_project_addressid":""//选择地址
+        "sa_projectid": "",
+        "itemids": []
       },
       rules:{
-        projectname:[
-          { required: true, message: '输入项目名称', trigger: 'blur'},
-        ],
-        projectnum:[
-          { required: true, message: '输入项目编号', trigger: 'blur'}
-        ],
-        sa_project_addressid:[
-          { required: true, message: '请选择项目地址', trigger: 'blur'},
-        ],
-        projecttype:[
-          { required: true, message: '请选择项目类型', trigger: 'blur'}
-        ],
-        sys_enterpriseid:[
-          { required: true, message: '请选择企业', trigger: 'blur'},
-        ],
-        grade:[
-          { required: true, message: '请选择项目等级', trigger: 'blur'}
-        ],
-        sa_projstagetempid:[
-          { required: true, message: '请选择当前项目模板', trigger: 'blur'}
-        ],
+        itemids:[
+          { required: true, message: '请选择商品', trigger: 'blur'},
+        ]
       }
     }
   },
   methods:{
     editBtn () {
       this.dialogFormVisible = true
-      if (this.data.sys_enterpriseid) {
-        this.form = Object.assign({},this.form,this.data)
-        this.form.grade = parseInt(this.form.grade)
-        this.getProjectAddres()
-        this.addChange = true
-      } else {
-        this.form = Object.assign({},this.form,this.data)
-        this.form.grade = parseInt(this.form.grade)
-      }
+      this.form.sa_projectid = this.$route.query.id
+      this.form.itemids = [this.data.itemid]
     },
     onSubmit(){
       this.$refs['form'].validate(async (valid) => {
         if (!valid) return false
+        this.form.sa_projectid = this.$route.query.id
         const res = await this.$api.requested({
-          "id": "20221020144202",
+          "id": "20221021145502",
           "version":1,
           "content": this.form
         })
@@ -198,37 +73,6 @@ export default {
         })
       })
     },
-    /* 获取项目地址 */
-    async getProjectAddres () {
-      if (this.addChange) this.form.sa_project_addressid = ''
-      let res = await this.$api.requested({
-        "id": "20221018153302",
-        "content": {
-            "sys_enterpriseid": this.form.sys_enterpriseid,
-            "pageNumber": 1,
-            "pageSize": 999999,
-            "where": {
-                "condition": ""
-            }
-        }
-      })
-      this.projectAddress = res.data
-      console.log(this.projectAddress);
-    },
-    timeChange(e) {
-      if(!e) {
-        this.form.signdate_due = ''
-      } 
-      let result = this.changeTimeFormat(e.getTime())
- 
-      this.form.signdate_due = result
-    },
-    changeTimeFormat(time) {
-      var date = new Date(time);
-      var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
-      var currentDate = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
-      return date.getFullYear() + "-" + month + "-" + currentDate
-    }
   }
 }
 </script>

+ 100 - 0
src/Form/projectChange/quotation/detail/add.vue

@@ -0,0 +1,100 @@
+<template>
+  <div>
+    <el-button size="mini" type="primary" @click="dialogFormVisible = true">新 增</el-button>
+    <el-dialog title="新 增" append-to-body :visible.sync="dialogFormVisible" width="30%">
+      <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="left" size="mini">
+          <el-col :span="24">
+            <el-form-item label="原价" prop="oldprice">
+              <el-input v-model="form.oldprice" placeholder="请输入原价"></el-input>
+            </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="24">
+            <el-form-item label="产品" prop="itemid">
+              <el-select v-model="form.itemid" placeholder="请选择产品" size="small">
+                <el-option
+                  v-for="item in productList()"
+                  :key="item.itemid"
+                  :label="item.itemname"
+                  :value="item.itemid">
+                </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",
+  inject:['productList','rowData'],
+  components:{},
+  data(){
+    return {
+      dialogFormVisible:false,
+      form:{
+        "sa_quotedprice_itemsid":0,
+        "itemid":"",
+        "oldprice":"",
+        "discountrate":""
+      },
+      rules:{
+        itemid:[
+          { required: true, message: '输入项目名称', trigger: 'blur'},
+        ],
+        oldprice:[
+          { required: true, message: '请选择报价有效期', trigger: 'blur'}
+        ],
+        discountrate:[
+          { required: true, message: '整单折扣率,保留2位小数', trigger: 'blur'}
+        ],
+      }
+    }
+  },
+  methods:{
+    onSubmit(){
+      this.$refs['form'].validate(async (valid) => {
+        if (!valid) return false
+        const res = await this.$api.requested({
+            "id": 20221021095403,
+            "version":1,
+            "content": {
+                "sa_quotedpriceid":this.rowData().sa_quotedpriceid,
+                "items":[this.form]
+            }
+        })
+        this.tool.showMessage(res,()=>{
+          this.$emit('onSuccess')
+          this.$refs['form'].resetFields();
+          this.dialogFormVisible = false
+        })
+      })
+    }
+  }
+}
+</script>
+
+<style scoped>
+/deep/.el-select {
+  height: 28px !important;
+  width: 100%;
+}
+/deep/.el-input__inner {
+  height: 28px !important;
+}
+</style>

+ 107 - 0
src/Form/projectChange/quotation/detail/edit.vue

@@ -0,0 +1,107 @@
+<template>
+  <div>
+    <el-button size="mini" type="text" @click="editBtn">编 辑</el-button>
+    <el-dialog title="新 增" append-to-body :visible.sync="dialogFormVisible" width="30%">
+      <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="left" size="mini">
+          <el-col :span="24">
+            <el-form-item label="原价" prop="oldprice">
+              <el-input v-model="form.oldprice" placeholder="请输入原价"></el-input>
+            </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="24">
+            <el-form-item label="产品" prop="itemid">
+              <el-select v-model="form.itemid" placeholder="请选择产品" size="small">
+                <el-option
+                  v-for="item in productList()"
+                  :key="item.itemid"
+                  :label="item.itemname"
+                  :value="item.itemid">
+                </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",
+  inject:['productList'],
+  props:['data'],
+  components:{},
+  data(){
+    return {
+      dialogFormVisible:false,
+      form:{
+        "sa_quotedprice_itemsid":0,
+        "itemid":"",
+        "oldprice":"",
+        "discountrate":""
+      },
+      rules:{
+        itemid:[
+          { required: true, message: '输入项目名称', trigger: 'blur'},
+        ],
+        oldprice:[
+          { required: true, message: '请选择报价有效期', trigger: 'blur'}
+        ],
+        discountrate:[
+          { required: true, message: '整单折扣率,保留2位小数', trigger: 'blur'}
+        ],
+      }
+    }
+  },
+  methods:{
+    editBtn () {
+      this.dialogFormVisible = true
+      this.form = Object.assign({},this.form,this.data)
+      console.log(this.form);
+      
+    },
+    onSubmit(){
+      this.$refs['form'].validate(async (valid) => {
+        if (!valid) return false
+        const res = await this.$api.requested({
+            "id": 20221021095403,
+            "version":1,
+            "content": {
+                "sa_quotedpriceid":this.data.sa_quotedpriceid,
+                "items":[this.form]
+            }
+        })
+        this.tool.showMessage(res,()=>{
+          this.$emit('onSuccess')
+          this.$refs['form'].resetFields();
+          this.dialogFormVisible = false
+        })
+      })
+    },
+  }
+}
+</script>
+
+<style scoped>
+/deep/.el-select {
+  height: 28px !important;
+  width: 100%;
+}
+/deep/.el-input__inner {
+  height: 28px !important;
+}
+</style>

+ 35 - 147
src/Form/projectChange/quotation/edit.vue

@@ -1,113 +1,42 @@
 <template>
   <div>
     <el-button size="mini" :type="btnType?btnType:'text'" @click="editBtn">编 辑</el-button>
-    <el-dialog title="新 增" append-to-body :visible.sync="dialogFormVisible" width="50%">
+    <el-dialog title="新 增" :visible.sync="dialogFormVisible" width="50%">
       <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="left" size="mini">
-          <el-col :span="24">
-            <el-form-item label="企业名称" prop="sys_enterpriseid">
-              <el-select v-model="form.sys_enterpriseid" placeholder="请选择企业" size="small" @change="getProjectAddres()">
-                <el-option
-                  v-for="item in enterpriseList()"
-                  :key="item.sys_enterpriseid"
-                  :label="item.enterprisename"
-                  :value="item.sys_enterpriseid">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
           <el-col :span="12">
             <el-form-item label="项目名称" prop="projectname">
               <el-input v-model="form.projectname" placeholder="请输入项目名称"></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="项目编号" prop="projectnum">
-              <el-input v-model="form.projectnum" placeholder="请输入项目编号"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="项目预算" prop="budgetary">
-              <el-input v-model="form.budgetary" placeholder="项目预算"></el-input>
-            </el-form-item>
-          </el-col>
-          
-          <el-col :span="12">
-            <el-form-item label="项目规模" prop="scale">
-              <el-input v-model="form.scale" placeholder="请输入项目规模"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="预计签约金额" prop="signamount_due">
-              <el-input v-model="form.signamount_due" placeholder="请输入预计签约金额"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="详细地址" prop="address">
-              <el-input v-model="form.address" placeholder="请输入详细地址"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="当前项目模板" prop="sa_projstagetempid">
-              <el-select v-model="form.sa_projstagetempid" placeholder="请选择当前项目模板" size="small">
-                <el-option
-                  v-for="item in projectPanl()"
-                  :key="item.sa_projstagetempid"
-                  :label="item.stagetempname"
-                  :value="item.sa_projstagetempid">
-                </el-option>
-              </el-select>
+            <el-form-item label="折扣率" prop="discountrate">
+              <el-input v-model="form.discountrate" placeholder="请输入折扣率"></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="项目地址" prop="sa_project_addressid">
-              <el-select v-model="form.sa_project_addressid" placeholder="请先选择企业" size="small">
-                <el-option
-                  v-for="(item,index) in projectAddress"
-                  :key="index"
-                  :label="item.address"
-                  :value="item.contactsid">
-                </el-option>
-              </el-select>
+            <el-form-item label="地址" prop="address">
+              <el-input v-model="form.address" placeholder="请输入地址"></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="项目等级" prop="grade">
-              <el-select v-model="form.grade" placeholder="请选择项目等级" size="small">
-                <el-option
-                  v-for="item in projectLead()"
-                  :key="item.rowindex"
-                  :label="item.value"
-                  :value="item.rowindex">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="项目类型" prop="projecttype">
-              <el-select v-model="form.projecttype" placeholder="请选择项目类型" size="small">
-                <el-option
-                  v-for="(item,index) in projectType()"
-                  :key="index"
-                  :label="item.value"
-                  :value="item.value">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="预计签约时间" prop="signdate_due">
+            <el-form-item label="有效日期" prop="invaliddate">
               <el-date-picker
-                v-model="form.signdate_due"
+                v-model="form.invaliddate"
                 type="date"
                 placeholder="选择日期"
                 @change="timeChange">
               </el-date-picker>
             </el-form-item>
           </el-col>
+          <el-col :span="12">
+            <el-form-item label="备注" prop="remarks">
+              <el-input type="textarea" v-model="form.remarks" placeholder="请输入备注"></el-input>
+            </el-form-item>
+          </el-col>
         </el-form>
       </el-row>
       <div class="dialog-footer">
@@ -121,73 +50,49 @@
 <script>
 export default {
   name: "add",
-  inject:['enterpriseList','projectType','projectLead','projectPanl'],
-  components:{},
+  inject:['detailData'],
   props:['data','btnType'],
+  components:{},
   data(){
     return {
       dialogFormVisible:false,
-      projectAddress:[],
-      addChange:false,
       form:{
-        "sa_projectid":0,
-        "sys_enterpriseid":"",
-        "projectname":"",
-        "projectnum":"",
-        "address":"",//可选
-        "grade":"",//可选
-        "budgetary":"",//可选
-        "remarks":"",//可选
-        "projecttype":"",//可选
-        "sa_projstagetempid":"",//可选
-        "signdate_due":"",//可选
-        "scale":"",//可选
-        "signamount_due":"",//可选
-        "sa_project_addressid":""//选择地址
+        "sa_quotedpriceid":0,     //sat_notice_classid<=0时 为新增
+        "sys_enterpriseid": "",
+        "sa_projectid": "",
+        "discountrate": "",
+        "remarks": "",
+        "invaliddate": "",
+        "projectname": "",
+        "address": ""
       },
       rules:{
         projectname:[
           { required: true, message: '输入项目名称', trigger: 'blur'},
         ],
-        projectnum:[
-          { required: true, message: '输入项目编号', trigger: 'blur'}
-        ],
-        sa_project_addressid:[
-          { required: true, message: '请选择项目地址', trigger: 'blur'},
-        ],
-        projecttype:[
-          { required: true, message: '请选择项目类型', trigger: 'blur'}
-        ],
-        sys_enterpriseid:[
-          { required: true, message: '请选择企业', trigger: 'blur'},
+        invaliddate:[
+          { required: true, message: '请选择报价有效期', trigger: 'blur'}
         ],
-        grade:[
-          { required: true, message: '请选择项目等级', trigger: 'blur'}
-        ],
-        sa_projstagetempid:[
-          { required: true, message: '请选择当前项目模板', trigger: 'blur'}
+        discountrate:[
+          { required: true, message: '整单折扣率,保留2位小数', trigger: 'blur'}
         ],
       }
     }
   },
   methods:{
     editBtn () {
+      console.log(this.data);
+      
       this.dialogFormVisible = true
-      if (this.data.sys_enterpriseid) {
-        this.form = Object.assign({},this.form,this.data)
-        this.form.grade = parseInt(this.form.grade)
-        this.getProjectAddres()
-        this.addChange = true
-      } else {
-        this.form = Object.assign({},this.form,this.data)
-        this.form.grade = parseInt(this.form.grade)
-      }
+      this.form = Object.assign({},this.form,this.data)
     },
     onSubmit(){
       this.$refs['form'].validate(async (valid) => {
         if (!valid) return false
+        this.form.sys_enterpriseid = this.detailData().sys_enterpriseid
+        this.form.sa_projectid = parseInt(this.$route.query.id)
         const res = await this.$api.requested({
-          "id": "20221020144202",
+          "id": "20221020164803",
           "version":1,
           "content": this.form
         })
@@ -198,30 +103,13 @@ export default {
         })
       })
     },
-    /* 获取项目地址 */
-    async getProjectAddres () {
-      if (this.addChange) this.form.sa_project_addressid = ''
-      let res = await this.$api.requested({
-        "id": "20221018153302",
-        "content": {
-            "sys_enterpriseid": this.form.sys_enterpriseid,
-            "pageNumber": 1,
-            "pageSize": 999999,
-            "where": {
-                "condition": ""
-            }
-        }
-      })
-      this.projectAddress = res.data
-      console.log(this.projectAddress);
-    },
     timeChange(e) {
       if(!e) {
-        this.form.signdate_due = ''
+        this.form.invaliddate = ''
       } 
       let result = this.changeTimeFormat(e.getTime())
  
-      this.form.signdate_due = result
+      this.form.invaliddate = result
     },
     changeTimeFormat(time) {
       var date = new Date(time);

+ 26 - 144
src/Form/projectChange/rival/add.vue

@@ -3,13 +3,13 @@
     <el-button size="mini" type="primary" @click="dialogFormVisible = true">新 增</el-button>
     <el-dialog title="新 增" :visible.sync="dialogFormVisible" width="50%">
       <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="left" size="mini">
           <el-col :span="24">
             <el-form-item label="企业名称" prop="sys_enterpriseid">
-              <el-select v-model="form.sys_enterpriseid" placeholder="请选择企业" size="small" @change="getProjectAddres()">
+              <el-select v-model="form.sys_enterpriseid" placeholder="不选将创建企业档案" clearable @clear="form.sys_enterpriseid=''" size="small">
                 <el-option
                   v-for="item in enterpriseList()"
                   :key="item.sys_enterpriseid"
@@ -20,92 +20,28 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="项目名称" prop="projectname">
-              <el-input v-model="form.projectname" placeholder="请输入项目名称"></el-input>
+            <el-form-item label="企业名称" prop="enterprisename">
+              <el-input :disabled="form.sys_enterpriseid != ''" v-model="form.enterprisename" placeholder="请输入企业名称"></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="项目编号" prop="projectnum">
-              <el-input v-model="form.projectnum" placeholder="请输入项目编号"></el-input>
+            <el-form-item label="品牌名称" prop="brandname">
+              <el-input v-model="form.brandname" placeholder="请输入品牌名称"></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="项目预算" prop="budgetary">
-              <el-input v-model="form.budgetary" placeholder="项目预算"></el-input>
+            <el-form-item label="优势信息" prop="advantage">
+              <el-input v-model="form.advantage" placeholder="请输入优势信息"></el-input>
             </el-form-item>
           </el-col>
-          
           <el-col :span="12">
-            <el-form-item label="项目规模" prop="scale">
-              <el-input v-model="form.scale" placeholder="请输入项目规模"></el-input>
+            <el-form-item label="劣势信息" prop="inferiority">
+              <el-input v-model="form.inferiority" placeholder="请输入劣势信息"></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="预计签约金额" prop="signamount_due">
-              <el-input v-model="form.signamount_due" placeholder="请输入预计签约金额"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="详细地址" prop="address">
-              <el-input v-model="form.address" placeholder="请输入详细地址"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="当前项目模板" prop="sa_projstagetempid">
-              <el-select v-model="form.sa_projstagetempid" placeholder="请选择当前项目模板" size="small">
-                <el-option
-                  v-for="item in projectPanl()"
-                  :key="item.sa_projstagetempid"
-                  :label="item.stagetempname"
-                  :value="item.sa_projstagetempid">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="项目地址" prop="sa_project_addressid">
-              <el-select v-model="form.sa_project_addressid" placeholder="请先选择企业" size="small">
-                <el-option
-                  v-for="(item,index) in projectAddress"
-                  :key="index"
-                  :label="item.address"
-                  :value="item.contactsid">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="项目等级" prop="grade">
-              <el-select v-model="form.grade" placeholder="请选择项目等级" size="small">
-                <el-option
-                  v-for="item in projectLead()"
-                  :key="item.rowindex"
-                  :label="item.value"
-                  :value="item.rowindex">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="项目类型" prop="projecttype">
-              <el-select v-model="form.projecttype" placeholder="请选择项目类型" size="small">
-                <el-option
-                  v-for="(item,index) in projectType()"
-                  :key="index"
-                  :label="item.value"
-                  :value="item.value">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="预计签约时间" prop="signdate_due">
-              <el-date-picker
-                v-model="form.signdate_due"
-                type="date"
-                placeholder="选择日期"
-                @change="timeChange">
-              </el-date-picker>
+            <el-form-item label="备注" prop="remarks">
+              <el-input type="textarea" v-model="form.remarks" placeholder="请输入备注"></el-input>
             </el-form-item>
           </el-col>
         </el-form>
@@ -121,50 +57,25 @@
 <script>
 export default {
   name: "add",
-  inject:['enterpriseList','projectType','projectLead','projectPanl'],
   components:{},
+  inject:['enterpriseList'],
   data(){
     return {
       dialogFormVisible:false,
       projectAddress:[],
       form:{
-        "sa_projectid":0,
-        "sys_enterpriseid":"",
-        "projectname":"",
-        "projectnum":"",
-        "address":"",//可选
-        "grade":"",//可选
-        "budgetary":"",//可选
-        "remarks":"",//可选
-        "projecttype":"",//可选
-        "sa_projstagetempid":"",//可选
-        "signdate_due":"",//可选
-        "scale":"",//可选
-        "signamount_due":"",//可选
-        "sa_project_addressid":""//选择地址
+      "sa_competitorid":"",
+       "sys_enterpriseid":"",//传0时会创建企业档案
+       "enterprisename":"",
+       "brandname":"",
+       "inferiority":"",
+       "advantage":"",
+       "remarks":""
       },
       rules:{
-        projectname:[
-          { required: true, message: '输入项目名称', trigger: 'blur'},
-        ],
-        projectnum:[
-          { required: true, message: '输入项目编号', trigger: 'blur'}
-        ],
-        sa_project_addressid:[
-          { required: true, message: '请选择项目地址', trigger: 'blur'},
-        ],
-        projecttype:[
-          { required: true, message: '请选择项目类型', trigger: 'blur'}
-        ],
-        sys_enterpriseid:[
-          { required: true, message: '请选择企业', trigger: 'blur'},
-        ],
-        grade:[
-          { required: true, message: '请选择项目等级', trigger: 'blur'}
-        ],
-        sa_projstagetempid:[
-          { required: true, message: '请选择当前项目模板', trigger: 'blur'}
-        ],
+        enterprisename:[
+          { required: true, message: '请输入企业名称', trigger: 'blur'},
+        ]
       }
     }
   },
@@ -173,8 +84,10 @@ export default {
       console.log(this.form)
       this.$refs['form'].validate(async (valid) => {
         if (!valid) return false
+        this.form.sys_enterpriseid ? this.form.enterprisename = '' : ''
+        this.form.sa_competitorid ? '' : this.form.sa_competitorid = 0
         const res = await this.$api.requested({
-          "id": "20221020144202",
+          "id": "20221018164102",
           "version":1,
           "content": this.form
         })
@@ -185,37 +98,6 @@ export default {
         })
       })
     },
-    /* 获取项目地址 */
-    async getProjectAddres () {
-      let res = await this.$api.requested({
-        "id": "20221018153302",
-        "content": {
-            "sys_enterpriseid": this.form.sys_enterpriseid,
-            "pageNumber": 1,
-            "pageSize": 999999,
-            "where": {
-                "condition": ""
-            }
-        }
-      })
-      this.form.sa_project_addressid = ''
-      this.projectAddress = res.data
-      console.log(res);
-    },
-    timeChange(e) {
-      if(!e) {
-        this.form.signdate_due = ''
-      } 
-      let result = this.changeTimeFormat(e.getTime())
- 
-      this.form.signdate_due = result
-    },
-    changeTimeFormat(time) {
-      var date = new Date(time);
-      var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
-      var currentDate = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
-      return date.getFullYear() + "-" + month + "-" + currentDate
-    }
   }
 }
 </script>

+ 29 - 155
src/Form/projectChange/rival/edit.vue

@@ -1,15 +1,15 @@
 <template>
   <div>
     <el-button size="mini" :type="btnType?btnType:'text'" @click="editBtn">编 辑</el-button>
-    <el-dialog title="新 增" append-to-body :visible.sync="dialogFormVisible" width="50%">
+    <el-dialog title="新 增" :visible.sync="dialogFormVisible" width="50%">
       <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="left" size="mini">
           <el-col :span="24">
             <el-form-item label="企业名称" prop="sys_enterpriseid">
-              <el-select v-model="form.sys_enterpriseid" placeholder="请选择企业" size="small" @change="getProjectAddres()">
+              <el-select v-model="form.sys_enterpriseid" placeholder="不选将创建企业档案" clearable @clear="form.sys_enterpriseid=''" size="small">
                 <el-option
                   v-for="item in enterpriseList()"
                   :key="item.sys_enterpriseid"
@@ -20,92 +20,28 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="项目名称" prop="projectname">
-              <el-input v-model="form.projectname" placeholder="请输入项目名称"></el-input>
+            <el-form-item label="企业名称" prop="enterprisename">
+              <el-input :disabled="form.sys_enterpriseid != ''" v-model="form.enterprisename" placeholder="请输入企业名称"></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="项目编号" prop="projectnum">
-              <el-input v-model="form.projectnum" placeholder="请输入项目编号"></el-input>
+            <el-form-item label="品牌名称" prop="brandname">
+              <el-input v-model="form.brandname" placeholder="请输入品牌名称"></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="项目预算" prop="budgetary">
-              <el-input v-model="form.budgetary" placeholder="项目预算"></el-input>
+            <el-form-item label="优势信息" prop="advantage">
+              <el-input v-model="form.advantage" placeholder="请输入优势信息"></el-input>
             </el-form-item>
           </el-col>
-          
           <el-col :span="12">
-            <el-form-item label="项目规模" prop="scale">
-              <el-input v-model="form.scale" placeholder="请输入项目规模"></el-input>
+            <el-form-item label="劣势信息" prop="inferiority">
+              <el-input v-model="form.inferiority" placeholder="请输入劣势信息"></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="预计签约金额" prop="signamount_due">
-              <el-input v-model="form.signamount_due" placeholder="请输入预计签约金额"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="详细地址" prop="address">
-              <el-input v-model="form.address" placeholder="请输入详细地址"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="当前项目模板" prop="sa_projstagetempid">
-              <el-select v-model="form.sa_projstagetempid" placeholder="请选择当前项目模板" size="small">
-                <el-option
-                  v-for="item in projectPanl()"
-                  :key="item.sa_projstagetempid"
-                  :label="item.stagetempname"
-                  :value="item.sa_projstagetempid">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="项目地址" prop="sa_project_addressid">
-              <el-select v-model="form.sa_project_addressid" placeholder="请先选择企业" size="small">
-                <el-option
-                  v-for="(item,index) in projectAddress"
-                  :key="index"
-                  :label="item.address"
-                  :value="item.contactsid">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="项目等级" prop="grade">
-              <el-select v-model="form.grade" placeholder="请选择项目等级" size="small">
-                <el-option
-                  v-for="item in projectLead()"
-                  :key="item.rowindex"
-                  :label="item.value"
-                  :value="item.rowindex">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="项目类型" prop="projecttype">
-              <el-select v-model="form.projecttype" placeholder="请选择项目类型" size="small">
-                <el-option
-                  v-for="(item,index) in projectType()"
-                  :key="index"
-                  :label="item.value"
-                  :value="item.value">
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="预计签约时间" prop="signdate_due">
-              <el-date-picker
-                v-model="form.signdate_due"
-                type="date"
-                placeholder="选择日期"
-                @change="timeChange">
-              </el-date-picker>
+            <el-form-item label="备注" prop="remarks">
+              <el-input type="textarea" v-model="form.remarks" placeholder="请输入备注"></el-input>
             </el-form-item>
           </el-col>
         </el-form>
@@ -121,73 +57,42 @@
 <script>
 export default {
   name: "add",
-  inject:['enterpriseList','projectType','projectLead','projectPanl'],
   components:{},
+  inject:['enterpriseList'],
   props:['data','btnType'],
   data(){
     return {
       dialogFormVisible:false,
       projectAddress:[],
-      addChange:false,
       form:{
-        "sa_projectid":0,
-        "sys_enterpriseid":"",
-        "projectname":"",
-        "projectnum":"",
-        "address":"",//可选
-        "grade":"",//可选
-        "budgetary":"",//可选
-        "remarks":"",//可选
-        "projecttype":"",//可选
-        "sa_projstagetempid":"",//可选
-        "signdate_due":"",//可选
-        "scale":"",//可选
-        "signamount_due":"",//可选
-        "sa_project_addressid":""//选择地址
+      "sa_competitorid":"",
+       "sys_enterpriseid":"",//传0时会创建企业档案
+       "enterprisename":"",
+       "brandname":"",
+       "inferiority":"",
+       "advantage":"",
+       "remarks":""
       },
       rules:{
-        projectname:[
-          { required: true, message: '输入项目名称', trigger: 'blur'},
-        ],
-        projectnum:[
-          { required: true, message: '输入项目编号', trigger: 'blur'}
-        ],
-        sa_project_addressid:[
-          { required: true, message: '请选择项目地址', trigger: 'blur'},
-        ],
-        projecttype:[
-          { required: true, message: '请选择项目类型', trigger: 'blur'}
-        ],
-        sys_enterpriseid:[
-          { required: true, message: '请选择企业', trigger: 'blur'},
-        ],
-        grade:[
-          { required: true, message: '请选择项目等级', trigger: 'blur'}
-        ],
-        sa_projstagetempid:[
-          { required: true, message: '请选择当前项目模板', trigger: 'blur'}
-        ],
+        enterprisename:[
+          { required: true, message: '请输入企业名称', trigger: 'blur'},
+        ]
       }
     }
   },
   methods:{
     editBtn () {
       this.dialogFormVisible = true
-      if (this.data.sys_enterpriseid) {
-        this.form = Object.assign({},this.form,this.data)
-        this.form.grade = parseInt(this.form.grade)
-        this.getProjectAddres()
-        this.addChange = true
-      } else {
-        this.form = Object.assign({},this.form,this.data)
-        this.form.grade = parseInt(this.form.grade)
-      }
+      this.form = Object.assign({},this.form,this.data)
     },
     onSubmit(){
+      console.log(this.form)
       this.$refs['form'].validate(async (valid) => {
         if (!valid) return false
+        this.form.sys_enterpriseid ? this.form.enterprisename = '' : ''
+        this.form.sa_competitorid ? '' : this.form.sa_competitorid = 0
         const res = await this.$api.requested({
-          "id": "20221020144202",
+          "id": "20221018164102",
           "version":1,
           "content": this.form
         })
@@ -198,37 +103,6 @@ export default {
         })
       })
     },
-    /* 获取项目地址 */
-    async getProjectAddres () {
-      if (this.addChange) this.form.sa_project_addressid = ''
-      let res = await this.$api.requested({
-        "id": "20221018153302",
-        "content": {
-            "sys_enterpriseid": this.form.sys_enterpriseid,
-            "pageNumber": 1,
-            "pageSize": 999999,
-            "where": {
-                "condition": ""
-            }
-        }
-      })
-      this.projectAddress = res.data
-      console.log(this.projectAddress);
-    },
-    timeChange(e) {
-      if(!e) {
-        this.form.signdate_due = ''
-      } 
-      let result = this.changeTimeFormat(e.getTime())
- 
-      this.form.signdate_due = result
-    },
-    changeTimeFormat(time) {
-      var date = new Date(time);
-      var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
-      var currentDate = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
-      return date.getFullYear() + "-" + month + "-" + currentDate
-    }
   }
 }
 </script>

+ 71 - 37
src/Form/publicManage/add.vue

@@ -1,45 +1,55 @@
 <template>
   <div>
-    <el-button size="mini" type="primary" @click="dialogFormVisible = true">新 增</el-button>
-    <el-dialog title="新 增" :visible.sync="dialogFormVisible" width="30%">
+    <el-button size="mini" type="primary" @click="editBtn">新 增</el-button>
+    <el-dialog title="新 增" :visible.sync="dialogFormVisible" width="80%">
       <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="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-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>
           </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 :span="12">
+            <scopeOfauth :onlyread="true" :defaultData="defaultData" scrollHeight="300px" obiectName="sa_customerpool" appidname="sa_customerpoolid" :dataid="dataid" @onChecked="onChecked"></scopeOfauth>
           </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>
+        
       </el-row>
       <div class="dialog-footer">
         <el-button size="small" @click="dialogFormVisible = false" class="normal-btn-width">取 消</el-button>
@@ -50,13 +60,16 @@
 </template>
 
 <script>
+import scopeOfauth from '@/HDrpManagement/publicManage/components/scopeOfAuthority/index'
 export default {
   name: "add",
+  components:{scopeOfauth},
   data(){
     return {
       dialogFormVisible:false,
-      isordercheck:true,
-      isusedcheck:false,
+      authData:'',
+      defaultData:[],
+      dataid:'',
       form:{
         "sa_customerpoolid": 0,
         "poolname": "", //池名称
@@ -84,8 +97,22 @@ export default {
       }
     }
   },
+  provide () {
+    return {
+      rowData:() => ''
+    }
+  },
   methods:{
-    onSubmit(){
+    editBtn () {
+      this.dialogFormVisible = true
+    },
+    // 获取保存授权范围数据
+    onChecked (param) {
+      this.authData = param
+      console.log(this.authData);
+      
+    },
+    async onSubmit(){
       this.$refs['form'].validate(async (valid) => {
         if (!valid) return false
         const res = await this.$api.requested({
@@ -93,6 +120,13 @@ export default {
           "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();

+ 96 - 50
src/Form/publicManage/edit.vue

@@ -1,45 +1,55 @@
 <template>
   <div>
     <el-button size="mini" type="text" @click="editBtn">编 辑</el-button>
-    <el-dialog title="新 增" :visible.sync="dialogFormVisible" width="30%">
+    <el-dialog title="新 增" :visible.sync="dialogFormVisible" width="80%">
       <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="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-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>
           </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 :span="12">
+            <scopeOfauth :onlyread="true" :defaultData="defaultData" scrollHeight="300px" obiectName="sa_customerpool" appidname="sa_customerpoolid" :dataid="data.sa_customerpoolid" @onChecked="onChecked"></scopeOfauth>
           </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>
+        
       </el-row>
       <div class="dialog-footer">
         <el-button size="small" @click="dialogFormVisible = false" class="normal-btn-width">取 消</el-button>
@@ -50,14 +60,16 @@
 </template>
 
 <script>
+import scopeOfauth from '@/HDrpManagement/publicManage/components/scopeOfAuthority/index'
 import { log } from '@antv/g2plot/lib/utils'
 export default {
   name: "add",
+  components:{scopeOfauth},
   data(){
     return {
       dialogFormVisible:false,
-      isordercheck:true,
-      isusedcheck:false,
+      authData:'',
+      defaultData:'',
       form:{
         "sa_customerpoolid": 0,
         "poolname": "", //池名称
@@ -85,28 +97,62 @@ export default {
       }
     }
   },
+  provide () {
+    return {
+      rowData:() => this.data
+    }
+  },
   props:['data'],
   methods:{
     editBtn () {
-      
+      this.query_auth()
       this.dialogFormVisible = true
       this.form = Object.assign({},this.form,this.data)
     },
-    onSubmit(){
-      this.$refs['form'].validate(async (valid) => {
-        if (!valid) return false
-        const res = await this.$api.requested({
-          "id": "20221009100502",
-          "version":1,
-          "content": this.form
-        })
-        this.tool.showMessage(res,()=>{
-          this.$emit('onSuccess')
-          this.$refs['form'].resetFields();
-          this.dialogFormVisible = false
+    // 获取保存授权范围数据
+    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 query_auth () {
+      const res = await this.$api.requested({
+        "accesstoken": "456ae1e802b695b996e1bb8c2c405579",
+        "id": 20221022135202,
+        "content": {
+            "sa_customerpoolid":this.data.sa_customerpoolid
+        }
       })
-    }
+      this.defaultData = res.data
+      console.log(this.defaultData);
+      
+    },
   }
 }
 </script>

+ 28 - 2
src/HDrpManagement/projectChange/modules/modules/projectSet/index.vue

@@ -17,7 +17,14 @@
         </div>
       </template>
       <template v-slot:tbOpreation="scope">
-        <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>
+        <delete-btn 
+          ref="del" 
+          :id="scope.data.data.itemid" 
+          @deleteCreate="$refs.del.param.content.deletereason='无'" 
+          @deleteSuccess="$refs.basicLayout.listData()" 
+          nameId="20221021145602" 
+          nameKey="sa_project_itemsids" 
+        ></delete-btn>
       </template>
     </basicLayout>
   </div>
@@ -28,20 +35,39 @@ export default {
   data () {
     return {
       options:[],
+      productList:''
     }
   },
   provide () {
     return {
-
+      productList:() => this.productList
     }
   },
   components:{},
   methods:{
     list (vm) {  
       vm.content.sa_projectid = this.$route.query.id
+    },
+    /* 获取可选择商品 */
+    async getProductList () {
+      let res = await this.$api.requested({
+        "id": 20221021171802,
+        "content": {
+            "sa_projectid": this.$route.query.id,
+            "pageNumber": 1,
+            "pageSize": 9999999999,
+            "where": {
+                "condition": ""
+            }
+        },
+      })
+      this.productList = res.data
+      console.log(this.productList);
+      
     }
   },
   created() {
+    this.getProductList()
   },
   mounted () {
   }

+ 62 - 6
src/HDrpManagement/projectChange/modules/modules/quotation/index.vue

@@ -14,30 +14,86 @@
         </div>
       </template>
       <template v-slot:tbOpreation="scope">
-        <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>
+        <el-button v-if="scope.data.data.status == '新建' && tool.checkAuth($route.name,'quotation_submit')" type="text" size="mini" @click="submit(scope.data.data)">提 交</el-button>
+        <el-button v-if="scope.data.data.status == '提交' && scope.data.data.status != '审核' && tool.checkAuth($route.name,'quotation_check')" type="text" size="mini" @click="check(scope.data.data)">审 核</el-button>
+        <el-button size="mini" type="text" class="inline-16" @click="$router.push({path:'/quotationDetail',query:{id:scope.data.data.sa_quotedpriceid,rowindex:scope.data.data.rowindex}})">详 情</el-button>
+        <buillDetail class="inline-16" :rowData="scope.data.data"/>
+        <delete-btn v-if="tool.checkAuth($route.name,'delete')" :id="scope.data.data.sa_quotedpriceid" nameId="20221020165503" nameKey="sa_quotedpriceids" @deleteSuccess="$refs.basicLayout.listData()" />
       </template>
     </basicLayout>
   </div>
 </template>
 
 <script>
+import buillDetail from './modules/buillDetail'
 export default {
   data () {
     return {
-      options:[],
+      options:[
+        {
+          label:'全部',
+          value:''
+        },
+        {
+          label:'新建',
+          value:'新建'
+        },{
+          label:'提交',
+          value:'提交'
+        },
+        {
+          label:'审核',
+          value:'审核'
+        }
+      ],
+      productList:''
     }
   },
   provide () {
     return {
-
+      productList:() => this.productList
     }
   },
-  components:{},
+  components:{buillDetail},
   methods:{
-  
+    async submit (data) {
+      let res = await this.$api.requested({
+        "id": 20221020165303,
+        "version":1,
+        "content": { 
+            "sa_quotedpriceid":data.sa_quotedpriceid
+        }
+      })
+      this.tool.showMessage(res,() => {
+        this.$refs.basicLayout.listData()
+      })
+    },
+    async check (data) {
+      let res = await this.$api.requested({
+          "id": 20221020165403,
+          "version":1,
+          "content": { 
+            "sa_quotedpriceid":data.sa_quotedpriceid
+          }
+      })
+      this.tool.showMessage(res,() => {
+        this.$refs.basicLayout.listData()
+      })
+    },
+    /* 获取可添加的商品 */
+    async getProductList () {
+      let res = await this.$api.requested({
+        "id": 20221020164903,
+        "version":1,
+        "content": {
+            "sa_projectid":this.$route.query.id
+        }
+      })
+      this.productList = res.data
+    }
   },
   created() {
-
+    this.getProductList()
   }
 }
 

+ 59 - 0
src/HDrpManagement/projectChange/modules/modules/quotation/modules/buillDetail.vue

@@ -0,0 +1,59 @@
+
+<template>
+  <div>
+    <el-button type="text" size="mini" @click="dialogTableVisible=true">明 细</el-button>
+    <el-dialog title="报价单明细" append-to-body :visible.sync="dialogTableVisible" width="80%">
+      <basicLayout 
+        ref="basicLayout" 
+        formPath="projectChange/quotation/detail" 
+        tableName="quotationBuillTable" 
+        idName="itemid" 
+        :apiId="{query:20221021095503,del:20221021095603}"
+        :options="options"
+        @listCreate="list">
+        <template v-slot:tbList="scope">
+          {{scope.data.column.data[scope.data.column.columnname]}}
+        </template>
+        <template v-slot:tbOpreation="scope">
+          <delete-btn v-if="tool.checkAuth($route.name,'delete')" :id="scope.data.data.sa_quotedprice_itemsid" nameId="20221021095603" nameKey="sa_quotedprice_itemsids" @deleteSuccess="$refs.basicLayout.listData()" />
+        </template>
+      </basicLayout>
+      <span slot="footer" class="dialog-footer">
+        <div>
+          <el-button @click="dialogTableVisible = false" size="small">取 消</el-button>
+        </div>
+      </span>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+export default {
+  props:['rowData'],
+  data () {
+    return {
+      options:[
+      ],
+      dialogTableVisible:false
+    }
+  },
+  provide () {
+    return {
+      rowData:() => this.rowData
+    }
+  },
+  components:{},
+  methods:{
+    list (vm) {
+      console.log("呜呜呜呜呜呜呜");
+      
+      vm.content.sa_quotedpriceid = this.rowData.sa_quotedpriceid
+    }
+  },
+  created() {
+  }
+}
+
+</script>
+<style scoped>
+</style>

+ 123 - 0
src/HDrpManagement/projectChange/modules/modules/quotation/modules/detail.vue

@@ -0,0 +1,123 @@
+
+<template>
+  <basicDetails 
+    ref="details"
+    :titleText="mainData.projectname"
+    formPath="projectChange/quotation"
+    :editData="mainData"  
+    :mainAreaData="mainAreaData" 
+    :turnPageId="20221020165103" 
+    idname="sa_quotedpriceid"
+    tags=""
+    @pageChange="pageChange"
+    @onEditSuccess="queryMainData($route.query.id)">
+    <!-- 使用此插槽可不传[tags] -->
+    <tagPanl slot="tags" :data="tagObj" ownertable="sa_project" :id="mainData.sa_projectid" @onSuccess="queryMainData"/>
+    <div slot="customOperation">
+      <!-- 此区域提供了自定义操作按钮 -->
+    </div>
+  </basicDetails>
+</template>
+
+<script>
+
+export default {
+  components:{},
+  data () {
+    return {
+      mainData:{},
+      mainAreaData:'',
+      tagObj:''
+    }
+  },
+  provide () {
+    return {
+      detailData:() => this.mainData
+    }
+  },
+  methods:{
+    async queryMainData (id) {
+      const res = await this.$api.requested({
+        "id": "20221020165203",
+        "version":1,
+        "content": {
+            "sa_quotedpriceid":this.$route.query.id
+        }
+      })
+      this.mainData = res.data
+      console.log(this.mainData);
+      this.changeDataStructure()
+      /* 获取标签数据 */
+      this.tagObj = await this.$store.dispatch('queryTagList',{table:'sa_quotedprice',id:this.mainData.sa_quotedpriceid})
+    },
+    // 监听切换数据,上一页,下一页
+    pageChange (id,rowindex) {
+      this.$router.replace({path:'/projectChangeDetail',query:{id:id,rowindex:rowindex}})
+      this.queryMainData(id)
+    },
+    changeDataStructure () {
+      this.mainAreaData = [
+        {
+          label:'企业名称',
+          value: this.mainData.enterprisename
+        },
+        {
+          label:'单号',
+          value: this.mainData.billno
+        },
+        {
+          label:'项目名称',
+          value:this.mainData.projectname
+        },
+        {
+          label:'负责人',
+          value: this.mainData.name
+        },
+        {
+          label:'部门',
+          value: this.mainData.depname
+        },
+        {
+          label:'有效时间',
+          value:this.mainData.invaliddate
+        },
+        {
+          label:'状态',
+          value: this.mainData.status
+        },
+        {
+          label:'地址',
+          value: this.mainData.address
+        },
+        {
+          label:'创建时间',
+          value: this.mainData.createdate
+        },
+        {
+          label:'创建人',
+          value: this.mainData.createby
+        },{
+          label:'编辑时间',
+          value: this.mainData.changedate
+        },{
+          label:'编辑人',
+          value: this.mainData.changeby
+        },{
+          label:'所属行业',
+          value: this.mainData.industry
+        },
+      ]
+    }
+  },
+  mounted () {
+    this.queryMainData()
+  },
+  async created () {
+    // 验证权限
+    this.tool.checkAuth(this.$route.name,'update')?'':this.$router.go(-1)
+  },
+}
+
+</script>
+<style>
+</style>

+ 9 - 1
src/HDrpManagement/projectChange/modules/modules/rival/index.vue

@@ -14,7 +14,15 @@
         </div>
       </template>
       <template v-slot:tbOpreation="scope">
-        <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>
+        <delete-btn 
+          ref="del" 
+          :id="scope.data.data.sa_competitorid" 
+          @deleteCreate="$refs.del.param.content.deletereason='无'" 
+          @deleteSuccess="$refs.basicLayout.listData()" 
+          nameId="20221018164202" 
+          nameKey="sa_competitorids" 
+        ></delete-btn>
+        <el-button size="mini" type="text" class="inline-16" @click="$router.push({path:'/rivalDetail',query:{id:scope.data.data.sa_competitorid,rowindex:scope.data.data.rowindex}})">详 情</el-button>
       </template>
     </basicLayout>
   </div>

+ 125 - 0
src/HDrpManagement/projectChange/modules/modules/rival/modules/detail.vue

@@ -0,0 +1,125 @@
+
+<template>
+  <basicDetails 
+    ref="details"
+    :titleText="mainData.enterprisename"
+    formPath="projectChange/rival"
+    :editData="mainData"  
+    :mainAreaData="mainAreaData" 
+    :turnPageId="20221018164302" 
+    idname="sa_competitorid"
+    tags=""
+    @pageChange="pageChange"
+    @onEditSuccess="queryMainData($route.query.id)">
+    <!-- 使用此插槽可不传[tags] -->
+    <tagPanl slot="tags" :data="tagObj" ownertable="sa_project" :id="mainData.sa_competitorid" @onSuccess="queryMainData"/>
+    <div slot="customOperation">
+      <!-- 此区域提供了自定义操作按钮 -->
+    </div>
+  </basicDetails>
+</template>
+
+<script>
+
+export default {
+  components:{},
+  data () {
+    return {
+      mainData:{},
+      mainAreaData:'',
+      enterpriseList:'',
+      tagObj:''
+    }
+  },
+  provide () {
+    return {
+      detailData:() => this.mainData,
+      enterpriseList:() => this.enterpriseList,
+    }
+  },
+  methods:{
+    async queryMainData (id) {
+      const res = await this.$api.requested({
+        "id": "20221019105802",
+        "version":1,
+        "content": {
+            "sa_competitorid":this.$route.query.id
+        }
+      })
+      this.mainData = res.data
+      console.log(this.mainData);
+      this.changeDataStructure()
+      this.getEnterprise()
+      /* 获取标签数据 */
+      this.tagObj = await this.$store.dispatch('queryTagList',{table:'sa_competitor',id:this.mainData.sa_competitorid})
+    },
+    // 监听切换数据,上一页,下一页
+    pageChange (id,rowindex) {
+      this.$router.replace({path:'/projectChangeDetail',query:{id:id,rowindex:rowindex}})
+      this.queryMainData(id)
+    },
+    /** 获取公司数据 */
+    async getEnterprise () {
+      let res = await this.$api.requested({
+        "id": 20221021095802,
+        "content": {
+            "pageNumber": 1,
+            "pageSize": 99999,
+            "where": {
+                "condition": ""
+            }
+        },
+      })
+      this.enterpriseList = res.data
+    },
+    changeDataStructure () {
+      this.mainAreaData = [
+        {
+          label:'企业名称',
+          value: this.mainData.enterprisename
+        },
+        {
+          label:'品牌名称',
+          value: this.mainData.brandname
+        },
+        {
+          label:'所在行业',
+          value:this.mainData.industry
+        },
+        {
+          label:'劣势信息',
+          value: this.mainData.inferiority
+        },
+        {
+          label:'优势信息',
+          value: this.mainData.advantage
+        },
+        {
+          label:'创建时间',
+          value: this.mainData.createdate
+        },
+        {
+          label:'创建人',
+          value: this.mainData.createby
+        },{
+          label:'跟进时间',
+          value: this.mainData.followdate
+        },{
+          label:'跟进人',
+          value: this.mainData.followby
+        }
+      ]
+    }
+  },
+  mounted () {
+    this.queryMainData()
+  },
+  async created () {
+    // 验证权限
+    this.tool.checkAuth(this.$route.name,'update')?'':this.$router.go(-1)
+  },
+}
+
+</script>
+<style>
+</style>

+ 92 - 0
src/HDrpManagement/publicManage/components/scopeOfAuthority/index.vue

@@ -0,0 +1,92 @@
+<template>
+  <div class="container normal-panel">
+    <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;">
+      <dep v-show="activeName === '组织架构'" :defaultData="defaultData" :scrollHeight="scrollHeight" :obiectName="obiectName" :obiectId="obiectId" @onParams="onParams"></dep>
+      <mar v-show="activeName === '营销组织'" :defaultData="defaultData" :scrollHeight="scrollHeight" :obiectName="obiectName" :obiectId="obiectId" @onAgentParams="onAgentParams"></mar>
+    </div>
+  </div>
+</template>
+
+<script>
+import dep from './modules/dep_auth.vue'
+import mar from './modules/mar_auth.vue'
+
+export default {
+  props:['defaultData','scrollHeight','appidname','dataid','obiectName','obiectId'],
+  components:{
+    dep,
+    mar
+  },
+  data () {
+    return {
+      activeName:'组织架构',
+      param:{
+        "isonlymanager_dept":false,
+        "isonlymanager_agent":false,
+        "departmentid":[],
+        "hrid":[],
+        "sa_saleareaid":[],
+        "sa_agentsid":[]
+      }
+    }
+  },
+  methods:{
+    onParams (dep,men,isonlymanager) {
+      console.log(dep,men,isonlymanager)
+      this.param.isonlymanager_dept = isonlymanager
+      this.param.hrid = men
+      this.param.departmentid = dep
+      this.param[this.appidname] = this.dataid
+      this.$emit('onChecked',this.param)
+    },
+    onAgentParams (area,agent,isonlymanager) {
+      console.log(area,agent,isonlymanager)
+      this.param.isonlymanager_agent = isonlymanager
+      this.param.sa_agentsid = agent
+      this.param.sa_saleareaid = area
+      this.$emit('onChecked',this.param)
+    },
+    tabChange (val) {
+      this.activeName = val
+      this.$emit('tabChange')
+    },
+  },
+  watch:{
+    defaultData (val) {
+      this.param = Object.assign({},this.param,val)
+      this.$emit('onChecked',this.param)
+    }
+  }
+}
+
+</script>
+<style>
+.panel .el-checkbox__input.is-checked+.el-checkbox__label{
+  color:#777 !important;
+}
+</style>
+<style scoped>
+.panel{
+  border:1px solid #CCCCCC;
+  border-radius: 4px;
+}
+.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>

+ 266 - 0
src/HDrpManagement/publicManage/components/scopeOfAuthority/modules/dep_auth.vue

@@ -0,0 +1,266 @@
+<template>
+  <div>
+    <el-row :gutter="20">
+      <el-col :span="12">
+        <div class="tree-panel">
+          <el-tree
+            ref="tree"
+            :data="deplist"
+            node-key="departmentid"
+            default-expand-all
+            highlight-current
+            :check-strictly="true"
+            :check-on-click-node="false"
+            :expand-on-click-node="false"
+            :show-checkbox="true"
+            @node-click="nodeClick"
+            @check="nodeCheck"
+            @check-change="checkChange">
+            <span class="custom-tree-node" slot-scope="{ node, data }">
+              <span>{{ node.label }} &nbsp;<i v-if="data.status === 1" class="el-icon-user-solid"></i></span>
+              <span>
+                <slot name="operation" :data="data"></slot>
+              </span>
+            </span>
+          </el-tree>
+        </div>
+      </el-col>
+      <el-col :span="12">
+        <div class="flex-align-center flex-between normal-margin">
+          <el-checkbox v-model="checkAll" :indeterminate="isIndeterminate" @change="handleCheckAllChange">全 选</el-checkbox>
+          <el-checkbox v-model="isonlymanager_dept" @change="$emit('onParams',departmentids,checkedMenbers,isonlymanager_dept)">仅组织负责人可见</el-checkbox>
+        </div>
+        <div>
+          <el-input size="small" v-model="searchValue" class="normal-margin" placeholder="搜索人员" clearable></el-input>
+          <div :style="{ height: scrollHeight?scrollHeight:'400px'}"  style="overflow-y:scroll">
+            <el-checkbox-group :disabled="pageOnlyRead" v-model="checkedMenbers" @change="handleCheckedChange">
+              <div style="margin-bottom:10px" v-for="item in menberData" :key="item.index">
+                <el-checkbox v-if="searchValue" v-show="item.name === searchValue" :label="item.hrid">{{item.name}}</el-checkbox>
+                <el-checkbox v-else :label="item.hrid">{{item.name}}</el-checkbox>
+              </div>
+            </el-checkbox-group>
+          </div>
+        </div>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+
+import {mapGetters} from 'vuex'
+
+export default {
+  props:["defaultData",'scrollHeight','obiectName','obiectId'],
+  components:{
+  },
+  inject:['rowData'],
+  computed:{
+    ...mapGetters({
+      pageOnlyRead:"pageOnlyRead"
+    })
+  },
+  data () {
+    return {
+      deplist:[], // 部门树状结构数据
+      responseData:[], // 部门信息
+      menberData:[], // 人员信息
+      checkedMenbers:[], // 授权人员信息
+      departmentids:[], // 选中的部门
+      onCheckedMenber:[], // 当前查询人员列表选中的人员
+      searchValue:'', // 搜索人员
+      clickdepid:'', // 点击的部门id
+      isonlymanager_dept:false,
+      checkAll:false,
+      isIndeterminate:false,
+    }
+  },
+  methods:{
+    // 查询部门
+    async department () {
+      console.log(this.$route.query.id,this.obiectId)
+      const res = await this.$api.requested({
+        "classname": "webmanage.department.department",
+        "method": "querydepartment_auth",
+        "content": {
+          "obiectId":this.rowData() ? this.rowData().sa_customerpoolid:0,
+          "obiectName": this.obiectName
+        },
+      })
+      // 数据格式转换成elementui-tree所需的格式
+      this.responseData = res.data
+      this.deplist = this.createMenu(res.data)    
+      this.$emit('onClick',{data:this.deplist[0],parent:[]})
+
+      // 如果存在默认组织数据就执行
+    },
+
+    createMenu (array) {
+      var that = this
+      let arr = []
+      function convertToElementTree(node) {
+        // 新节点
+        var elNode = {
+          label: node["depname"],
+          parentid:node['parentid'],
+          departmentid:node["departmentid"],
+          value:node["departmentid"],
+          remarks:node["remarks"],
+          isused:node["isused"],
+          changedate:node['changedate'],
+          changeby:node['changeby'],
+          createdate:node['createdate'],
+          createby:node['createby'],
+          depno:node['depno'],
+          status:node['status'],
+          disabled:that.pageOnlyRead,
+          children: []
+        }
+          
+        if (node.subdep && node.subdep.length > 0) {
+          // 如果存在子节点
+          for (var index = 0; index < node.subdep.length; index++) {
+          // 遍历子节点, 把每个子节点看做一颗独立的树, 传入递归构造子树, 并把结果放回到新node的children中
+          elNode.children.push(convertToElementTree(node.subdep[index]));
+          }
+        }
+        return elNode;
+      }
+      array.forEach((element) => {
+        arr.push(convertToElementTree(element))
+      });
+      return arr
+    },
+
+    // 根据组织架构范围查询人员
+    async menberList (val) {
+      let param = {
+        "classname": "webmanage.hr.hr",
+        "method": "query_hrList",
+        "content": {
+            "nocahe":true,
+            "pageNumber": 1,
+            "pageSize": 10000,
+            "departmentids":val,
+            "containssub":0,
+            "where": {
+              "condition": ""
+            }
+        }
+      }
+      const res = await this.$api.requested(param)
+      this.menberData = res.data
+      this.checkedmenber()
+    },
+    // 获取当前查询的人员范围选中的人员
+    checkedmenber () {
+      let hrid = this.defaultData.hrid
+      let arr = []
+      hrid.filter(e=>{
+        this.menberData.forEach(m=>{
+          if (e === m.hrid) {
+            arr.push(e)
+          }
+        })
+      })
+      this.onCheckedMenber = arr
+      
+    },
+    // 点击部门
+    nodeClick (row,node,comp) {
+      this.checkAll = false
+      this.clickdepid = row.departmentid
+      this.menberList([row.departmentid])
+      // this.onCheckedMenber.length === this.menberData.length?this.checkAll = true:this.checkAll = false
+    },
+    // 勾选部门
+    nodeCheck (checkedNodes,checkedKeys,halfCheckedNodes,halfCheckedKeys) {
+    },
+    // 监听部门勾选变化
+    checkChange (a,b,c) {
+      let arr = this.departmentids.filter((e)=>{
+        if (e !== a.departmentid) return e
+      })
+      if (b) {
+        if (this.clickdepid === a.departmentid) {
+          let Adata = this.checkedMenbers.filter(itemF=>!this.onCheckedMenber.some(ele=>ele===itemF))
+          this.checkedMenbers = Adata
+        }
+        
+        this.menberData = []
+        this.departmentids.push(a.departmentid)
+      } else {
+        this.departmentids = arr
+      }
+      this.departmentids = [...new Set(this.departmentids)]
+      this.$refs.tree.setCheckedKeys(this.departmentids)
+      this.$emit('onParams',this.departmentids,this.checkedMenbers,this.isonlymanager_dept)
+    },
+    // 勾选人员
+    handleCheckedChange (val) {
+      let arr = this.departmentids.filter((e)=>{
+        if (e !== this.clickdepid) return e
+      })
+      this.$refs.tree.setCheckedKeys(arr)
+
+      this.$emit('onParams',this.departmentids,this.checkedMenbers,this.isonlymanager_dept)
+    },
+    // 执行全选
+    handleCheckAllChange(val) {
+      let arr = this.menberData.map(e=>{
+        return e.hrid
+      })
+      let arr1 = this.departmentids.filter((e)=>{
+        if (e !== this.clickdepid) return e
+      })
+      this.$refs.tree.setCheckedKeys(arr1)
+      this.isIndeterminate = false;
+      if (this.checkAll) {
+        this.checkedMenbers = this.checkedMenbers.concat(arr)
+        this.$emit('onParams',this.departmentids,this.checkedMenbers,this.isonlymanager_dept)
+      } else {
+        let Adata = this.checkedMenbers.filter(itemF=>!arr.some(ele=>ele===itemF))
+        this.checkedMenbers = Adata
+        this.$emit('onParams',this.departmentids,this.checkedMenbers,this.isonlymanager_dept)
+      }
+    },
+  },
+  mounted () {
+    setTimeout(() => {
+      this.department()
+    }, 1000);
+  },
+  watch:{
+    defaultData (val) {
+      this.departmentids = val.departmentid
+      this.checkedMenbers = val.hrid
+      this.isonlymanager_dept = val.isonlymanager_dept
+      this.$refs.tree.setCheckedKeys(val.departmentid)
+      this.department()
+    }
+  }
+}
+
+</script>
+<style>
+.tree-panel .el-tree {
+  background: none;
+}
+.custom-tree-node {
+  flex: 1;
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  font-size: 14px;
+  padding-right: 8px;
+  background: none;
+}
+</style>
+<style scoped>
+.tree-panel{
+  padding: 16px;
+  font-size: 14px;
+  /* width:300px; */
+  background: #FAFAFA;
+}
+</style>

+ 264 - 0
src/HDrpManagement/publicManage/components/scopeOfAuthority/modules/mar_auth.vue

@@ -0,0 +1,264 @@
+<template>
+  <div>
+    <el-row :gutter="20">
+      <el-col :span="12">
+        <div class="tree-panel">
+          <el-tree
+            ref="tree"
+            :data="deplist"
+            node-key="sa_saleareaid"
+            default-expand-all
+            highlight-current
+            :check-strictly="true"
+            :check-on-click-node="false"
+            :expand-on-click-node="false"
+            :show-checkbox="true"
+            @node-click="nodeClick"
+            @check="nodeCheck"
+            @check-change="checkChange">
+            <span class="custom-tree-node" slot-scope="{ node, data }">
+              <span>{{ node.label }} &nbsp;<i v-if="data.status === 1" class="el-icon-user-solid"></i></span>
+              <span>
+                <slot name="operation" :data="data"></slot>
+              </span>
+            </span>
+          </el-tree>
+        </div>
+      </el-col>
+      <el-col :span="12">
+        <div class="flex-align-center flex-between normal-margin">
+          <el-checkbox v-model="checkAll" :indeterminate="isIndeterminate" @change="handleCheckAllChange">全 选</el-checkbox>
+          <el-checkbox v-model="isonlymanager_agent" @change="$emit('onAgentParams',saleareaids,checkedMenbers,isonlymanager_agent)">仅组织负责人可见</el-checkbox>
+        </div>
+        <div>
+          <el-input size="small" v-model="searchValue" class="normal-margin" placeholder="搜索人员" clearable></el-input>
+          <div :style="{ height: scrollHeight?scrollHeight:'400px'}"  style="overflow-y:scroll">
+            <!-- <el-checkbox-group :disabled="pageOnlyRead" v-model="checkedMenbers" @change="handleCheckedChange">
+              <div style="margin-bottom:10px" v-for="item in menberData" :key="item.index">
+                <el-checkbox v-if="searchValue" v-show="item.name === searchValue" :label="item.sa_agentsid">{{item.name}}</el-checkbox>
+                <el-checkbox v-else :label="item.sa_agentsid">{{item.name}}</el-checkbox>
+              </div>
+            </el-checkbox-group> -->
+            <el-checkbox-group :disabled="pageOnlyRead" v-model="checkedMenbers" @change="handleCheckedChange">
+              <div style="margin-bottom:10px" v-for="item in menberData" :key="item.index">
+                <el-checkbox v-if="searchValue" v-show="item.enterprisename === searchValue" :label="item.sa_agentsid">{{item.enterprisename}}</el-checkbox>
+                <el-checkbox v-else :label="item.sa_agentsid">{{item.enterprisename}}</el-checkbox>
+              </div>
+            </el-checkbox-group>
+          </div>
+        </div>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+
+import {mapGetters} from 'vuex'
+
+export default {
+  props:["defaultData",'scrollHeight','obiectName','obiectId'],
+  components:{
+  },
+  inject:['rowData'],
+  computed:{
+    ...mapGetters({
+      pageOnlyRead:"pageOnlyRead"
+    })
+  },
+  data () {
+    return {
+      deplist:[], // 部门树状结构数据
+      responseData:[], // 部门信息
+      menberData:[], // 人员信息
+      checkedMenbers:[], // 授权人员信息
+      saleareaids:[], // 选中的部门
+      onCheckedMenber:[], // 当前查询人员列表选中的人员
+      searchValue:'', // 搜索人员
+      clickdepid:'', // 点击的部门id
+      isonlymanager_agent:false,
+      checkAll:false,
+      isIndeterminate:false,
+    }
+  },
+  methods:{
+    // 查询区域
+    async department () {
+      const res = await this.$api.requested({
+        "classname": "webmanage.sale.salearea.salearea",
+        "method": "query_area_auth",
+        "content": {
+          "obiectId":this.rowData() ? this.rowData().sa_customerpoolid:0,
+          "obiectName": this.obiectName
+        },
+
+      })
+      // 数据格式转换成elementui-tree所需的格式
+      this.responseData = res.data
+      this.deplist = this.createMenu(res.data)      
+      this.$emit('onClick',{data:this.deplist[0],parent:[]})
+
+      // 如果存在默认组织数据就执行
+    },
+
+    createMenu (array) {
+      var that = this
+      let arr = []
+      function convertToElementTree(node) {
+        // 新节点
+        var elNode = {
+          label: node["areaname"],
+          remarks:node["remarks"],
+          isused:node["isused"],
+          sa_saleareaid:node['sa_saleareaid'],
+          parentid:node['parentid'],
+          status:node['status'],
+          disabled:that.pageOnlyRead,
+          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
+    },
+
+    // 根据组织架构范围查询人员
+    async menberList (val) {
+      let param = {
+        "id":20221011144903,
+        "content": {
+            "pageNumber": 1,
+            "pageSize": 10000,
+            "sa_saleareaids":val,
+            "containssub":0,
+            "where": {
+              "condition": ""
+            }
+        }
+      }
+      const res = await this.$api.requested(param)
+      this.menberData = res.data
+      this.checkedmenber()
+    },
+    // 获取当前查询的人员范围选中的人员
+    checkedmenber () {
+      let sa_agentsid = this.defaultData.sa_agentsid
+      let arr = []
+      sa_agentsid.filter(e=>{
+        this.menberData.forEach(m=>{
+          if (e === m.sa_agentsid) {
+            arr.push(e)
+          }
+        })
+      })
+      this.onCheckedMenber = arr
+    },
+    // 点击部门
+    nodeClick (row,node,comp) {
+      this.checkAll = false
+      this.clickdepid = row.sa_saleareaid
+      this.menberList([row.sa_saleareaid])
+      // this.onCheckedMenber.length === this.menberData.length?this.checkAll = true:this.checkAll = false
+    },
+    // 勾选部门
+    nodeCheck (checkedNodes,checkedKeys,halfCheckedNodes,halfCheckedKeys) {
+    },
+    // 监听部门勾选变化
+    checkChange (a,b,c) {
+      let arr = this.saleareaids.filter((e)=>{
+        if (e !== a.sa_saleareaid) return e
+      })
+      if (b) {
+        if (this.clickdepid === a.sa_saleareaid) {
+          let Adata = this.checkedMenbers.filter(itemF=>!this.onCheckedMenber.some(ele=>ele===itemF))
+          this.checkedMenbers = Adata
+        }
+        this.menberData = []
+        this.saleareaids.push(a.sa_saleareaid)
+      } else {
+        this.saleareaids = arr
+      }
+      this.saleareaids = [...new Set(this.saleareaids)]
+      this.$refs.tree.setCheckedKeys(this.saleareaids)
+      this.$emit('onAgentParams',this.saleareaids,this.checkedMenbers,this.isonlymanager_agent)
+    },
+    // 勾选人员
+    handleCheckedChange (val) {
+      let arr = this.saleareaids.filter((e)=>{
+        if (e !== this.clickdepid) return e
+      })
+      this.$refs.tree.setCheckedKeys(arr)
+
+      this.$emit('onAgentParams',this.saleareaids,this.checkedMenbers,this.isonlymanager_agent)
+    },
+    // 执行全选
+    handleCheckAllChange(val) {
+      let arr = this.menberData.map(e=>{
+        return e.sa_agentsid
+      })
+      let arr1 = this.saleareaids.filter((e)=>{
+        if (e !== this.clickdepid) return e
+      })
+      this.$refs.tree.setCheckedKeys(arr1)
+      this.isIndeterminate = false;
+      if (this.checkAll) {
+        this.checkedMenbers = this.checkedMenbers.concat(arr)
+        this.$emit('onAgentParams',this.saleareaids,this.checkedMenbers,this.isonlymanager_agent)
+      } else {
+        let Adata = this.checkedMenbers.filter(itemF=>!arr.some(ele=>ele===itemF))
+        this.checkedMenbers = Adata
+        this.$emit('onAgentParams',this.saleareaids,this.checkedMenbers,this.isonlymanager_agent)
+      }
+    },
+  },
+  mounted () {
+    setTimeout(() => {
+      this.department()
+    }, 1000);
+  },
+  watch:{
+    pageOnlyRead () {
+    },
+    defaultData (val) {
+      this.saleareaids = val.sa_saleareaid
+      this.checkedMenbers = val.sa_agentsid
+      this.isonlymanager_agent = val.isonlymanager_agent
+      this.$refs.tree.setCheckedKeys(val.sa_saleareaid)
+      this.department()
+    }
+  }
+}
+
+</script>
+<style>
+.tree-panel .el-tree {
+  background: none;
+}
+.custom-tree-node {
+  flex: 1;
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  font-size: 14px;
+  padding-right: 8px;
+  background: none;
+}
+</style>
+<style scoped>
+.tree-panel{
+  padding: 16px;
+  font-size: 14px;
+  /* width:300px; */
+  background: #FAFAFA;
+}
+</style>

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

@@ -29,7 +29,7 @@ export default {
   data () {
     return {
       options:[],
-      people:''
+      people:'',
     }
   },
   provide () {
@@ -50,7 +50,8 @@ export default {
         },
       })
       this.people = res.data
-    }
+    },
+    
   },
   created() {
     this.getPeople()

+ 12 - 4
src/components/delete_btn/index.vue

@@ -14,19 +14,27 @@ nameKey:接口字段
  */
 export default {
   props: ['id','nameId','nameKey'],
-  methods: {
-    async deleteRow() {
-      let res = await this.$api.requested({
+  data () {
+    return {
+      param: {
         "id":this.nameId,
         "version":1,
         "content": {
             [this.nameKey]:[this.id]
         }
-      })
+      }
+    }
+  },
+  methods: {
+    async deleteRow() {
+      let res = await this.$api.requested(this.param)
       this.tool.showMessage(res,() => {
         this.$emit('deleteSuccess')
       })
     },
+  },
+  created () {
+    this.$emit('deleteCreate')
   }
 }
 

+ 19 - 1
src/router/HDrpManagement.js

@@ -208,7 +208,25 @@ const HDrpManagement = [
       keeproute: true,
     },
     component: () => import(/* webpackChunkName: "about" */ '@/HDrpManagement/projectChange/modules/detail')
-  },
+  },{
+    path: '/quotationDetail',
+    name:'project',
+    meta: {
+      title: '报价单详情',
+      ast_nav: true,
+      keeproute: true,
+    },
+    component: () => import(/* webpackChunkName: "about" */ '@/HDrpManagement/projectChange/modules/modules/quotation/modules/detail')
+  },{
+    path: '/rivalDetail',
+    name:'project',
+    meta: {
+      title: '竞争对手',
+      ast_nav: true,
+      keeproute: true,
+    },
+    component: () => import(/* webpackChunkName: "about" */ '@/HDrpManagement/projectChange//modules/modules/rival/modules/detail')
+  }
   
 ];
 export default HDrpManagement;