Forráskód Böngészése

项目登记修改

lizhenhao 2 éve
szülő
commit
817df69dcb

+ 11 - 5
src/views/common/UpLoadComponent.vue

@@ -86,7 +86,8 @@
         directory: 'public',
         maxValue: 300,
         tableKey: '',
-        fileLoading: true
+        fileLoading: true,
+        dividerName: ''
       }
     },
     watch: {
@@ -114,8 +115,13 @@
        * @param maxValue  上传文件允许的最大值,单位:MB
        *    注:值为空时,默认值为300MB
        */
-      async newUpload (auth, fileList, directory, maxValue) {
+      async newUpload (auth, fileList, directory, maxValue, dividerName) {
         await this.fileLoadingFalse()
+        if (this.commonJS.isEmpty(dividerName)) {
+          this.dividerName = '附件'
+        } else {
+          this.dividerName = dividerName
+        }
         if (directory !== undefined && directory !== null && directory !== '' && directory !== {}) {
           this.directory = directory
         } else {
@@ -127,6 +133,9 @@
           this.maxValue = 300
         }
         this.auth = auth
+        if (this.commonJS.isEmpty(fileList)) {
+          this.fileLoading = true
+        }
         for await (let item of fileList) {
           await this.ossService.getFileSizeByUrl(item.url).then((data) => {
             item.lsUrl = data.data.url
@@ -138,9 +147,6 @@
             }
           })
         }
-        if (this.commonJS.isEmpty(fileList)) {
-          this.fileLoading = true
-        }
         // this.dataList = JSON.parse(JSON.stringify(fileList))
         // this.dataListNew = JSON.parse(JSON.stringify(fileList))
       },

+ 11 - 4
src/views/modules/program/registered/ContactForm.vue

@@ -75,6 +75,7 @@
         },
         dataList: [],
         searchForm: {
+          ids: [],
           id: '',
           name: '',
           deputy: ''
@@ -91,11 +92,11 @@
       InputNumber
     },
     methods: {
-      init (id, deputy) {
+      init (ids, deputy) {
         // if (!this.commonJS.isEmpty(id)) {
         //   this.$refs.workContractTable.setCurrentRow(id)
         // }
-        this.searchForm.id = id
+        this.searchForm.ids = ids
         this.searchForm.deputy = deputy
         this.visible = true
         this.list()
@@ -124,8 +125,14 @@
         this.$emit('getContact', list, this.searchForm.deputy)
       },
       list () {
-        this.workClientService.findById(this.searchForm.id).then((data) => {
-          this.dataList = data.data.workClientLinkman
+        this.dataList = []
+        this.searchForm.ids.forEach((item) => {
+          this.workClientService.findById(item).then((data) => {
+            console.log(data.data.workClientLinkman)
+            data.data.workClientLinkman.forEach(i => {
+              this.dataList.push(i)
+            })
+          })
         })
       },
       // 当前页

+ 7 - 2
src/views/modules/program/registered/ContractForm.vue

@@ -62,7 +62,11 @@
           <vxe-column width="200px" title="合同编号" field="no"></vxe-column>
           <vxe-column  title="合同名称" field="name"></vxe-column>
           <vxe-column width="150px" title="委派方" field="clientName"></vxe-column>
-          <vxe-column width="150px" title="合同类型" field="name"></vxe-column>
+          <vxe-column width="150px" title="合同类型" field="contractType">
+            <template slot-scope="scope">
+              {{ $dictUtils.getDictLabel("contract_type", scope.row.contractType, '-') }}
+            </template>
+          </vxe-column>
           <vxe-column width="150px" title="创建时间" field="createDate"></vxe-column>
           <vxe-column width="100px" title="创建人" field="createBy"></vxe-column>
 
@@ -112,7 +116,7 @@
           type: '',
           filedType: '',
           contractAmounts: [],
-          createBy: '',
+          createBy: this.$store.state.user.id,
           procInsId: '',
           processDefinitionId: ''
         },
@@ -149,6 +153,7 @@
       },
       list () {
         this.loading = true
+        this.searchForm.createBy = this.$store.state.user.id
         this.programProjectListInfoService.findContractPageList({
           'current': this.tablePage.currentPage,
           'size': this.tablePage.pageSize,

+ 110 - 181
src/views/modules/program/registered/ProjectForm.vue

@@ -71,7 +71,7 @@
             </el-form-item>
           </el-col>
         </el-row>
-        <el-divider content-position="left"><i class="el-icon-document"></i> 项目立项</el-divider>
+        <el-divider content-position="left"><i class="el-icon-document"></i> 项目基本情况信息</el-divider>
         <el-row  :gutter="15">
           <el-col :span="12">
             <el-form-item label="项目名称" prop="name"
@@ -88,15 +88,15 @@
               <el-input :disabled="true" v-model="inputForm.no" placeholder="请输入项目编号" clearable></el-input>
             </el-form-item>
           </el-col>
-          <el-col :span="12">
-            <el-form-item label="项目类别" prop="projectType"
-                          :rules="[
-                          {required: true, message:'项目类别不能为空', trigger:'blur'}
-                 ]">
-              <el-radio v-model="inputForm.projectType" label="1" size="small" style="margin-right: 20px">资评报字</el-radio>
-              <el-radio v-model="inputForm.projectType" label="2" size="small" style="margin-right: 20px">资评咨字</el-radio>
-            </el-form-item>
-          </el-col>
+<!--          <el-col :span="12">-->
+<!--            <el-form-item label="项目类别" prop="projectType"-->
+<!--                          :rules="[-->
+<!--                          {required: true, message:'项目类别不能为空', trigger:'blur'}-->
+<!--                 ]">-->
+<!--              <el-radio v-model="inputForm.projectType" label="1" size="small" style="margin-right: 20px">资评报字</el-radio>-->
+<!--              <el-radio v-model="inputForm.projectType" label="2" size="small" style="margin-right: 20px">资评咨字</el-radio>-->
+<!--            </el-form-item>-->
+<!--          </el-col>-->
           <el-col :span="12">
             <el-form-item label="项目类型" prop="projectMould"
                           :rules="[
@@ -129,12 +129,12 @@
           </el-col>
 
           <el-col :span="12">
-            <el-form-item label="产权持有人" prop="propertyHolderName"
+            <el-form-item label="委托人" prop="propertyHolderName"
                           :rules="[
-                          {required: true, message:'产权持有人不能为空', trigger:'blur'},
-                          {required: true, message:'产权持有人不能为空', trigger:'change'}
+                          {required: true, message:'委托人不能为空', trigger:'blur'},
+                          {required: true, message:'委托人不能为空', trigger:'change'}
                  ]">
-              <el-input v-model="inputForm.propertyHolderName" @focus="openWorkClientForm('2')" placeholder="请输入产权持有人" clearable></el-input>
+              <el-input v-model="inputForm.propertyHolderName" @focus="openWorkClientForm('2')" placeholder="请输入委托人" clearable></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12">
@@ -186,6 +186,7 @@
           <el-col :span="12">
             <el-form-item label="评估费用核算年度" prop="checkYear"
                           :rules="[
+                          {required: true, message:'评估费用核算年度不能为空', trigger:'blur'}
                  ]">
               <el-date-picker
                 v-model="inputForm.checkYear"
@@ -199,9 +200,9 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="项目经理" prop="projectManager"
+            <el-form-item label="项目负责人" prop="projectManager"
                           :rules="[
-                          {required: true, message:'项目经理不能为空', trigger:'blur'}
+                          {required: true, message:'项目负责人不能为空', trigger:'blur'}
                  ]">
               <SelectUserTree
                 ref="companyTree"
