|
@@ -27,6 +27,17 @@
|
|
<el-input v-if="isModifyMode" v-model="project.contactPhone" placeholder="请输入联系人电话"></el-input>
|
|
<el-input v-if="isModifyMode" v-model="project.contactPhone" placeholder="请输入联系人电话"></el-input>
|
|
<span v-if="!isModifyMode">{{project.contactPhone}}</span>
|
|
<span v-if="!isModifyMode">{{project.contactPhone}}</span>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
+ <el-form-item size="small" label="机构代发包" prop="contactPhone" v-if="isAgency">
|
|
|
|
+ <el-checkbox :disabled="!isModifyMode" v-model="project.forCompany"></el-checkbox>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item size="small" v-if="project.forCompany" label="代发企业名字" prop="entrustUnit">
|
|
|
|
+ <el-input size="small" v-if="isModifyMode" v-model="project.entrustUnit" placeholder="请输入代发企业名字"></el-input>
|
|
|
|
+ <span v-if="!isModifyMode">{{project.entrustUnit}}</span>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item size="small" v-if="project.forCompany" label="代发企业地址" prop="entrustUnitAddress">
|
|
|
|
+ <el-input size="small" v-if="isModifyMode" v-model="project.entrustUnitAddress" placeholder="请输入代发企业地址"></el-input>
|
|
|
|
+ <span v-if="!isModifyMode">{{project.entrustUnitAddress}}</span>
|
|
|
|
+ </el-form-item>
|
|
<el-form-item size="small" label="预算" prop="budget">
|
|
<el-form-item size="small" label="预算" prop="budget">
|
|
<el-input v-if="isModifyMode" type="number" v-model="project.budget">
|
|
<el-input v-if="isModifyMode" type="number" v-model="project.budget">
|
|
¥
|
|
¥
|
|
@@ -50,8 +61,8 @@
|
|
<!-- <el-form-item v-if="!isModifyMode" size="small" label="状态" prop="status">-->
|
|
<!-- <el-form-item v-if="!isModifyMode" size="small" label="状态" prop="status">-->
|
|
<!-- <span v-if="!isModifyMode">{{project.statusVO?project.statusVO.text:''}}</span>-->
|
|
<!-- <span v-if="!isModifyMode">{{project.statusVO?project.statusVO.text:''}}</span>-->
|
|
<!-- </el-form-item>-->
|
|
<!-- </el-form-item>-->
|
|
- <el-form-item size="small" label="区域管理员" prop="institution" v-if="project.institution">
|
|
|
|
- <span v-if="!isModifyMode">{{project.institution}}</span>
|
|
|
|
|
|
+ <el-form-item size="small" label="区域管理员" prop="institution" v-if="!isModifyMode && project.institution">
|
|
|
|
+ <span>{{project.institution}}</span>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="需求描述">
|
|
<el-form-item label="需求描述">
|
|
<el-input style="width: 400px" autosize v-if="isModifyMode" type="textarea"
|
|
<el-input style="width: 400px" autosize v-if="isModifyMode" type="textarea"
|
|
@@ -112,11 +123,19 @@
|
|
<el-tabs :tab-position="tabPosition" v-model="project.resource" style="max-height: 200px;"
|
|
<el-tabs :tab-position="tabPosition" v-model="project.resource" style="max-height: 200px;"
|
|
v-if="isModifyMode">
|
|
v-if="isModifyMode">
|
|
<el-tab-pane :label="resourceType[0]" :name="0">
|
|
<el-tab-pane :label="resourceType[0]" :name="0">
|
|
- <el-radio-group v-model="project.institution">
|
|
|
|
- <el-radio :label="item" name="type" v-for="(item,index) in institutionArray" :key="index">
|
|
|
|
- {{item.name}}
|
|
|
|
- </el-radio>
|
|
|
|
- </el-radio-group>
|
|
|
|
|
|
+<!-- <el-radio-group v-model="project.institution">-->
|
|
|
|
+<!-- <el-radio :label="item" name="type" v-for="(item,index) in institutionArray" :key="index">-->
|
|
|
|
+<!-- {{item.name}}-->
|
|
|
|
+<!-- </el-radio>-->
|
|
|
|
+<!-- </el-radio-group>-->
|
|
|
|
+ <el-select v-model="project.regionManagerId" filterable placeholder="请选择">
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in institutionArray"
|
|
|
|
+ :key="item.id"
|
|
|
|
+ :label="item.name"
|
|
|
|
+ :value="item.id">
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-select>
|
|
</el-tab-pane>
|
|
</el-tab-pane>
|
|
<el-tab-pane :label="resourceType[1]" :name="1">
|
|
<el-tab-pane :label="resourceType[1]" :name="1">
|
|
<provincecity
|
|
<provincecity
|
|
@@ -186,11 +205,11 @@
|
|
<i v-if="project.fileUrl==null || project.fileUrl==''" class="el-icon-document">暂无文件</i>
|
|
<i v-if="project.fileUrl==null || project.fileUrl==''" class="el-icon-document">暂无文件</i>
|
|
</span>
|
|
</span>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="委托单位" prop="entrustUnit" v-if="project.entrustUnit">
|
|
|
|
- <el-input style="width: 400px" autosize v-if="isModifyMode" type="textarea"
|
|
|
|
- v-model="project.entrustUnit"></el-input>
|
|
|
|
- <span v-if="!isModifyMode">{{project.entrustUnit}}</span>
|
|
|
|
- </el-form-item>
|
|
|
|
|
|
+<!-- <el-form-item label="委托单位" prop="entrustUnit" v-if="project.entrustUnit">-->
|
|
|
|
+<!-- <el-input style="width: 400px" autosize v-if="isModifyMode" type="textarea"-->
|
|
|
|
+<!-- v-model="project.entrustUnit"></el-input>-->
|
|
|
|
+<!-- <span v-if="!isModifyMode">{{project.entrustUnit}}</span>-->
|
|
|
|
+<!-- </el-form-item>-->
|
|
<el-form-item label="项目截止时间" prop="datetime">
|
|
<el-form-item label="项目截止时间" prop="datetime">
|
|
<div class="block" v-if="isModifyMode">
|
|
<div class="block" v-if="isModifyMode">
|
|
<el-date-picker
|
|
<el-date-picker
|
|
@@ -251,6 +270,9 @@
|
|
<el-button v-if="this.project.status==4 && !this.fwzlStatus" type="success" size="mini" @click="generateServiceEvaluate()">
|
|
<el-button v-if="this.project.status==4 && !this.fwzlStatus" type="success" size="mini" @click="generateServiceEvaluate()">
|
|
服务质量评估生成
|
|
服务质量评估生成
|
|
</el-button>
|
|
</el-button>
|
|
|
|
+ <el-button v-if="projectOperationControl.exportReport" type="success" size="mini" @click="exportFinalReport()">
|
|
|
|
+ 导出报告
|
|
|
|
+ </el-button>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
|
|
|
|
@@ -383,6 +405,7 @@
|
|
reject: false,
|
|
reject: false,
|
|
update: false,
|
|
update: false,
|
|
uploadReport: false,
|
|
uploadReport: false,
|
|
|
|
+ exportReport: false
|
|
},
|
|
},
|
|
project: {
|
|
project: {
|
|
userId: 0,
|
|
userId: 0,
|
|
@@ -390,7 +413,6 @@
|
|
type: [],
|
|
type: [],
|
|
platform: '',
|
|
platform: '',
|
|
valuationStandard: '',
|
|
valuationStandard: '',
|
|
- entrustUnit: '',
|
|
|
|
field: '',
|
|
field: '',
|
|
desc: '',
|
|
desc: '',
|
|
resource: '',
|
|
resource: '',
|
|
@@ -406,7 +428,11 @@
|
|
price: '',
|
|
price: '',
|
|
datetime: '',
|
|
datetime: '',
|
|
usage: '',
|
|
usage: '',
|
|
- status: ''
|
|
|
|
|
|
+ status: '',
|
|
|
|
+ entrustUnit: '',
|
|
|
|
+ entrustUnitAddress: '',
|
|
|
|
+ forCompany: false,
|
|
|
|
+ regionManagerId: 0
|
|
},
|
|
},
|
|
task: [],
|
|
task: [],
|
|
progress: [],
|
|
progress: [],
|
|
@@ -443,6 +469,7 @@
|
|
cpzlStatus: true,
|
|
cpzlStatus: true,
|
|
rypgStatus: true,
|
|
rypgStatus: true,
|
|
fwzlStatus: true,
|
|
fwzlStatus: true,
|
|
|
|
+ isAgency: storageGet('rolesPermissions') ? storageGet('rolesPermissions').isAgency : false,
|
|
rules: {
|
|
rules: {
|
|
name: [
|
|
name: [
|
|
{required: true, message: '请输入项目名称', trigger: 'blur'},
|
|
{required: true, message: '请输入项目名称', trigger: 'blur'},
|
|
@@ -465,6 +492,12 @@
|
|
}, trigger: 'blur'
|
|
}, trigger: 'blur'
|
|
},
|
|
},
|
|
],
|
|
],
|
|
|
|
+ entrustUnit: [
|
|
|
|
+ {required: true, message: '请输入代发企业名字', trigger: 'blur'}
|
|
|
|
+ ],
|
|
|
|
+ entrustUnitAddress: [
|
|
|
|
+ {required: true, message: '请输入代发企业地址', trigger: 'blur'}
|
|
|
|
+ ],
|
|
type: [
|
|
type: [
|
|
{
|
|
{
|
|
type: 'array',
|
|
type: 'array',
|
|
@@ -505,7 +538,7 @@
|
|
{required: true},
|
|
{required: true},
|
|
{
|
|
{
|
|
validator: (rule, value, callback) => {
|
|
validator: (rule, value, callback) => {
|
|
- if (value == 0 && this.project.institution == null) {
|
|
|
|
|
|
+ if (value == 0 && !this.project.regionManagerId) {
|
|
callback(new Error('定向发布至少要选择一个区域管理员'))
|
|
callback(new Error('定向发布至少要选择一个区域管理员'))
|
|
} else {
|
|
} else {
|
|
callback()
|
|
callback()
|
|
@@ -653,12 +686,11 @@
|
|
type: this.project.type,
|
|
type: this.project.type,
|
|
platform: this.project.platform,
|
|
platform: this.project.platform,
|
|
valuationStandard: this.project.valuationStandard,
|
|
valuationStandard: this.project.valuationStandard,
|
|
- entrustUnit: this.project.entrustUnit,
|
|
|
|
field: this.project.field,
|
|
field: this.project.field,
|
|
desc: this.project.desc,
|
|
desc: this.project.desc,
|
|
resource: this.project.resource,
|
|
resource: this.project.resource,
|
|
location: getProvinceNameByProvinceCode(this.project.location.provinceCode, this.project.location.cityCode),
|
|
location: getProvinceNameByProvinceCode(this.project.location.provinceCode, this.project.location.cityCode),
|
|
- institution: this.project.institution == null ? null : this.project.institution.id,
|
|
|
|
|
|
+ institution: this.project.regionManagerId,
|
|
contactName: this.project.contactName,
|
|
contactName: this.project.contactName,
|
|
contactPhone: this.project.contactPhone,
|
|
contactPhone: this.project.contactPhone,
|
|
doc: this.project.requireDocUrl,
|
|
doc: this.project.requireDocUrl,
|
|
@@ -667,6 +699,8 @@
|
|
price: this.project.price,
|
|
price: this.project.price,
|
|
datetime: this.project.datetime,
|
|
datetime: this.project.datetime,
|
|
usage: this.project.usage,
|
|
usage: this.project.usage,
|
|
|
|
+ entrustUnit: this.project.forCompany ? this.project.entrustUnit : '',
|
|
|
|
+ entrustUnitAddress: this.project.forCompany ? this.project.entrustUnitAddress : ''
|
|
}
|
|
}
|
|
console.log(newProject);
|
|
console.log(newProject);
|
|
Http.put(Apis.PROJECT.UPDATE_PROJECT.replace('{projectId}', this.projectId), newProject).then((res) => {
|
|
Http.put(Apis.PROJECT.UPDATE_PROJECT.replace('{projectId}', this.projectId), newProject).then((res) => {
|
|
@@ -692,6 +726,9 @@
|
|
this.project.usage = res.projectDetails.usage
|
|
this.project.usage = res.projectDetails.usage
|
|
this.project.fileUrl = res.projectDetails.file
|
|
this.project.fileUrl = res.projectDetails.file
|
|
this.project.requireDocUrl = res.projectDetails.doc
|
|
this.project.requireDocUrl = res.projectDetails.doc
|
|
|
|
+ this.project.forCompany = res.projectDetails.forCompany
|
|
|
|
+ this.project.entrustUnitAddress = res.projectDetails.entrustUnitAddress
|
|
|
|
+ this.project.regionManagerId = res.projectDetails.regionManagerId
|
|
this.task = res.taskList
|
|
this.task = res.taskList
|
|
this.reportList = res.reportList
|
|
this.reportList = res.reportList
|
|
this.isModifyMode = false
|
|
this.isModifyMode = false
|
|
@@ -916,6 +953,10 @@
|
|
this.fwzlStatus = false
|
|
this.fwzlStatus = false
|
|
})
|
|
})
|
|
},
|
|
},
|
|
|
|
+ exportFinalReport () {
|
|
|
|
+ let url = Apis.PROJECT.EXPORT.replace('{projectCode}', this.projectId)
|
|
|
|
+ window.open(url)
|
|
|
|
+ },
|
|
handleDelete(index, id) {
|
|
handleDelete(index, id) {
|
|
this.$confirm('确认删除该任务?')
|
|
this.$confirm('确认删除该任务?')
|
|
.then(_ => {
|
|
.then(_ => {
|
|
@@ -990,6 +1031,10 @@
|
|
this.project.userId = res.projectDetails.userId
|
|
this.project.userId = res.projectDetails.userId
|
|
this.project.status = res.projectDetails.status
|
|
this.project.status = res.projectDetails.status
|
|
this.project.statusVO = res.projectDetails.statusVO
|
|
this.project.statusVO = res.projectDetails.statusVO
|
|
|
|
+ this.project.entrustUnit = res.projectDetails.entrustUnit
|
|
|
|
+ this.project.entrustUnitAddress = res.projectDetails.entrustUnitAddress
|
|
|
|
+ this.project.forCompany = res.projectDetails.forCompany
|
|
|
|
+ this.project.regionManagerId = res.projectDetails.regionManagerId
|
|
this.task = res.taskList
|
|
this.task = res.taskList
|
|
this.reportList = res.reportList
|
|
this.reportList = res.reportList
|
|
this.projectOperationControl = res.projectOperationControl
|
|
this.projectOperationControl = res.projectOperationControl
|