|
@@ -22,7 +22,11 @@
|
|
|
<el-col :span="5" ><span class="gray_label">项目编号: </span></el-col><el-col :span="7" ><span >{{project.projectCode}} </span></el-col>
|
|
|
<el-col :span="5" v-if="permissions.projectContract"><span class="gray_label">合同金额:</span></el-col>
|
|
|
<el-col :span="7" >
|
|
|
- <span v-if="permissions.projectContract">{{project.contractAmount == null?'-':project.contractAmount | numberToCurrency}} 元</span></el-col>
|
|
|
+ <span style="float:left;" v-if="permissions.projectContract">{{project.contractAmount == null?'-':project.contractAmount | numberToCurrency}} 元</span>
|
|
|
+ <el-link v-if="user.id == project.creatorId || user.id == project.inchargerId" @click="contractRecord" style="float:left;"><i class="iconfont firerock-iconrecord"></i></el-link>
|
|
|
+ <el-link v-if="user.id == project.creatorId || user.id == project.inchargerId" @click="contractChange" style="float:right;"><i class="el-icon-edit" ></i></el-link>
|
|
|
+ </el-col>
|
|
|
+
|
|
|
</el-row>
|
|
|
<el-row :gutter="10">
|
|
|
<el-col :span="5" ><span class="gray_label">项目级别: </span></el-col><el-col :span="7" ><span >{{levelTxt[project.level]}}</span></el-col>
|
|
@@ -181,6 +185,50 @@
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
|
|
|
+ <!-- 修改合同金额 -->
|
|
|
+ <el-dialog title="修改合同金额" v-if="contractDialog" :visible.sync="contractDialog" :close-on-click-modal="false" customClass="customWidth" width="600px">
|
|
|
+ <el-form ref="contractForm" :model="contractData" :rules="contractRules" label-width="120px">
|
|
|
+ <el-form-item label="原合同金额"><span>{{contractData.oldContractAmount == null?'-':contractData.oldContractAmount | numberToCurrency}}(单位:元)</span></el-form-item>
|
|
|
+ <el-form-item label="修改金额" prop="contractAmount">
|
|
|
+ <el-select v-model="contractData.addordelete" style="width:20%">
|
|
|
+ <el-option label="增加" :value="1"></el-option>
|
|
|
+ <el-option label="减少" :value="0"></el-option>
|
|
|
+ </el-select>
|
|
|
+ <el-input style="width:79%" v-model="contractData.contractAmount" id="contractChange" placeholder="" clearable @keyup.native="restrictNumber('contractChange')"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="修改原因">
|
|
|
+ <el-input type="textarea" :rows="2" v-model="contractData.contractAmountDesc" maxlength="200" show-word-limit placeholder="请输入修改原因" clearable></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click.native="contractDialog = false">取消</el-button>
|
|
|
+ <el-button type="primary" @click="contractChangeSure" :loading="addLoading">提交</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
+ <!-- 合同金额修改记录 -->
|
|
|
+ <el-dialog title="合同金额修改记录" v-if="contractRecordDialog" :visible.sync="contractRecordDialog" :close-on-click-modal="false" customClass="customWidth" width="900px">
|
|
|
+ <el-table :data="contractRecordData" height="400px" :loading="contractRecordLoading">
|
|
|
+ <el-table-column label="操作人" prop="name" min-width="60">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{users.filter(item => item.id == scope.row.editUserId)[0].name}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="修改时间" prop="date" min-width="120">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{scope.row.updateDate[0] + '-' + scope.row.updateDate[1] + '-' + scope.row.updateDate[2] + '\u3000' + scope.row.updateDate[3] + ':' + scope.row.updateDate[4] + ':' + scope.row.updateDate[5]}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="修改情况" prop="record" min-width="120">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{scope.row.oldContractAmount - scope.row.newContractAmount > 0 ? '减少' : '增加'}}</span>
|
|
|
+ <span>{{scope.row.oldContractAmount - scope.row.newContractAmount > 0 ? (scope.row.oldContractAmount - scope.row.newContractAmount).toFixed(2) : (scope.row.newContractAmount - scope.row.oldContractAmount).toFixed(2)}}元</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="修改原因" prop="reason" min-width="180"></el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
|
|
|
<!--编辑基本信息界面-->
|
|
|
<el-dialog title="项目基本信息" v-if="addFormVisible" :visible.sync="addFormVisible" :close-on-click-modal="false" customClass="customWidth" width="600px">
|
|
@@ -199,8 +247,8 @@
|
|
|
<el-option v-for="item in importanceList" :key="item.id" :label="item.label" :value="item.id"></el-option>
|
|
|
</el-select>
|
|
|
<span style="margin-left:50px;margin-right:10px;">合同金额</span>
|
|
|
- <el-input v-model="addForm.contractAmount" id="contractAmount" style="width:32%;"
|
|
|
- placeholder="整数" clearable @keyup.native="restrictNumber('contractAmount')"></el-input><span style="margin-left:10px;">元</span>
|
|
|
+ <el-input v-model="addForm.contractAmount" id="contractAmount" :disabled="true" style="width:32%;"
|
|
|
+ placeholder="" clearable @keyup.native="restrictNumber('contractAmount')"></el-input><span style="margin-left:10px;">元</span>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="开始日期" prop="planStartDate">
|
|
|
<el-date-picker v-model="addForm.planStartDate"
|
|
@@ -470,9 +518,21 @@
|
|
|
rules: {
|
|
|
name: [{ required: true, message: "请输入项目名称", trigger: "blur" }],
|
|
|
},
|
|
|
+ contractRules: {
|
|
|
+ contractAmount: [{ required: true, message: "请输入合同金额", trigger: "blur" }]
|
|
|
+ },
|
|
|
yonghuUser: [],
|
|
|
ause: [], // 研究中心总数据
|
|
|
auseList: [], // 选中的研究中心
|
|
|
+
|
|
|
+
|
|
|
+ contractDialog: false,
|
|
|
+ contractData: {},
|
|
|
+ contractRecordDialog: false,
|
|
|
+ contractRecordLoading: false,
|
|
|
+ contractRecordData: [
|
|
|
+ {name:'张三',date:'2022-07-26',record:'1000.00 改为 2000.00',text:'测试'}
|
|
|
+ ]
|
|
|
};
|
|
|
},
|
|
|
filters: {
|
|
@@ -492,6 +552,88 @@
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
+ // 修改合同金额:参数
|
|
|
+ // oldContractAmount 原合同金额(看你要不要)
|
|
|
+ // contractAmount 修改后金额
|
|
|
+ // contractAmountDesc 修改原因(非必填)
|
|
|
+ // id 项目id
|
|
|
+ // 获取修改记录:操作人、修改时间、修改情况(增加还是减少 多少金额)、本次修改后的合同金额、修改原因
|
|
|
+ // 修改合同金额
|
|
|
+ contractChange(){
|
|
|
+ let data = JSON.parse(JSON.stringify(this.project));
|
|
|
+ this.contractData.id = data.id
|
|
|
+ this.$set(this.contractData,'oldContractAmount',data.contractAmount)
|
|
|
+ this.$set(this.contractData,'contractAmount',0)
|
|
|
+ this.$set(this.contractData,'contractAmountDesc','')
|
|
|
+ this.$set(this.contractData,'addordelete',1)
|
|
|
+ this.contractDialog = true
|
|
|
+ },
|
|
|
+ contractChangeSure(){
|
|
|
+ this.$refs.contractForm.validate(valid => {
|
|
|
+ if (valid) {
|
|
|
+ this.addLoading = true
|
|
|
+ let parameter = {
|
|
|
+ projectId: this.contractData.id,
|
|
|
+ oldContractAmount: this.contractData.oldContractAmount
|
|
|
+ }
|
|
|
+ if(this.contractData.addordelete){
|
|
|
+ parameter.newContractAmount = this.contractData.oldContractAmount*1 + this.contractData.contractAmount*1
|
|
|
+ }else{
|
|
|
+ parameter.newContractAmount = this.contractData.oldContractAmount*1 - this.contractData.contractAmount*1
|
|
|
+ }
|
|
|
+ if(this.contractData.contractAmountDesc.trim()){
|
|
|
+ parameter.reason = this.contractData.contractAmountDesc.trim()
|
|
|
+ }
|
|
|
+ this.http.post('/project/modifyContract',parameter,
|
|
|
+ res => {
|
|
|
+ this.addLoading = false
|
|
|
+ if(res.code == 'ok'){
|
|
|
+ this.contractDialog = false
|
|
|
+ this.$message({
|
|
|
+ message: '修改成功',
|
|
|
+ type: 'success'
|
|
|
+ })
|
|
|
+ this.getProjectInfo()
|
|
|
+ }else {
|
|
|
+ this.$message({
|
|
|
+ message: res.msg,
|
|
|
+ type: 'error'
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },err => {
|
|
|
+ this.addLoading = false
|
|
|
+ this.$message({
|
|
|
+ message: err,
|
|
|
+ type: 'error'
|
|
|
+ })
|
|
|
+ })
|
|
|
+ }})
|
|
|
+ },
|
|
|
+ contractRecord(){ //修改记录
|
|
|
+ this.contractRecordDialog = true
|
|
|
+ this.contractRecordLoading = true
|
|
|
+ this.http.post('/contract-modify-record/list',{
|
|
|
+ projectId: this.project.id
|
|
|
+ },res => {
|
|
|
+ this.contractRecordLoading = false
|
|
|
+ if(res.code == 'ok'){
|
|
|
+ this.contractRecordData = res.data
|
|
|
+ }else {
|
|
|
+ this.$message({
|
|
|
+ message: res.msg,
|
|
|
+ type: 'error'
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },err => {
|
|
|
+ this.contractRecordLoading = false
|
|
|
+ this.$message({
|
|
|
+ message: err,
|
|
|
+ type: 'error'
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
yanjiuzx() {
|
|
|
this.http.post('/report-extra-degree/getAll ',{},
|
|
|
res => {
|