@@ -233,13 +234,13 @@
               </el-select>
             </el-form-item>
           </el-col>
-          <el-col :span="12">
-            <el-form-item label="所属行业" prop="industry"
-                          :rules="[
-                 ]">
-              <el-input maxlength="64" v-model="inputForm.industry" placeholder="请输入所属行业"clearable></el-input>
-            </el-form-item>
-          </el-col>
+<!--          <el-col :span="12">-->
+<!--            <el-form-item label="所属行业" prop="industry"-->
+<!--                          :rules="[-->
+<!--                 ]">-->
+<!--              <el-input maxlength="64" v-model="inputForm.industry" placeholder="请输入所属行业"clearable></el-input>-->
+<!--            </el-form-item>-->
+<!--          </el-col>-->
           <el-col :span="12">
             <el-form-item label="企业类型" prop="enterpriseType"
                           :rules="[
@@ -273,7 +274,7 @@
           </el-col>
 
           <el-col :span="12">
-            <el-form-item label="预估收入(元)" prop="estimate"
+            <el-form-item label="评估收费总额(元)" prop="estimate"
                           :rules="[
                  ]">
               <el-input-number
@@ -282,7 +283,7 @@
                 style="width:100%;"
                 maxlength="15"
                 :precision="2"
-                placeholder="请输入预估收入(元)"
+                placeholder="请输入评估收费总额(元)"
                 :controls="false"
                 :step="0.01"
                 :min="0"
@@ -365,7 +366,6 @@
             </el-form-item>
           </el-col>
         </el-row>
-        <el-divider content-position="left"><i class="el-icon-document"></i> 委派单</el-divider>
         <el-row  :gutter="15">
           <el-col :span="12">
             <el-form-item label="被评估企业" prop="assessmentEnterpriseName"
@@ -421,44 +421,44 @@
               </el-date-picker>
             </el-form-item>
           </el-col>
