Browse Source

代码上传

zhangqiOMG 3 years ago
parent
commit
09ec8fab1c
32 changed files with 1319 additions and 209 deletions
  1. 22 0
      src/Form/none/add.vue
  2. 22 0
      src/Form/none/edit.vue
  3. 74 0
      src/Form/productMoneyOdd/add.vue
  4. 80 0
      src/Form/productMoneyOdd/edit.vue
  5. 99 0
      src/Form/productMoneyOdd/productOddDetail/add.vue
  6. 167 0
      src/Form/productMoneyOdd/productOddDetail/edit.vue
  7. 42 73
      src/Form/projectChange/add.vue
  8. 92 0
      src/Form/projectChange/andEnterprise/add.vue
  9. 90 0
      src/Form/projectChange/andEnterprise/contacat/add.vue
  10. 22 0
      src/Form/projectChange/andEnterprise/contacat/edit.vue
  11. 99 0
      src/Form/projectChange/andEnterprise/edit.vue
  12. 47 80
      src/Form/projectChange/edit.vue
  13. 4 1
      src/Form/projectChange/rival/add.vue
  14. 4 2
      src/Form/projectChange/rival/edit.vue
  15. 15 5
      src/Form/publicManage/add.vue
  16. 22 11
      src/Form/publicManage/edit.vue
  17. 27 0
      src/HDrpManagement/productMoneyOdd/components/check.vue
  18. 57 0
      src/HDrpManagement/productMoneyOdd/index.vue
  19. 91 0
      src/HDrpManagement/productMoneyOdd/modules/productOddDetail.vue
  20. 1 1
      src/HDrpManagement/projectChange/components/check.vue
  21. 2 0
      src/HDrpManagement/projectChange/components/del.vue
  22. 2 3
      src/HDrpManagement/projectChange/index.vue
  23. 10 5
      src/HDrpManagement/projectChange/modules/detail.vue
  24. 82 0
      src/HDrpManagement/projectChange/modules/modules/andEnterprise/components/Contact.vue
  25. 51 0
      src/HDrpManagement/projectChange/modules/modules/andEnterprise/index.vue
  26. 7 4
      src/HDrpManagement/projectChange/modules/modules/rival/index.vue
  27. 9 3
      src/HDrpManagement/projectChange/modules/modules/stageTask/index.vue
  28. 25 7
      src/HDrpManagement/publicManage/components/scopeOfAuthority/modules/dep_auth.vue
  29. 22 12
      src/HDrpManagement/publicManage/components/scopeOfAuthority/modules/mar_auth.vue
  30. 1 1
      src/components/delete_btn/index.vue
  31. 9 0
      src/router/HDrpManagement.js
  32. 22 1
      src/utils/basic-data.js

+ 22 - 0
src/Form/none/add.vue

@@ -0,0 +1,22 @@
+<template>
+  <div></div>
+</template>
+
+<script>
+export default {
+  name: '',
+  data() {
+    return {
+    };
+  },
+  computed:{
+  },
+  watch:{
+  },
+  methods: {},
+};
+</script>
+
+<style scoped>
+
+</style>

+ 22 - 0
src/Form/none/edit.vue

@@ -0,0 +1,22 @@
+<template>
+  <div></div>
+</template>
+
+<script>
+export default {
+  name: '',
+  data() {
+    return {
+    };
+  },
+  computed:{
+  },
+  watch:{
+  },
+  methods: {},
+};
+</script>
+
+<style scoped>
+
+</style>

+ 74 - 0
src/Form/productMoneyOdd/add.vue