-          <el-col :span="12">
-            <el-form-item label="评估服务收费总额" prop="num"
-                          :rules="[
-                          {required: true, message:'评估服务收费总额不能为空', trigger:'blur'}
-                 ]">
-              <el-input-number
-                v-model="inputForm.num"
-                controls-position="right"
-                style="width:100%;"
-                :precision="2"
-                placeholder="请输入评估服务收费总额"
-                :controls="false"
-                :step="0.01"
-                :min="0"
-                clearable>
-              </el-input-number>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="项目开发人" prop="projectDevelopment"
-                          :rules="[
-                          {required: true, message:'项目开发人不能为空', trigger:'blur'}
-                 ]">
-              <SelectUserTree
-                ref="companyTree"
-                size="medium"
-                :props="{
-                  value: 'id',             // ID字段名
-                  label: 'name',         // 显示名称
-                  children: 'children'    // 子级字段名
-                }"
-                :url="`/sys/user/treeUserDataAllOffice?type=2`"
-                :value="inputForm.projectDevelopment"
-                :clearable="true"
-                :accordion="true"
-                @getValue="(value) => {inputForm.projectDevelopment=value}"/>
-            </el-form-item>
-          </el-col>
+<!--          <el-col :span="12">-->
+<!--            <el-form-item label="评估服务收费总额" prop="num"-->
+<!--                          :rules="[-->
+<!--                          {required: true, message:'评估服务收费总额不能为空', trigger:'blur'}-->
+<!--                 ]">-->
+<!--              <el-input-number-->
+<!--                v-model="inputForm.num"-->
+<!--                controls-position="right"-->
+<!--                style="width:100%;"-->
+<!--                :precision="2"-->
+<!--                placeholder="请输入评估服务收费总额"-->
+<!--                :controls="false"-->
+<!--                :step="0.01"-->
+<!--                :min="0"-->
+<!--                clearable>-->
+<!--              </el-input-number>-->
+<!--            </el-form-item>-->
+<!--          </el-col>-->
+<!--          <el-col :span="12">-->
+<!--            <el-form-item label="项目开发人" prop="projectDevelopment"-->
+<!--                          :rules="[-->
+<!--                          {required: true, message:'项目开发人不能为空', trigger:'blur'}-->
+<!--                 ]">-->
+<!--              <SelectUserTree-->
+<!--                ref="companyTree"-->
+<!--                size="medium"-->
+<!--                :props="{-->
+<!--                  value: 'id',             // ID字段名-->
+<!--                  label: 'name',         // 显示名称-->
+<!--                  children: 'children'    // 子级字段名-->
+<!--                }"-->
+<!--                :url="`/sys/user/treeUserDataAllOffice?type=2`"-->
+<!--                :value="inputForm.projectDevelopment"-->
+<!--                :clearable="true"-->
+<!--                :accordion="true"-->
+<!--                @getValue="(value) => {inputForm.projectDevelopment=value}"/>-->
+<!--            </el-form-item>-->
+<!--          </el-col>-->
           <el-col :span="12">
             <el-form-item label="项目类型" prop="delegateProjectType"
                           :rules="[
@@ -560,7 +560,7 @@
 
         </el-row>
         <el-divider content-position="left"><i class="el-icon-document"></i>
-          项目直接对接人
+          委托人和对接人
           <el-button style="margin-left: 20px" type="primary" :disabled="method==='view'" size="mini" @click="openContactForm('0')" plain>
             新增
           </el-button>
@@ -583,55 +583,16 @@
                 <el-input :disabled="true" v-model="scope.row.contacts" ></el-input>
               </template>
             </vxe-table-column>
-            <vxe-table-column field="linkMobilePhoneFirst" title="联系方式1" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input :disabled="true" v-model="scope.row.linkMobilePhoneFirst" ></el-input>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column field="linkMobilePhoneSecoed" title="联系方式2" :edit-render="{}">
+            <vxe-table-column field="clientType" title="人员类型" :edit-render="{name: '$select', options: clientTypes}">
               <template v-slot:edit="scope">
-                <el-input :disabled="true" v-model="scope.row.linkMobilePhoneSecoed" ></el-input>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column field="job" title="职位" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input v-model="scope.row.job" ></el-input>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column field="remarks" title="备注" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input v-model="scope.row.remarks" ></el-input>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column title="操作" width="100">
-              <template v-slot="scope">
-                <el-button size="mini" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'client')">删除</el-button>
-              </template>
-            </vxe-table-column>
-          </vxe-table>
-        </el-row>
-        <el-divider content-position="left"><i class="el-icon-document"></i>
-          产权持有人联系人
-          <el-button style="margin-left: 20px" type="primary" :disabled="method==='view'" size="mini" @click="openContactForm('2')" plain>
-            新增
-          </el-button>
-        </el-divider>
-        <el-row  :gutter="15" >
-          <vxe-table
-            border
-            show-overflow
-            ref="equityTable"
-            class="vxe-table-element"
-            :data="inputForm.equityList"
-            style="margin-left: 5em"
-            @cell-click=""
-            @edit-closed=""
-            highlight-current-row
-            :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
-          >
-            <vxe-table-column field="contacts" title="联系人" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input :disabled="true" v-model="scope.row.contacts" ></el-input>
+                <vxe-select v-model="scope.row.clientType"  transfer>
+                  <vxe-option
+                    v-for="item in clientTypes"
+                    :key="item.value"
+                    :value="item.value"
+                    :label="item.label">
+                  </vxe-option>
+                </vxe-select>
               </template>
             </vxe-table-column>
             <vxe-table-column field="linkMobilePhoneFirst" title="联系方式1" :edit-render="{}">
@@ -656,64 +617,11 @@
             </vxe-table-column>
             <vxe-table-column title="操作" width="100">
               <template v-slot="scope">
-                <el-button size="mini" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'equity')">删除</el-button>
+                <el-button size="mini" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'client')">删除</el-button>
               </template>
             </vxe-table-column>
           </vxe-table>
         </el-row>
-        <div v-if="false">
-          <el-divider content-position="left"><i class="el-icon-document"></i>
-            被评估企业对接联系人
-            <el-button style="margin-left: 20px" type="primary" :disabled="method==='view'" size="mini" @click="openContactForm('3')" plain>
-              新增
-            </el-button>
-          </el-divider>
-          <el-row  :gutter="15" >
-            <vxe-table
-              border
-              show-overflow
-              ref="contactTable"
-              class="vxe-table-element"
-              :data="inputForm.contactList"
-              style="margin-left: 5em"
-              @cell-click=""
-              @edit-closed=""
-              highlight-current-row
-              :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
-            >
-              <vxe-table-column field="contacts" title="联系人" :edit-render="{}">
-                <template v-slot:edit="scope">
-                  <el-input :disabled="true" v-model="scope.row.contacts" ></el-input>
-                </template>
-              </vxe-table-column>
-              <vxe-table-column field="linkMobilePhoneFirst" title="联系方式1" :edit-render="{}">
-                <template v-slot:edit="scope">
-                  <el-input :disabled="true" v-model="scope.row.linkMobilePhoneFirst" ></el-input>
-                </template>
-              </vxe-table-column>
-              <vxe-table-column field="linkMobilePhoneSecoed" title="联系方式2" :edit-render="{}">
-                <template v-slot:edit="scope">
-                  <el-input :disabled="true" v-model="scope.row.linkMobilePhoneSecoed" ></el-input>
-                </template>
-              </vxe-table-column>
-              <vxe-table-column field="job" title="职位" :edit-render="{}">
-                <template v-slot:edit="scope">
-                  <el-input v-model="scope.row.job" ></el-input>
-                </template>
-              </vxe-table-column>
-              <vxe-table-column field="remarks" title="备注" :edit-render="{}">
-                <template v-slot:edit="scope">
-                  <el-input v-model="scope.row.remarks" ></el-input>
-                </template>
-              </vxe-table-column>
-              <vxe-table-column title="操作" width="100">
-                <template v-slot="scope">
-                  <el-button size="mini" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'contact')">删除</el-button>
-                </template>
-              </vxe-table-column>
-            </vxe-table>
-          </el-row>
-        </div>
 
 
         <el-divider content-position="left"><i class="el-icon-document"></i>
@@ -876,7 +784,11 @@
           contactList: [], // 被评估企业对接联系人
           equityList: [], // 产权持有人联系人
           clientList: [] // 项目直接对接联系人
-        }
+        },
+        clientTypes: [
+          {value: 1, label: '委托人'},
+          {value: 2, label: '项目对接人'}
+        ]
       }
     },
     programTypeDictService: null,
@@ -1014,6 +926,10 @@
         this.inputForm.links = []
         if (!this.commonJS.isEmpty(this.inputForm.clientList)) {
           this.inputForm.clientList.forEach(item => {
+            if (this.commonJS.isEmpty(item.clientType)) {
+              this.$message.error('委托人和对接人中的人员类型不可以为空')
+              throw new Error()
+            }
             item.type = '0'
             this.inputForm.links.push(item)
           })
@@ -1075,21 +991,34 @@
           }
         })
       },