@@ -0,0 +1,74 @@
+<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="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">
+        <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",
+  components:{},
+  data(){
+    return {
+      dialogFormVisible:false,
+      projectAddress:[],
+      form:{
+        "sa_itempriceadjustid": 0,
+        "remarks":""
+      },
+      rules:{
+        remarks:[
+          { required: true, message: '请填写备注', trigger: 'blur'},
+        ]
+      }
+    }
+  },
+  created () {
+  },
+  methods:{
+    onSubmit(){
+      this.$refs['form'].validate(async (valid) => {
+        if (!valid) return false
+        const res = await this.$api.requested({
+          "id": "20221024163804",
+          "version":1,
+          "content": 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>

+ 80 - 0
src/Form/productMoneyOdd/edit.vue

@@ -0,0 +1,80 @@
+<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="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">
+        <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",
+  components:{},
+  props:['data'],
+  inject:[],
+  data(){
+    return {
+      dialogFormVisible:false,
+      projectAddress:[],
+      form:{
+        "sa_itempriceadjustid": 0,
+        "remarks":""
+      },
+      rules:{
+        remarks:[
+          { required: true, message: '请填写备注', trigger: 'blur'},
+        ]
+      }
+    }
+  },
+  created () {
+  },
+  methods:{
+    editBtn () {
+      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": "20221024163804",
+          "version":1,
+          "content": 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>

+ 99 - 0
src/Form/productMoneyOdd/productOddDetail/add.vue

@@ -0,0 +1,99 @@
+<template>
+  <div>
+    <el-button size="mini" type="primary" @click="dialogFormVisible=true">新 增</el-button>
+    <el-dialog title="新 增" append-to-body :visible.sync="dialogFormVisible" width="50%">
+      <div slot="title" style="font-size: 15px">
+        商品新增
+      </div>
+      <basicLayout 
+        ref="basicLayout" 
+        formPath="none" 
+        tableName="productList" 
+        idName="itemid" 
+        :apiId="{query:20221028154004,del:''}" 
+        :options="options"
+        @checkboxCallBack="checkboxCallBack">
+        <div slot="custom"></div>
+        <template v-slot:tbList="scope">
+          <div>
+            {{scope.data.column.data[[scope.data.column.columnname]]}}
+          </div>
+        </template>
+      </basicLayout>
+      <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" :disabled="selectProduct.length == 0" class="normal-btn-width btn-warning">确 定</el-button>
+      </div>
+    </el-dialog>
+    
+  </div>
+</template>
+
+<script>
+export default {
+  inject:['rowData'],
+  components:{},
+  name: "index",
+  data() {
+    return {
+      options:[],
+      dialogFormVisible: false,
+      productList:'',
+      selectProduct:[]
+    }
+  },
+  provide () {
+    return {
+    }
+  },
+  mounted () {
+    this.getProductList()
+  },
+  methods: {
+    /* 提交 */
+    async onSubmit () {
+      let content = this.selectProduct.map(item => {
+        return {
+          "sa_itempriceadjust_itemsid":0,
+          "itemid":item.itemid,
+          "remarks":""
+        }
+      })
+      let res = await this.$api.requested({
+        "id": "20221025095104",
+        "content": {
+            "sa_itempriceadjustid": this.rowData().sa_itempriceadjustid,
+            "sa_itempriceadjust_items": content
+        }
+      })
+      this.tool.showMessage(res,() => {
+        this.$emit('onSuccess')
+        this.dialogFormVisible = false
+      })
+    },
+    checkboxCallBack (data) {
+      this.selectProduct = data
+    },
+    /* 获取可添加的商品 */
+    async getProductList () {
+      let res = await this.$api.requested({
+          "accesstoken": "0930ace78dc873659508aaa361ebada7",
+          "id": 20221028154004,
+          "content": {
+              "pageNumber": 1,
+              "pageSize": 20,
+              "where": {
+                  "condition": ""
+              }
+          }
+      })
+      this.productList = res.data
+      console.log(this.productList);
+    },
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 167 - 0
src/Form/productMoneyOdd/productOddDetail/edit.vue

@@ -0,0 +1,167 @@
+<template>
+  <div>
+    <el-button size="mini" type="text" @click="editBtn">编 辑 价 格</el-button>
+    <el-dialog title="编 辑" append-to-body :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="pricegrade">
+              <el-select v-model="form.pricegrade" placeholder="请选择价格等级">
+                <el-option
+                    v-for="item in priceGrade()"
+                    :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="price">
+              <el-input size="mini" :disabled="form.oldprice1==0" placeholder="请输入调整价" v-model="form.oldprice1"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="一级调整价" prop="price1">
+              <el-input size="mini" placeholder="请输入调整价" :disabled="form.oldprice1==0" v-model="form.price1"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="二级原价" prop="price">
+              <el-input size="mini" placeholder="请输入调整价"  :disabled="form.oldprice2==0" v-model="form.oldprice2"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="二级调整价" prop="price2">
+              <el-input size="mini" placeholder="请输入调整价" :disabled="form.oldprice2==0" v-model="form.price2"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="三级原价" disabled prop="price">
+              <el-input size="mini" placeholder="请输入调整价"  :disabled="form.oldprice3==0" v-model="form.oldprice3"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="三级调整价" prop="price3">
+              <el-input size="mini" placeholder="请输入调整价" :disabled="form.oldprice3==0" v-model="form.price3"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="四级原价" disabled prop="price">
+              <el-input size="mini" placeholder="请输入调整价"  :disabled="form.oldprice4==0"  v-model="form.oldprice4"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="四级调整价" prop="price4">
+              <el-input size="mini" placeholder="请输入调整价" :disabled="form.oldprice4==0" v-model="form.price4"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="五级原价" disabled prop="oldprice5">
+              <el-input size="mini" placeholder="请输入调整价"  :disabled="form.oldprice5==0"  v-model="form.oldprice5"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="五级调整价" prop="price5">
+              <el-input size="mini" placeholder="请输入调整价" :disabled="form.oldprice5==0" v-model="form.price5"></el-input>
+            </el-form-item>
+          </el-col>
+        </el-form>
+      </el-row>
+      <div class="dialog-footer">
+        <el-button size="small" @click="dialogFormVisible = false" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" type="warning" @click="onSubmit" class="normal-btn-width btn-warning">确 定</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { log } from '@antv/g2plot/lib/utils'
+export default {
+  name: "add",
+  components:{},
+  props:['data'],
+  inject:['priceGrade'],
+  data(){
+    return {
+      dialogFormVisible:false,
+      projectAddress:[],
+      priceArr:['price1','price2','price3','price4','price5'],
+      form:{
+        "price1":'',
+        "price2":'',
+        "price3":'',
+        "price4":'',
+        "price5":'',
+        "oldprice1":'',
+        "oldprice2":'',
+        "oldprice3":'',
+        "oldprice4":'',
+        "oldprice5":'',
+      },
+      rules:{
+        price1:[
+          { required: true, message: '请输入1级调整价', trigger: 'blur'},
+        ],
+        price2:[
+          { required: true, message: '请输入2级调整价', trigger: 'blur'},
+        ],
+        price3:[
+          { required: true, message: '请输入3级调整价', trigger: 'blur'},
+        ],
+        price4:[
+          { required: true, message: '请输入4级调整价', trigger: 'blur'},
+        ]
+      }
+    }
+  },
+  created () {
+  },
+  methods:{
+    editBtn () {
+      this.dialogFormVisible = true
+      this.form = Object.assign({},this.form,this.data)
+    },
+    onSubmit(){
+      this.$refs['form'].validate(async (valid) => {
+        if (!valid) return false
+        let content = this.priceArr.map((item,index) => {
+          if (this.form[item] !== 0) {
+            return {
+              "sa_itempriceadjust_itemsid":this.data.sa_itempriceadjust_itemsid,
+              "pricegrade":index + 1,
+              "price":this.form[item]
+            }
+          }          
+        }).filter(item => item)
+        const res = await this.$api.requested({
+            "id": "20221025165904",
+            "content": {
+                "sa_itempriceadjustid": this.data.sa_itempriceadjustid,
+                "sa_itempriceadjust_itemprice": content
+            }
+        })
+        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>

+ 42 - 73
src/Form/projectChange/add.vue

@@ -7,18 +7,6 @@
       </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>
@@ -29,30 +17,9 @@
               <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-select v-model="form.sa_projstagetempid" placeholder="请选择当前项目模板" size="mini">
                 <el-option
                   v-for="item in projectPanl()"
                   :key="item.sa_projstagetempid"
@@ -63,17 +30,33 @@
             </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-form-item label="项目类型" prop="projecttype">
+              <el-select v-model="form.projecttype" placeholder="请选择项目类型" size="small">
                 <el-option
-                  v-for="(item,index) in projectAddress"
+                  v-for="(item,index) in projectType()"
                   :key="index"
-                  :label="item.address"
-                  :value="item.contactsid">
+                  :label="item.value"
+                  :value="item.value">
                 </el-option>
               </el-select>
             </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="grade">
               <el-select v-model="form.grade" placeholder="请选择项目等级" size="small">
@@ -87,15 +70,19 @@
             </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 label="项目地址" prop="province">
+              <el-cascader
+                  style="width:100%"
+                  v-model="form.province"
+                  :options="basicData.data().areaData"
+                  @change="cascaderChange" clearable>
+              </el-cascader>
+            </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="24">
@@ -129,7 +116,6 @@ export default {
       projectAddress:[],
       form:{
         "sa_projectid":0,
-        "sys_enterpriseid":"",
         "projectname":"",
         "projectnum":"",
         "address":"",//可选
@@ -141,7 +127,9 @@ export default {
         "signdate_due":"",//可选
         "scale":"",//可选
         "signamount_due":"",//可选
-        "sa_project_addressid":""//选择地址
+        "province":"",
+        "city":"",
+        "county":"",
       },
       rules:{
         projectname:[
@@ -150,18 +138,12 @@ export default {
         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'}
         ],
@@ -169,6 +151,10 @@ export default {
     }
   },
   methods:{
+    /*省市县*/
+    cascaderChange (val) {
+      this.form = Object.assign({},this.form,{province:val[0],city:val[1],county:val[2]})
+    },
     onSubmit(){
       console.log(this.form)
       this.$refs['form'].validate(async (valid) => {
@@ -185,23 +171,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 = ''

+ 92 - 0
src/Form/projectChange/andEnterprise/add.vue

@@ -0,0 +1,92 @@
+<template>
+  <div>
+    <el-button size="mini" type="primary" @click="dialogFormVisible = true">新 增</el-button>
+    <el-dialog title="新 增" :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="sys_enterpriseid">
+              <el-select v-model="form.sys_enterpriseid" placeholder="请选择关联的企业" clearable @clear="form.sys_enterpriseid=''" size="small">
+                <el-option
+                  v-for="item in basicData.data().enterpriseList"
+                  :key="item.sys_enterpriseid"
+                  :label="item.enterprisename"
+                  :value="item.sys_enterpriseid">
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <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">
+        <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",
+  components:{},
+  data(){
+    return {
+      dialogFormVisible:false,
+      projectAddress:[],
+      form:{
+      "sa_project_partiesid": 0,
+      "sa_projectid": "",
+      "sys_enterpriseid": "",
+      "remarks": "" //可选
+      },
+      rules:{
+        sys_enterpriseid:[
+          { required: true, message: '请选择企业', trigger: 'blur'},
+        ]
+      }
+    }
+  },
+  created () {
+    console.log(this.basicData.data().enterpriseList);
+    
+  },
+  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": "20221027143602",
+          "version":1,
+          "content": 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>

+ 90 - 0
src/Form/projectChange/andEnterprise/contacat/add.vue

@@ -0,0 +1,90 @@
+<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="contactsid">
+              <el-select v-model="form.contactsid" placeholder="请选择关联的联系人" clearable @clear="form.sys_enterpriseid=''" size="small">
+                <el-option
+                  v-for="item in contactList()"
+                  :key="item.contactsid"
+                  :label="item.name"
+                  :value="item.contactsid">
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <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">
+        <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",
+  components:{},
+  inject:['contactList','rowData'],
+  data(){
+    return {
+      dialogFormVisible:false,
+      projectAddress:[],
+      form:{
+        "sa_project_parties_contactsid": 0,
+        "sa_project_partiesid": "",
+        "contactsid": "",
+        "remarks": ""
+      },
+      rules:{
+        contactsid:[
+          { required: true, message: '请选择企业', trigger: 'blur'},
+        ]
+      }
+    }
+  },
+  created () {
+  },
+  methods:{
+    onSubmit(){
+      this.$refs['form'].validate(async (valid) => {
+        if (!valid) return false
+        this.form.sa_project_partiesid = this.rowData().sa_project_partiesid
+        const res = await this.$api.requested({
+          "id": "20221027184702",
+          "version":1,
+          "content": 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>

+ 22 - 0
src/Form/projectChange/andEnterprise/contacat/edit.vue

@@ -0,0 +1,22 @@
+<template>
+  <div></div>
+</template>
+
+<script>
+export default {
+  name: '',
+  data() {
+    return {
+    };
+  },
+  computed:{
+  },
+  watch:{
+  },
+  methods: {},
+};
+</script>
+
+<style scoped>
+
+</style>

+ 99 - 0
src/Form/projectChange/andEnterprise/edit.vue

@@ -0,0 +1,99 @@
+<template>
+  <div>
+    <el-button size="mini" type="text" @click="editBtn">编 辑</el-button>
+    <el-dialog title="新 增" :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="sys_enterpriseid">
+              <el-select v-model="form.sys_enterpriseid" placeholder="请选择关联的企业" clearable @clear="form.sys_enterpriseid=''" size="small">
+                <el-option
+                  v-for="item in basicData.data().enterpriseList"
+                  :key="item.sys_enterpriseid"
+                  :label="item.enterprisename"
+                  :value="item.sys_enterpriseid">
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <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">
+        <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",
+  components:{},
+  props:['data'],
+  data(){
+    return {
+      dialogFormVisible:false,
+      projectAddress:[],
+      form:{
+      "sa_project_partiesid": 0,
+      "sa_projectid": "",
+      "sys_enterpriseid": "",
+      "remarks": "" //可选
+      },
+      rules:{
+        sys_enterpriseid:[
+          { required: true, message: '请选择企业', trigger: 'blur'},
+        ]
+      }
+    }
+  },
+  created () {
+    console.log(this.basicData.data().enterpriseList);
+    
+  },
+  methods:{
+    editBtn () {
+      this.dialogFormVisible = true
+      this.form = Object.assign({},this.form,this.data)
+      console.log(this.form);
+      
+    },
+    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": "20221027143602",
+          "version":1,
+          "content": 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>

+ 47 - 80
src/Form/projectChange/edit.vue

@@ -3,22 +3,10 @@
     <el-button size="mini" :type="btnType?btnType:'text'" @click="editBtn">编 辑</el-button>
     <el-dialog title="新 增" append-to-body :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>
@@ -29,30 +17,9 @@
               <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-select v-model="form.sa_projstagetempid" placeholder="请选择当前项目模板" size="mini">
                 <el-option
                   v-for="item in projectPanl()"
                   :key="item.sa_projstagetempid"
@@ -63,17 +30,33 @@
             </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-form-item label="项目类型" prop="projecttype">
+              <el-select v-model="form.projecttype" placeholder="请选择项目类型" size="small">
                 <el-option
-                  v-for="(item,index) in projectAddress"
+                  v-for="(item,index) in projectType()"
                   :key="index"
-                  :label="item.address"
-                  :value="item.contactsid">
+                  :label="item.value"
+                  :value="item.value">
                 </el-option>
               </el-select>
             </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="grade">
               <el-select v-model="form.grade" placeholder="请选择项目等级" size="small">
@@ -87,15 +70,19 @@
             </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 label="项目地址" prop="province">
+              <el-cascader
+                  style="width:100%"
+                  v-model="form.province"
+                  :options="basicData.data().areaData"
+                  @change="cascaderChange" clearable>
+              </el-cascader>
+            </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="24">
@@ -131,7 +118,6 @@ export default {
       addChange:false,
       form:{
         "sa_projectid":0,
-        "sys_enterpriseid":"",
         "projectname":"",
         "projectnum":"",
         "address":"",//可选
@@ -143,7 +129,9 @@ export default {
         "signdate_due":"",//可选
         "scale":"",//可选
         "signamount_due":"",//可选
-        "sa_project_addressid":""//选择地址
+        "province":"",
+        "city":"",
+        "county":"",
       },
       rules:{
         projectname:[
@@ -152,9 +140,6 @@ export default {
         projectnum:[
           { required: true, message: '输入项目编号', trigger: 'blur'}
         ],
-        sa_project_addressid:[
-          { required: true, message: '请选择项目地址', trigger: 'blur'},
-        ],
         projecttype:[
           { required: true, message: '请选择项目类型', trigger: 'blur'}
         ],
@@ -171,21 +156,20 @@ export default {
     }
   },
   methods:{
+    /*省市县*/
+    cascaderChange (val) {
+      this.form = Object.assign({},this.form,{city:val[1],county:val[2]})
+    },
     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)
+      this.form.province = [this.form.province,this.form.city,this.form.county]
+      this.form.grade = parseInt(this.form.grade)
     },
     onSubmit(){
       this.$refs['form'].validate(async (valid) => {
         if (!valid) return false
+        this.form.province = this.form.province[0]
         const res = await this.$api.requested({
           "id": "20221020144202",
           "version":1,
@@ -199,23 +183,6 @@ export default {
         })
       })
     },
-    /* 获取项目地址 */
-    async getProjectAddres () {
-      if (this.addChange) this.form.sa_project_addressid = ''
-      let res = await this.$api.requested({
-        "id": "20221022165503",
-        "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 = ''

+ 4 - 1
src/Form/projectChange/rival/add.vue

@@ -1,4 +1,4 @@
-<template>
+<!--<template>
   <div>
     <el-button size="mini" type="primary" @click="dialogFormVisible = true">新 增</el-button>
     <el-dialog title="新 增" :visible.sync="dialogFormVisible" width="50%">
@@ -52,6 +52,9 @@
       </div>
     </el-dialog>
   </div>
+</template>-->
+<template>
+  
 </template>
 
 <script>

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

@@ -1,4 +1,4 @@
-<template>
+<!--<template>
   <div>
     <el-button size="mini" :type="btnType?btnType:'text'" @click="editBtn">编 辑</el-button>
     <el-dialog title="新 增" :visible.sync="dialogFormVisible" width="50%">
@@ -52,8 +52,10 @@
       </div>
     </el-dialog>
   </div>
+</template>-->
+<template>
+  
 </template>
-
 <script>
 export default {
   name: "add",

+ 15 - 5
src/Form/publicManage/add.vue

@@ -33,14 +33,22 @@
           </el-form-item>
           </el-col>
           <el-col :span="24">
-          <el-form-item label="回收规则" prop="datafollowlimit">
+          <el-form-item label="保有规则" prop="isopentenure">
+            <el-radio-group v-model="form.isopentenure">
+              <el-radio :label="1">开启</el-radio>
+              <el-radio :label="0">关闭</el-radio>
+            </el-radio-group>
+          </el-form-item>
+          </el-col>
+          <el-col :span="24">
+          <el-form-item label="自动回收规则" prop="datafollowlimit">
             <div>
-              <el-radio-group v-model="isOpen">
-                <el-radio :label="1">开启自动回收</el-radio>
-                <el-radio :label="0">关闭自动回收</el-radio>
+              <el-radio-group v-model="form.isopenrecovery">
+                <el-radio :label="1">开启</el-radio>
+                <el-radio :label="0">关闭</el-radio>
               </el-radio-group>
             </div>
-            <div v-show="isOpen == 1">
+            <div v-show="form.isopenrecovery == 1">
               <div><el-input size="mini" style="width:50px;margin-right:10px" v-model="form.datafollowlimit" />天,未跟进,自动回收至公海,负责人清空</div>
               <div><el-input size="mini" style="width:50px;margin-right:10px" v-model="form.deallimit" />天,未成交,自动回收至公海,负责人清空</div>
             </div>
@@ -82,6 +90,8 @@ export default {
         "freeget": 0, //自由领取
         "isused": 1, //是否启用
         "remarks": "",
+        "isopentenure":0,
+        "isopenrecovery":0,
         "countlimit": 0, //成员最大保有客户数(0表示不设限)
         "datafollowlimit": 0, //跟进天数限制(超过天数后自动退回,0表示不设限)
         "deallimit": 0, //成交天数限制(超过天数后自动退回,0表示不限制)

+ 22 - 11
src/Form/publicManage/edit.vue

@@ -33,14 +33,22 @@
           </el-form-item>
           </el-col>
           <el-col :span="24">
-          <el-form-item label="回收规则" prop="datafollowlimit">
+          <el-form-item label="保有规则" prop="isopentenure">
+            <el-radio-group v-model="form.isopentenure">
+              <el-radio :label="1">开启</el-radio>
+              <el-radio :label="0">关闭</el-radio>
+            </el-radio-group>
+          </el-form-item>
+          </el-col>
+          <el-col :span="24">
+          <el-form-item label="自动回收规则" prop="datafollowlimit">
             <div>
-              <el-radio-group v-model="isOpen">
-                <el-radio :label="1">开启自动回收</el-radio>
-                <el-radio :label="0">关闭自动回收</el-radio>
+              <el-radio-group v-model="form.isopenrecovery">
+                <el-radio :label="1">开启</el-radio>
+                <el-radio :label="0">关闭</el-radio>
               </el-radio-group>
             </div>
-            <div v-show="isOpen == 1">
+            <div v-show="form.isopenrecovery == 1">
               <div><el-input size="mini" style="width:50px;margin-right:10px" v-model="form.datafollowlimit" />天,未跟进,自动回收至公海,负责人清空</div>
               <div><el-input size="mini" style="width:50px;margin-right:10px" v-model="form.deallimit" />天,未成交,自动回收至公海,负责人清空</div>
             </div>
@@ -74,7 +82,6 @@ export default {
     return {
       dialogFormVisible: false,
       authData: '',
-      isOpen:0,
       defaultData: [],
       dataid: '',
       form: {
@@ -83,7 +90,9 @@ export default {
         "freeget": 0, //自由领取
         "isused": 1, //是否启用
         "remarks": "",
+        "isopentenure":0,
         "countlimit": 0, //成员最大保有客户数(0表示不设限)
+        "isopenrecovery":0,
         "datafollowlimit": 0, //跟进天数限制(超过天数后自动退回,0表示不设限)
         "deallimit": 0, //成交天数限制(超过天数后自动退回,0表示不限制)
         "isdefault": 1 //是否默认
@@ -96,11 +105,14 @@ export default {
           { required: true, message: '请选择领取规则', trigger: 'blur' }
         ],
         datafollowlimit: [
-          { required: true, message: '请输入数据', trigger: 'blur' }
+          { required: true, message: '请填写回收数据', trigger: 'blur' }
         ],
         deallimit: [
+          { required: true, message: '请填写回收数据', trigger: 'blur' }
+        ],
+        isopentenure: [
           { required: true, message: '请输入数据', trigger: 'blur' }
-        ]
+        ],
       }
     }
   },
@@ -115,9 +127,8 @@ export default {
     editBtn () {
       this.dialogFormVisible = true
       this.form = Object.assign({},this.form,this.data)
-      if (this.form.datafollowlimit || this.form.deallimit) {
-        this.isOpen = 1
-      }
+      console.log(this.form);
+      
       this.getdefaultData()
     },
     async getdefaultData () {

+ 27 - 0
src/HDrpManagement/productMoneyOdd/components/check.vue

@@ -0,0 +1,27 @@
+<template>
+  <div class="inline-16">
+    <el-popconfirm title="确定通过审核吗?" @confirm="CheckRow()">
+      <el-button slot="reference" size="mini" type="text">审 核</el-button>
+    </el-popconfirm>
+  </div>
+</template>
+
+<script>
+export default {
+  props: ['rowData'],
+  methods: {
+    async CheckRow() {
+      let res = await this.$api.requested({
+        "id": 20221025094304,
+        "content": {
+            "sa_itempriceadjustid":this.rowData.sa_itempriceadjustid
+        },
+      })
+      this.tool.showMessage(res,() => {
+        this.$emit('checkSuccess')
+      })
+    },
+  },
+}
+
+</script>

+ 57 - 0
src/HDrpManagement/productMoneyOdd/index.vue

@@ -0,0 +1,57 @@
+<template>
+  <div>
+    <basicLayout 
+      ref="basicLayout" 
+      formPath="productMoneyOdd" 
+      tableName="productMoneyOdddTable" 
+      idName="sa_itempriceadjustid" 
+      :apiId="{query:20221024163504,del:20221025092904}" 
+      :options="options">
+      <div slot="custom"></div>
+      <template v-slot:tbList="scope">
+        <div>
+          {{scope.data.column.data[[scope.data.column.columnname]]}}
+        </div>
+      </template>
+      <template v-slot:tbOpreation="scope">
+        <productOddDetail class="inline-16" :rowData="scope.data.data"/>
+        <Check v-if="scope.data.data.status == '新建' && tool.checkAuth($route.name,'check')" :rowData="scope.data.data" @checkSuccess="$refs.basicLayout.listData()"/>
+        <delete-btn v-if="tool.checkAuth($route.name,'delete')" :id="scope.data.data.sa_itempriceadjustid" @deleteSuccess="$refs.basicLayout.listData()" nameId="20221025092904" nameKey="sa_itempriceadjustids"/>
+      </template>
+    </basicLayout>
+  </div>
+</template>
+
+<script>
+import productOddDetail from './modules/productOddDetail'
+import Check from './components/check'
+export default {
+  components:{productOddDetail,Check},
+  name: "index",
+  data() {
+    return {
+      options:[],
+      priceGrade:''
+    }
+  },
+  provide () {
+    return {
+      priceGrade: () => this.priceGrade
+    }
+  },
+  async created () {
+    /* 获取价格等级 */
+    let res = await this.$store.dispatch('optiontypeselect','pricegrade')
+    this.priceGrade = res.data
+    console.log(this.priceGrade);
+    
+  },
+  methods: {
+    
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 91 - 0
src/HDrpManagement/productMoneyOdd/modules/productOddDetail.vue

@@ -0,0 +1,91 @@
+<template>
+  <div>
+    <el-button size="mini" type="text" @click="detailBtn">商 品 明 细</el-button>
+    <el-dialog title="新 增" :visible.sync="dialogFormVisible" width="80%">
+      <div slot="title" style="font-size: 15px">
+        商品价格调整单明细
+      </div>
+      <basicLayout 
+        ref="basicLayout" 
+        formPath="productMoneyOdd/productOddDetail" 
+        tableName="productDetailTable" 
+        idName="sa_itempriceadjustid" 
+        :apiId="{query:20221025160904,del:20221025095404}" 
+        :options="options"
+        @listCreate="list">
+        <div slot="custom"></div>
+        <template v-slot:tbList="scope">
+          <div v-if="scope.data.column.data[scope.data.column.columnname] === ''">
+          --
+          </div>
+          <div v-else-if="scope.data.column.columnname == 'province'">
+          {{`${scope.data.column.data['province']}、${scope.data.column.data['city']}、${scope.data.column.data['county']}`}}
+        </div>
+          <div v-else>
+            {{scope.data.column.data[[scope.data.column.columnname]]}}
+          </div>
+        </template>
+        <template v-slot:tbOpreation="scope">
+          <delete-btn @deleteCreate="deleteCreate" v-if="tool.checkAuth($route.name,'delete')" :id="scope.data.data.sa_itempriceadjust_itemsid" @deleteSuccess="$refs.basicLayout.listData()" nameId="20221025095404" nameKey="sa_itempriceadjust_itemsids"/>
+        </template>
+      </basicLayout>
+    </el-dialog>
+    
+  </div>
+</template>
+
+<script>
+export default {
+  props:['rowData'],
+  components:{},
+  name: "index",
+  data() {
+    return {
+      options:[],
+      dialogFormVisible: false,
+      productList:''
+    }
+  },
+  provide () {
+    return {
+      rowData:() => this.rowData,
+      productList:() => this.productList
+    }
+  },
+  mounted () {
+    
+  },
+  methods: {
+    deleteCreate (param) {
+      param.content.sa_itempriceadjustid = this.rowData.sa_itempriceadjustid
+    },
+    detailBtn () {
+      this.getProductList()
+      this.dialogFormVisible = true
+    },
+    list (param) {
+      param.content.sa_itempriceadjustid = this.rowData.sa_itempriceadjustid
+    },
+    /* 获取可添加的商品 */
+    async getProductList () {
+      let res = await this.$api.requested({
+          "accesstoken": "0930ace78dc873659508aaa361ebada7",
+          "id": 20221028154004,
+          "content": {
+              "pageNumber": 1,
+              "pageSize": 20,
+              "where": {
+                  "condition": ""
+              }
+          }
+      })
+      this.productList = res.data
+      console.log(this.productList);
+    },
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 1 - 1
src/HDrpManagement/projectChange/components/check.vue

@@ -21,7 +21,7 @@ export default {
         this.$emit('checkSuccess')
       })
     },
-  }
+  },
 }
 
 </script>

+ 2 - 0
src/HDrpManagement/projectChange/components/del.vue

@@ -54,6 +54,8 @@ export default {
         this.$emit('deleteSuccess')
       })
     },
+  },
+  created () {
   }
 }
 

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

@@ -12,6 +12,7 @@
       </el-tabs>
     </div>
     <basicLayout 
+      style="padding-top:0 !important"
       ref="basicLayout" 
       formPath="projectChange" 
       tableName="projectTable" 
@@ -180,7 +181,5 @@ export default {
 </script>
 
 <style scoped>
-/deep/.container {
-  padding-top: 0;
-}
+
 </style>

+ 10 - 5
src/HDrpManagement/projectChange/modules/detail.vue

@@ -9,7 +9,7 @@
     :turnPageId="20221020143502" 
     idname="sa_projectid"
     tags=""
-    :tabs="['详细信息','阶段任务','产品配置单','报价单','竞争对手']"
+    :tabs="['详细信息','阶段任务','缔约信息','产品配置单','报价单','竞争对手']"
     @pageChange="pageChange"
     @onEditSuccess="queryMainData($route.query.id)">
     <!-- 使用此插槽可不传[tags] -->
@@ -41,12 +41,15 @@
       <StageTask v-if="mainData" :rowData="mainData"/>
     </div>
     <div slot="slot2" class="container normal-panel">
-      <ProjectSet />
+      <andEnterprise :rowData="mainData"/>
     </div>
     <div slot="slot3" class="container normal-panel">
-      <quotation />
+      <ProjectSet />
     </div>
     <div slot="slot4" class="container normal-panel">
+      <quotation />
+    </div>
+    <div slot="slot5" class="container normal-panel">
       <Rival />
     </div>
   </basicDetails>
@@ -61,8 +64,9 @@ import StageTask from './modules/stageTask/index'
 import putPeople from '../components/putPeople'
 import Check from '../components/check'
 import Locked from '../components/Locked'
+import andEnterprise from './modules/andEnterprise/index'
 export default {
-  components:{Quotation,ProjectSet,Rival,BaseInfo,StageTask,putPeople,Check,Locked},
+  components:{Quotation,ProjectSet,Rival,BaseInfo,StageTask,putPeople,Check,Locked,andEnterprise},
   data () {
     return {
       mainData:'',
@@ -209,7 +213,8 @@ export default {
         baseInfo: [
           {label:'项目编号',value:this.mainData.projectnum ? this.mainData.projectnum : '--'},
           {label:'项目名称',value:this.mainData.projectname ? this.mainData.projectname : '--'},
-          {label:'项目地址',value:this.projectAddress.find(item => item.contactsid == this.mainData.sa_project_addressid) != undefined ? this.projectAddress.find(item => item.contactsid == this.mainData.sa_project_addressid).address : '--'},
+          {label:'项目地址',value:`${this.mainData.province} - ${this.mainData.city} - ${this.mainData.county}`},
+          {label:'详细地址',value:this.mainData.address},
           {label:'项目等级',value:this.projectLead.find(item => item.rowindex == this.mainData.grade).value},
           {label:'项目类型',value:this.mainData.projecttype ? this.mainData.projecttype : '--'},
           {label:'当前项目阶段',value:this.mainData.stagename ? this.mainData.stagename : '--'},

+ 82 - 0
src/HDrpManagement/projectChange/modules/modules/andEnterprise/components/Contact.vue

@@ -0,0 +1,82 @@
+<template>
+  <div>
+    <el-button size="mini" type="text" @click="contactBtn">联 系 人</el-button>
+    <el-dialog title="新 增" :visible.sync="dialogFormVisible" width="80%">
+      <div slot="title" style="font-size: 15px">
+        关联缔约企业
+      </div>
+      <basicLayout 
+        ref="basicLayout" 
+        formPath="projectChange/andEnterprise/contacat" 
+        tableName="endEnterpriseConcatTable" 
+        idName="sa_project_partiesid" 
+        :apiId="{query:20221027184902,del:20221027185002}" 
+        :options="options"
+        @listCreate="list">
+        <div slot="custom"></div>
+        <template v-slot:tbList="scope">
+          <div v-if="scope.data.column.columnname == 'province'">
+          {{`${scope.data.column.data['province']}、${scope.data.column.data['city']}、${scope.data.column.data['county']}`}}
+        </div>
+          <div v-else>
+            {{scope.data.column.data[[scope.data.column.columnname]]}}
+          </div>
+        </template>
+        <template v-slot:tbOpreation="scope">
+          <delete-btn v-if="tool.checkAuth($route.name,'delete')" :id="scope.data.data.sa_project_parties_contactsid" @deleteSuccess="$refs.basicLayout.listData()" nameId="20221027185002" nameKey="sa_project_parties_contactsids"/>
+        </template>
+      </basicLayout>
+    </el-dialog>
+    
+  </div>
+</template>
+
+<script>
+export default {
+  props:['rowData'],
+  components:{},
+  name: "index",
+  data() {
+    return {
+      options:[],
+      dialogFormVisible: false,
+      contactList:'',
+    }
+  },
+  provide () {
+    return {
+      rowData:() => this.rowData,
+      contactList:() => this.contactList
+    }
+  },
+  methods: {
+    contactBtn () {
+      this.dialogFormVisible = true
+      this.getContact()
+    },
+    list (param) {
+      param.content.sa_project_partiesid = this.rowData.sa_project_partiesid
+    },
+        /* 获取联系人列表 */
+    async getContact () {
+      let res = await this.$api.requested({
+        "id": "20221022165503",
+        "content": {
+            "nocache":true,
+            "sys_enterpriseid": this.rowData.sys_enterpriseid,
+            "where": {
+                "condition": "",
+                "workaddress":1
+            }
+        }
+      })
+      this.contactList = res.data
+      console.log(this.contactList);
+    },
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 51 - 0
src/HDrpManagement/projectChange/modules/modules/andEnterprise/index.vue

@@ -0,0 +1,51 @@
+<template>
+  <div>
+    <basicLayout 
+      ref="basicLayout" 
+      formPath="projectChange/andEnterprise" 
+      tableName="andEnterpriseTable" 
+      idName="sa_project_partiesid" 
+      :apiId="{query:20221027143702,del:20221027143802}" 
+      :options="options"
+      @listCreate="list">
+      <div slot="custom"></div>
+      <template v-slot:tbList="scope">
+        <div v-if="!scope.data.column.data[scope.data.column.columnname]">
+          --
+        </div>
+        <div v-else-if="scope.data.column.columnname == 'province'">
+          {{`${scope.data.column.data['province']}、${scope.data.column.data['city']}、${scope.data.column.data['county']}`}}
+        </div>
+        <div v-else>
+          {{scope.data.column.data[[scope.data.column.columnname]]}}
+        </div>
+      </template>
+      <template v-slot:tbOpreation="scope">
+        <Contact class="inline-16" :rowData="scope.data.data"/>
+        <delete-btn v-if="tool.checkAuth($route.name,'delete')" :id="scope.data.data.sa_project_partiesid" @deleteSuccess="$refs.basicLayout.listData()" nameId="20221027143802" nameKey="sa_project_partiesids"/>
+      </template>
+    </basicLayout>
+  </div>
+</template>
+
+<script>
+import Contact from './components/Contact'
+export default {
+  components:{Contact},
+  name: "index",
+  data() {
+    return {
+      options:[],
+    }
+  },
+  methods: {
+    list (param) {
+      param.content.sa_projectid = this.$route.query.id
+    },
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 7 - 4
src/HDrpManagement/projectChange/modules/modules/rival/index.vue

@@ -6,8 +6,9 @@
       formPath="projectChange/rival" 
       tableName="rivalTable" 
       idName="sa_competitorid" 
-      :apiId="{query:20221018164302,del:20221018164202}"
-      :options="options">
+      :apiId="{query:20221027165402,del:''}"
+      :options="options"
+      @listCreate="list">
       <template v-slot:tbList="scope">
         <div>
           {{scope.data.column.data[scope.data.column.columnname] || scope.data.column.columnname == 'operation' ? scope.data.column.data[[scope.data.column.columnname]] : '--'}}
@@ -22,7 +23,7 @@
           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>
+        <!-- <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>
@@ -42,7 +43,9 @@ export default {
   },
   components:{},
   methods:{
-  
+    list (param) {
+      param.content.sa_projectid = this.$route.query.id
+    },
   },
   created() {
 

+ 9 - 3
src/HDrpManagement/projectChange/modules/modules/stageTask/index.vue

@@ -14,7 +14,7 @@
         </div>
       </el-step>  
     </el-steps>
-    <el-card class="box-card">
+    <el-card class="box-card" v-if="stageList">
       <div slot="header" class="clearfix">
         <span style="font-weight:bold">阶段任务</span>
         <el-button 
@@ -51,7 +51,7 @@
         </div>
       </div>
     </el-card>
-
+    <el-empty v-else description="暂无数据" size="small"></el-empty>
 
     <el-drawer
       title="我是标题"
@@ -136,9 +136,11 @@ export default {
     }
   },
   watch:{
+    rowData () {
+      this.getStageList(true)
+    }
   },
   created () {
-    this.getStageList(true)
   },
   methods: {
     deleteSuccess (data) {
@@ -246,6 +248,7 @@ export default {
     padding: 5px 10px;
     background: #EEEEEE;
     color: #000000;
+    border-radius: 5px;
   }
   .item .content span:first-child {
     transform: skew(20deg);
@@ -325,4 +328,7 @@ export default {
   /deep/.el-step__main {
     max-width: 400px;
   }
+  /deep/.el-step__description {
+    padding:0 20% !important;
+  }
 </style>

+ 25 - 7
src/HDrpManagement/publicManage/components/scopeOfAuthority/modules/dep_auth.vue

@@ -32,12 +32,26 @@
       <el-col :span="12">
         <div>
           <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 :label="item.hrid">{{item.name}}</el-checkbox>
-              </div>
-            </el-checkbox-group>
+            <el-skeleton style="width: 240px" :loading="loading" animated>
+              <template slot="template">
+                <el-skeleton-item variant="text" style="width: 100%;" />
+                <el-skeleton-item variant="text" style="width: 100%;" />
+                <el-skeleton-item variant="text" style="width: 100%;" />
+                <el-skeleton-item variant="text" style="width: 100%;" />
+                <el-skeleton-item variant="text" style="width: 100%;" />
+                <el-skeleton-item variant="text" style="width: 100%;" />
+                <el-skeleton-item variant="text" style="width: 100%;" />
+              </template>
+              <template>
+                <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 :label="item.hrid">{{item.name}}</el-checkbox>
+                  </div>
+                </el-checkbox-group>
+              </template>
+            </el-skeleton>
+            
           </div>
         </div>
       </el-col>
@@ -64,6 +78,7 @@ export default {
   },
   data () {
     return {
+      loading:true,
       active:true,
       allDataLength:'',
       deplist:[], // 部门树状结构数据
@@ -93,6 +108,8 @@ export default {
       }
     }
   },
+  watch: {
+  },
   methods:{
     searchChange () {
       this.active = true
@@ -166,7 +183,8 @@ export default {
     async menberList (val) {
       this.param.content.departmentids = [val]
       const res = await this.$api.requested(this.param)
-      this.menberData = res.data
+      this.menberData = res.data      
+      this.loading = false
       if(this.allDataLength == '') this.allDataLength = this.menberData.length
       // this.allDataLength = this.menberData.length
       this.checkedmenber()

+ 22 - 12
src/HDrpManagement/publicManage/components/scopeOfAuthority/modules/mar_auth.vue

@@ -32,18 +32,26 @@
       <el-col :span="12">
         <div>
           <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>
+            <el-skeleton style="width: 240px" :loading="loading" animated>
+              <template slot="template">
+                <el-skeleton-item variant="text" style="width: 100%;" />
+                <el-skeleton-item variant="text" style="width: 100%;" />
+                <el-skeleton-item variant="text" style="width: 100%;" />
+                <el-skeleton-item variant="text" style="width: 100%;" />
+                <el-skeleton-item variant="text" style="width: 100%;" />
+                <el-skeleton-item variant="text" style="width: 100%;" />
+                <el-skeleton-item variant="text" style="width: 100%;" />
+              </template>
+              <template>
+                <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>
+              </template>
+            </el-skeleton>
+            
           </div>
         </div>
       </el-col>
@@ -70,6 +78,7 @@ export default {
   },
   data () {
     return {
+      loading:true,
       active:true,
       allDataLength:'',
       deplist:[], // 部门树状结构数据
@@ -165,6 +174,7 @@ export default {
       this.param.content.sa_saleareaids = val
       const res = await this.$api.requested(this.param)
       this.menberData = res.data
+      this.loading = false
       if(this.allDataLength == '') this.allDataLength = this.menberData.length
       // this.allDataLength = this.menberData.length
       this.checkedmenber()

+ 1 - 1
src/components/delete_btn/index.vue

@@ -34,7 +34,7 @@ export default {
     },
   },
   created () {
-    this.$emit('deleteCreate')
+    this.$emit('deleteCreate',this.param)
   }
 }
 

+ 9 - 0
src/router/HDrpManagement.js

@@ -226,6 +226,15 @@ const HDrpManagement = [
       keeproute: true,
     },
     component: () => import(/* webpackChunkName: "about" */ '@/HDrpManagement/projectChange//modules/modules/rival/modules/detail')
+  },{
+    path: '/productMoneyOdd',
+    name:'productMoneyOdd',
+    meta: {
+      title: '商品价格调整单',
+      ast_nav: true,
+      keeproute: true,
+    },
+    component: () => import(/* webpackChunkName: "about" */ '@/HDrpManagement/productMoneyOdd/index')
   }
   
 ];

+ 22 - 1
src/utils/basic-data.js

@@ -2,6 +2,8 @@ import api from '../api/api'
 import tool from './tool'
 
 var areaData = [];
+/* 企业列表数据 */
+var enterpriseList = []
 
 function arealist () {
   api.requested({
@@ -14,12 +16,31 @@ function arealist () {
   })
 }
 
+function getEnterpriseList () {
+  api.requested({
+    "id": 20221021095802,
+    "content": {
+        "pageNumber": 1,
+        "pageSize": 99999,
+        "where": {
+            "condition": ""
+        }
+    },
+  }).then(res=>{
+    console.log(res.data);
+    
+    enterpriseList = res.data
+  })
+}
+
 arealist ()
+getEnterpriseList()
 
 export default{
   data () {
     return {
-      areaData
+      areaData,
+      'enterpriseList':enterpriseList
     }
   }
 }