-      openContractForm () {
-        if (!this.commonJS.isEmpty(this.inputForm.contractId)) {
-          this.$refs.contractForm.init(this.inputForm.contractId)
-        } else {
-          this.$refs.contractForm.init()
+      openContactForm (deputy) {
+        if (deputy === '0') {
+          if (this.commonJS.isEmpty(this.inputForm.client) && this.commonJS.isEmpty(this.inputForm.propertyHolder)) {
+            this.$message.error('请先填写合同委托方或委托人')
+          } else {
+            let ids = []
+            if (this.inputForm.client === this.inputForm.propertyHolder) {
+              ids.push(this.inputForm.client)
+            } else if (this.commonJS.isEmpty(this.inputForm.client)) {
+              ids.push(this.inputForm.propertyHolder)
+            } else if (this.commonJS.isEmpty(this.inputForm.propertyHolder)) {
+              ids.push(this.inputForm.client)
+            } else {
+              ids.push(this.inputForm.propertyHolder)
+              ids.push(this.inputForm.client)
+            }
+            this.$nextTick(() => {
+              this.$refs.contactForm.init(ids, deputy)
+            })
+          }
         }
       },
-      getContract (row) {
-        this.inputForm.contractId = row.id // 合同id
-        this.inputForm.contractName = row.name // 合同名称
-        this.inputForm.client = row.clientId // 委托方
-        this.inputForm.clientName = row.clientName // 委托方名称
-        this.inputForm.amount = row.contractAmount // 合同金额
-        this.inputForm.contractType = row.contractType // 合同类型
-        this.clearClientList()
+      getContact (rows, deputy) {
+        if (deputy === '0') {
+          rows.forEach(item => {
+            this.inputForm.clientList.push(item)
+          })
+        }
         this.$forceUpdate()
       },
       openWorkClientForm (deputy) {

+ 116 - 228
src/views/modules/program/registered/RegisItemForm.vue

@@ -63,7 +63,7 @@
             </el-form-item>
           </el-col>
         </el-row>
-        <el-divider content-position="left"><i class="el-icon-document"></i> 项目立项</el-divider>
+        <el-divider content-position="left"><i class="el-icon-document"></i> 项目基本情况信息</el-divider>
         <el-row  :gutter="15">
           <el-col :span="12">
             <el-form-item label="项目名称" prop="name"
@@ -80,15 +80,15 @@
               <el-input :disabled="true" v-model="inputForm.no" placeholder="请输入项目编号" clearable></el-input>
             </el-form-item>
           </el-col>
-          <el-col :span="12">
-            <el-form-item label="项目类别" prop="projectType"
-                          :rules="[
-                          {required: true, message:'项目类别不能为空', trigger:'blur'}
-                 ]">
-              <el-radio v-model="inputForm.projectType" label="1" size="small" style="margin-right: 20px">资评报字</el-radio>
-              <el-radio v-model="inputForm.projectType" label="2" size="small" style="margin-right: 20px">资评咨字</el-radio>
-            </el-form-item>
-          </el-col>
+<!--          <el-col :span="12">-->
+<!--            <el-form-item label="项目类别" prop="projectType"-->
+<!--                          :rules="[-->
+<!--                          {required: true, message:'项目类别不能为空', trigger:'blur'}-->
+<!--                 ]">-->
+<!--              <el-radio v-model="inputForm.projectType" label="1" size="small" style="margin-right: 20px">资评报字</el-radio>-->
+<!--              <el-radio v-model="inputForm.projectType" label="2" size="small" style="margin-right: 20px">资评咨字</el-radio>-->
+<!--            </el-form-item>-->
+<!--          </el-col>-->
           <el-col :span="12">
             <el-form-item label="项目类型" prop="projectMould"
                           :rules="[
@@ -119,16 +119,6 @@
               <el-input :readonly="true" v-model="inputForm.company" placeholder="请输入执业机构" clearable></el-input>
             </el-form-item>
           </el-col>
-
-          <el-col :span="12">
-            <el-form-item label="产权持有人" prop="propertyHolderName"
-                          :rules="[
-                          {required: true, message:'产权持有人不能为空', trigger:'blur'},
-                          {required: true, message:'产权持有人不能为空', trigger:'change'}
-                 ]">
-              <el-input v-model="inputForm.propertyHolderName" @focus="openWorkClientForm('2')" placeholder="请输入产权持有人" clearable></el-input>
-            </el-form-item>
-          </el-col>
           <el-col :span="12">
             <el-form-item label="项目所在地" prop="location"
                           :rules="[
@@ -149,6 +139,16 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
+            <el-form-item label="委托人" prop="propertyHolderName"
+                          :rules="[
+                          {required: true, message:'委托人不能为空', trigger:'blur'},
+                          {required: true, message:'委托人不能为空', trigger:'change'}
+                 ]">
+              <el-input v-model="inputForm.propertyHolderName" @focus="openWorkClientForm('2')" @clear="clearPropertyHolder" placeholder="请输入委托人" clearable></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
             <el-form-item label="是否首次承做" prop="isFirst"
                           :rules="[
                           {required: true, message:'是否首次承做不能为空', trigger:'blur'}
@@ -178,6 +178,7 @@
           <el-col :span="12">
             <el-form-item label="评估费用核算年度" prop="checkYear"
                           :rules="[
+                          {required: true, message:'评估费用核算年度不能为空', trigger:'blur'}
                  ]">
               <el-date-picker
                 v-model="inputForm.checkYear"
@@ -191,9 +192,9 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="项目经理" prop="projectManager"
+            <el-form-item label="项目负责人" prop="projectManager"
                           :rules="[
-                          {required: true, message:'项目经理不能为空', trigger:'blur'}
+                          {required: true, message:'项目负责人不能为空', trigger:'blur'}
                  ]">
               <SelectUserTree
                 ref="companyTree"
@@ -225,13 +226,13 @@
               </el-select>
             </el-form-item>
           </el-col>
-          <el-col :span="12">
-            <el-form-item label="所属行业" prop="industry"
-                          :rules="[
-                 ]">
-              <el-input maxlength="64" v-model="inputForm.industry" placeholder="请输入所属行业"clearable></el-input>
-            </el-form-item>
-          </el-col>
+<!--          <el-col :span="12">-->
+<!--            <el-form-item label="所属行业" prop="industry"-->
+<!--                          :rules="[-->
+<!--                 ]">-->
+<!--              <el-input maxlength="64" v-model="inputForm.industry" placeholder="请输入所属行业"clearable></el-input>-->
+<!--            </el-form-item>-->
+<!--          </el-col>-->
           <el-col :span="12">
             <el-form-item label="企业类型" prop="enterpriseType"
                           :rules="[
@@ -265,7 +266,7 @@
           </el-col>
 
           <el-col :span="12">
-            <el-form-item label="预估收入(元)" prop="estimate"
+            <el-form-item label="评估收费总额(元)" prop="estimate"
                           :rules="[
                  ]">
               <el-input-number
@@ -274,7 +275,7 @@
                 style="width:100%;"
                 maxlength="15"
                 :precision="2"
-                placeholder="请输入预估收入(元)"
+                placeholder="请输入评估收费总额(元)"
                 :controls="false"
                 :step="0.01"
                 :min="0"
@@ -357,7 +358,6 @@
             </el-form-item>
           </el-col>
         </el-row>
-        <el-divider content-position="left"><i class="el-icon-document"></i> 委派单</el-divider>
         <el-row  :gutter="15">
           <el-col :span="12">
             <el-form-item label="被评估企业" prop="assessmentEnterpriseName"
@@ -413,44 +413,44 @@
               </el-date-picker>
             </el-form-item>
           </el-col>
-          <el-col :span="12">
-            <el-form-item label="评估服务收费总额" prop="num"
-                          :rules="[
-                          {required: true, message:'评估服务收费总额不能为空', trigger:'blur'}
-                 ]">
-              <el-input-number
-                v-model="inputForm.num"
-                controls-position="right"
-                style="width:100%;"
-                :precision="2"
-                placeholder="请输入评估服务收费总额"
-                :controls="false"
-                :step="0.01"
-                :min="0"
-                clearable>
-              </el-input-number>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="项目开发人" prop="projectDevelopment"
-                          :rules="[
-                          {required: true, message:'项目开发人不能为空', trigger:'blur'}
-                 ]">
-              <SelectUserTree
-                ref="companyTree"
-                size="medium"
-                :props="{
-                  value: 'id',             // ID字段名
-                  label: 'name',         // 显示名称
-                  children: 'children'    // 子级字段名
-                }"
-                :url="`/sys/user/treeUserDataAllOffice?type=2`"
-                :value="inputForm.projectDevelopment"
-                :clearable="true"
-                :accordion="true"
-                @getValue="(value) => {inputForm.projectDevelopment=value}"/>
-            </el-form-item>
-          </el-col>
+<!--          <el-col :span="12">-->
+<!--            <el-form-item label="评估服务收费总额" prop="num"-->
+<!--                          :rules="[-->
+<!--                          {required: true, message:'评估服务收费总额不能为空', trigger:'blur'}-->
+<!--                 ]">-->
+<!--              <el-input-number-->
+<!--                v-model="inputForm.num"-->
+<!--                controls-position="right"-->
+<!--                style="width:100%;"-->
+<!--                :precision="2"-->
+<!--                placeholder="请输入评估服务收费总额"-->
+<!--                :controls="false"-->
+<!--                :step="0.01"-->
+<!--                :min="0"-->
+<!--                clearable>-->
+<!--              </el-input-number>-->
+<!--            </el-form-item>-->
+<!--          </el-col>-->
+<!--          <el-col :span="12">-->
+<!--            <el-form-item label="项目开发人" prop="projectDevelopment"-->
+<!--                          :rules="[-->
+<!--                          {required: true, message:'项目开发人不能为空', trigger:'blur'}-->
+<!--                 ]">-->
+<!--              <SelectUserTree-->
+<!--                ref="companyTree"-->
+<!--                size="medium"-->
+<!--                :props="{-->
+<!--                  value: 'id',             // ID字段名-->
+<!--                  label: 'name',         // 显示名称-->
+<!--                  children: 'children'    // 子级字段名-->
+<!--                }"-->
+<!--                :url="`/sys/user/treeUserDataAllOffice?type=2`"-->
+<!--                :value="inputForm.projectDevelopment"-->
+<!--                :clearable="true"-->
+<!--                :accordion="true"-->
+<!--                @getValue="(value) => {inputForm.projectDevelopment=value}"/>-->
+<!--            </el-form-item>-->
+<!--          </el-col>-->
           <el-col :span="12">
             <el-form-item label="项目类型" prop="delegateProjectType"
                           :rules="[
@@ -521,38 +521,9 @@
             </el-form-item>
           </el-col>
 
-
-          <el-col :span="12">
-            <el-form-item label="本所是否具备承接胜任能力" prop="isHave"
-                          :rules="[
-                          {required: true, message:'本所是否具备承接胜任能力不能为空', trigger:'blur'}
-                 ]">
-              <el-radio v-model="inputForm.isHave" v-for="item in $dictUtils.getDictList('yes_no')" :label="item.value" size="small" style="margin-right: 20px">
-                {{item.label}}</el-radio>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="是否影响本所承做人员独立性" prop="isInfluence"
-                          :rules="[
-                          {required: true, message:'是否影响本所承做人员独立性不能为空', trigger:'blur'}
-                 ]">
-              <el-radio v-model="inputForm.isInfluence" v-for="item in $dictUtils.getDictList('yes_no')" :label="item.value" size="small" style="margin-right: 20px">
-                {{item.label}}</el-radio>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="项目承做方式" prop="mode"
-                          :rules="[
-                          {required: true, message:'项目承做方式不能为空', trigger:'blur'}
-                 ]">
-              <el-radio v-model="inputForm.mode" v-for="item in $dictUtils.getDictList('project_commitment_mode')" :label="item.value" size="small" style="margin-right: 20px">
-                {{item.label}}</el-radio>
-            </el-form-item>
-          </el-col>
-
         </el-row>
         <el-divider content-position="left"><i class="el-icon-document"></i>
-          项目直接对接人
+          委托人和对接人
           <el-button style="margin-left: 20px" type="primary" :disabled="formReadOnly" size="mini" @click="openContactForm('0')" plain>
             新增
           </el-button>
@@ -575,55 +546,16 @@
                 <el-input :disabled="true" v-model="scope.row.contacts" ></el-input>
               </template>
             </vxe-table-column>
-            <vxe-table-column field="linkMobilePhoneFirst" title="联系方式1" :edit-render="{}">
+            <vxe-table-column field="clientType" title="人员类型" :edit-render="{name: '$select', options: clientTypes}">
               <template v-slot:edit="scope">
-                <el-input :disabled="true" v-model="scope.row.linkMobilePhoneFirst" ></el-input>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column field="linkMobilePhoneSecoed" title="联系方式2" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input :disabled="true" v-model="scope.row.linkMobilePhoneSecoed" ></el-input>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column field="job" title="职位" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input v-model="scope.row.job" ></el-input>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column field="remarks" title="备注" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input v-model="scope.row.remarks" ></el-input>
-              </template>
-            </vxe-table-column>
-            <vxe-table-column title="操作" width="100">
-              <template v-slot="scope">
-                <el-button size="mini" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'client')">删除</el-button>
-              </template>
-            </vxe-table-column>
-          </vxe-table>
-        </el-row>
-        <el-divider content-position="left"><i class="el-icon-document"></i>
-          产权持有人联系人
-          <el-button style="margin-left: 20px" type="primary" :disabled="formReadOnly" size="mini" @click="openContactForm('2')" plain>
-            新增
-          </el-button>
-        </el-divider>
-        <el-row  :gutter="15" >
-          <vxe-table
-            border
-            show-overflow
-            ref="equityTable"
-            class="vxe-table-element"
-            :data="inputForm.equityList"
-            style="margin-left: 5em"
-            @cell-click=""
-            @edit-closed=""
-            highlight-current-row
-            :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
-          >
-            <vxe-table-column field="contacts" title="联系人" :edit-render="{}">
-              <template v-slot:edit="scope">
-                <el-input :disabled="true" v-model="scope.row.contacts" ></el-input>
+                <vxe-select v-model="scope.row.clientType"  transfer>
+                  <vxe-option
+                    v-for="item in clientTypes"
+                    :key="item.value"
+                    :value="item.value"
+                    :label="item.label">
+                  </vxe-option>
+                </vxe-select>
               </template>
             </vxe-table-column>
             <vxe-table-column field="linkMobilePhoneFirst" title="联系方式1" :edit-render="{}">
@@ -648,65 +580,11 @@
             </vxe-table-column>
             <vxe-table-column title="操作" width="100">
               <template v-slot="scope">
-                <el-button size="mini" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'equity')">删除</el-button>
+                <el-button size="mini" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'client')">删除</el-button>
               </template>
             </vxe-table-column>
           </vxe-table>
         </el-row>
-        <div v-if="false">
-          <el-divider content-position="left"><i class="el-icon-document"></i>
-            被评估企业对接联系人
-            <el-button style="margin-left: 20px" type="primary" :disabled="formReadOnly" size="mini" @click="openContactForm('3')" plain>
-              新增
-            </el-button>
-          </el-divider>
-          <el-row  :gutter="15" >
-            <vxe-table
-              border
-              show-overflow
-              ref="contactTable"
-              class="vxe-table-element"
-              :data="inputForm.contactList"
-              style="margin-left: 5em"
-              @cell-click=""
-              @edit-closed=""
-              highlight-current-row
-              :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
-            >
-              <vxe-table-column field="contacts" title="联系人" :edit-render="{}">
-                <template v-slot:edit="scope">
-                  <el-input :disabled="true" v-model="scope.row.contacts" ></el-input>
-                </template>
-              </vxe-table-column>
-              <vxe-table-column field="linkMobilePhoneFirst" title="联系方式1" :edit-render="{}">
-                <template v-slot:edit="scope">
-                  <el-input :disabled="true" v-model="scope.row.linkMobilePhoneFirst" ></el-input>
-                </template>
-              </vxe-table-column>
-              <vxe-table-column field="linkMobilePhoneSecoed" title="联系方式2" :edit-render="{}">
-                <template v-slot:edit="scope">
-                  <el-input :disabled="true" v-model="scope.row.linkMobilePhoneSecoed" ></el-input>
-                </template>
-              </vxe-table-column>
-              <vxe-table-column field="job" title="职位" :edit-render="{}">
-                <template v-slot:edit="scope">
-                  <el-input v-model="scope.row.job" ></el-input>
-                </template>
-              </vxe-table-column>
-              <vxe-table-column field="remarks" title="备注" :edit-render="{}">
-                <template v-slot:edit="scope">
-                  <el-input v-model="scope.row.remarks" ></el-input>
-                </template>
-              </vxe-table-column>
-              <vxe-table-column title="操作" width="100">
-                <template v-slot="scope">
-                  <el-button size="mini" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'contact')">删除</el-button>
-                </template>
-              </vxe-table-column>
-            </vxe-table>
-          </el-row>
-        </div>
-
 
         <el-divider content-position="left"><i class="el-icon-document"></i>
           项目组成员
@@ -873,7 +751,11 @@
           contactList: [], // 被评估企业对接联系人
           equityList: [], // 产权持有人联系人
           clientList: [] // 项目直接对接联系人
-        }
+        },
+        clientTypes: [
+          {value: 1, label: '委托人'},
+          {value: 2, label: '项目对接人'}
+        ]
       }
     },
     programTypeDictService: null,
@@ -985,6 +867,9 @@
             this.$refs.uploadComponent.clearUpload()
             this.inputForm = this.recover(this.inputForm, data)
             this.inputForm = JSON.parse(JSON.stringify(this.inputForm))
+            if (this.commonJS.isEmpty(this.inputForm.files)) {
+              this.inputForm.files = []
+            }
             if (!this.commonJS.isEmpty(this.inputForm.workBeginDate) && !this.commonJS.isEmpty(this.inputForm.workEndDate)) {
               this.inputForm.workBeginAndEndDate = []
               this.inputForm.workBeginAndEndDate[0] = this.inputForm.workBeginDate
@@ -1012,6 +897,7 @@
             if (this.formReadOnly === true) {
               method = 'view'
             }
+
             this.$refs.uploadComponent.newUpload(method, this.inputForm.files, 'program')
             this.loading = false
           })
@@ -1074,6 +960,10 @@
         this.inputForm.links = []
         if (!this.commonJS.isEmpty(this.inputForm.clientList)) {
           this.inputForm.clientList.forEach(item => {
+            if (this.commonJS.isEmpty(item.clientType)) {
+              this.$message.error('委托人和对接人中的人员类型不可以为空')
+              throw new Error()
+            }
             item.type = '0'
             this.inputForm.links.push(item)
           })
@@ -1174,36 +1064,31 @@
       },
       openContactForm (deputy) {
         if (deputy === '0') {
-          if (this.commonJS.isEmpty(this.inputForm.client)) {
-            this.$message.error('请先填写委托方')
-          } else {
-            this.$refs.contactForm.init(this.inputForm.client, deputy)
-          }
-        }
-        if (deputy === '2') {
-          if (this.commonJS.isEmpty(this.inputForm.propertyHolder)) {
-            this.$message.error('请先填写产权持有人')
-          } else {
-            this.$refs.contactForm.init(this.inputForm.propertyHolder, deputy)
-          }
-        }
-        if (deputy === '3') {
-          if (this.commonJS.isEmpty(this.inputForm.assessmentEnterprise)) {
-            this.$message.error('请先填写被评估企业')
+          if (this.commonJS.isEmpty(this.inputForm.client) && this.commonJS.isEmpty(this.inputForm.propertyHolder)) {
+            this.$message.error('请先填写合同委托方或委托人')
           } else {
-            this.$refs.contactForm.init(this.inputForm.assessmentEnterprise, deputy)
+            let ids = []
+            if (this.inputForm.client === this.inputForm.propertyHolder) {
+              ids.push(this.inputForm.client)
+            } else if (this.commonJS.isEmpty(this.inputForm.client)) {
+              ids.push(this.inputForm.propertyHolder)
+            } else if (this.commonJS.isEmpty(this.inputForm.propertyHolder)) {
+              ids.push(this.inputForm.client)
+            } else {
+              ids.push(this.inputForm.propertyHolder)
+              ids.push(this.inputForm.client)
+            }
+            this.$nextTick(() => {
+              this.$refs.contactForm.init(ids, deputy)
+            })
           }
         }
       },
       getContact (rows, deputy) {
         if (deputy === '0') {
-          this.inputForm.clientList = rows
-        }
-        if (deputy === '2') {
-          this.inputForm.equityList = rows
-        }
-        if (deputy === '3') {
-          this.inputForm.contactList = rows
+          rows.forEach(item => {
+            this.inputForm.clientList.push(item)
+          })
         }
         this.$forceUpdate()
       },
@@ -1349,6 +1234,9 @@
           })
         ]
         return footerData
+      },
+      clearPropertyHolder () {
+        this.inputForm.propertyHolder = ''
       }
     }
   }