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

Merge branch 'master' of http://47.100.37.243:10191/wutt/manHourHousekeeper

QuYueTing 1 napja
szülő
commit
833e66d4f3

+ 82 - 42
fhKeeper/formulahousekeeper/timesheet/src/views/contract/components/customContract.vue

@@ -19,41 +19,50 @@
         </el-form-item>
         <!-- 合同类型 -->
         <el-form-item>
-          <span style="margin-left:5px;margin-right:5px;color:#606266;">{{ $t('he-tong-lei-xing') }}</span>
-          <el-select v-model="typeName" style="width:120px;" :placeholder="$t('defaultText.pleaseChoose')"
+          <!-- <span style="margin-left:5px;margin-right:5px;color:#606266;">{{ $t('he-tong-lei-xing') }}</span> -->
+          <el-select v-model="typeName" style="width:140px;" placeholder="请选择合同类型"
             @change="searchFilter" size="small" clearable>
             <el-option v-for="item in typeList" :key="item.id" :label="item.typeName" :value="item.id"></el-option>
           </el-select>
         </el-form-item>
         <!-- 状态 -->
         <el-form-item>
-          <span style="margin-left:5px;margin-right:5px;color:#606266;">{{ $t('state.states') }}</span>
-          <el-select v-model="status" style="width:120px;" :placeholder="$t('defaultText.pleaseChoose')"
+          <!-- <span style="margin-left:5px;margin-right:5px;color:#606266;">{{ $t('state.states') }}</span> -->
+          <el-select v-model="status" style="width:120px;" placeholder="请选择状态"
             @change="searchFilter" size="small" clearable>
             <el-option v-for="item, index in statusList" :key="item.label" :label="item.label"
               :value="index"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <span style="margin-left:5px;margin-right:5px;color:#606266;">供应商名称</span>
-          <el-input v-model.trim="customerOrgs" placeholder="请输入" size="small" style="width: 150px" clearable
+          <!-- <span style="margin-left:5px;margin-right:5px;color:#606266;">供应商名称</span> -->
+          <el-input v-model.trim="customerOrgs" placeholder="请输入供应商名称" size="small" style="width: 150px" clearable
             @input="onCustomerOrgsInput"></el-input>
         </el-form-item>
         <el-form-item>
-          <span style="margin-left:5px;margin-right:5px;color:#606266;">合同状态</span>
-          <el-select v-model="finishStatuss" placeholder="请选择" style="width:120px" size="small" clearable
+          <!-- <span style="margin-left:5px;margin-right:5px;color:#606266;">合同状态</span> -->
+          <el-select v-model="finishStatuss" placeholder="请选择合同状态" style="width:140px" size="small" clearable
             @change="searchFilter">
             <el-option label="履约中" :value="1"></el-option>
             <el-option label="履约完成" :value="2"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <span style="margin-left:5px;margin-right:5px;color:#606266;">合同印花税缴纳</span>
-          <el-select v-model="stampDutyStatusVal" style="width:120px;" :placeholder="$t('defaultText.pleaseChoose')"
-            @change="searchFilter" size="small" clearable>
+          <!-- <span style="margin-left:5px;margin-right:5px;color:#606266;">合同印花税缴纳</span> -->
+          <el-select v-model="stampDutyStatusVal" style="width:180px;" placeholder="请选择合同印花税缴纳"
+            @change="searchFilter" size="small" clearable multiple collapse-tags>
             <el-option v-for="item in stampDutyStatusList" :key="item.id" :label="item.label" :value="item.id"></el-option>
           </el-select>
         </el-form-item>
+        <el-form-item>
+          <el-select v-model="procurementMethod" placeholder="请选择采购方式" size="small" style="width:140px;" clearable @change="searchFilter">
+            <el-option label="公开招标" :value="0"></el-option>
+            <el-option label="邀请招标" :value="1"></el-option>
+            <el-option label="询比价" :value="2"></el-option>
+            <el-option label="竞争性谈判" :value="3"></el-option>
+            <el-option label="单一来源" :value="4"></el-option>
+          </el-select>
+        </el-form-item>
         <el-form-item style="float:right;">
           <el-dropdown>
             <el-link type="primary" :underline="false">{{ $t('viewmore') }}<i
@@ -102,8 +111,10 @@
       <el-table-column prop="useDepartment" label="合同承办部门" min-width="190"></el-table-column>
       <el-table-column prop="fundsSource" label="经费来源" min-width="190">
         <template slot-scope="scope">
-          <span v-if="scope.row.fundsSource == 1">科研</span>
-          <span v-if="scope.row.fundsSource == 2">其他(专项等)</span>
+          <!-- <span v-if="scope.row.fundsSource == 1">科研</span>
+          <span v-if="scope.row.fundsSource == 2">其他(专项等)</span> -->
+          <span v-if="scope.row.fundsSource == 1">科研经费</span>
+          <span v-if="scope.row.fundsSource == 2">资本金</span>
         </template>
       </el-table-column>
       <el-table-column prop="undertaker" label="合同承办人" min-width="190"></el-table-column>
@@ -223,13 +234,20 @@
             </el-select>
           </el-form-item>
           <el-form-item label="使用部门">
-            <el-input v-model="contractForm.useDepartment" :disabled="contractForm.status == 0"
-              :placeholder="$t('peaseenterthe')" clearable></el-input>
+            <!-- <el-input v-model="contractForm.useDepartment" :disabled="contractForm.status == 0"
+              :placeholder="$t('peaseenterthe')" clearable></el-input> -->
+            <el-select v-model="contractForm.useDepartment" :disabled="contractForm.status == 0" placeholder="请选择" style="width:300px;">
+              <el-option label="综合管理部" value="综合管理部"></el-option>
+              <el-option label="项目管理部" value="项目管理部"></el-option>
+              <el-option label="工程研发部" value="工程研发部"></el-option>
+            </el-select>
           </el-form-item>
           <el-form-item label="经费来源">
             <el-select v-model="contractForm.fundsSource" :disabled="contractForm.status == 0" placeholder="请选择" style="width:300px;">
-              <el-option label="科研" value="1"></el-option>
-              <el-option label="其他(专项等)" value="2"></el-option>
+              <!-- <el-option label="科研" value="1"></el-option>
+              <el-option label="其他(专项等)" value="2"></el-option> -->
+              <el-option label="科研经费" value="1"></el-option>
+              <el-option label="资本金" value="2"></el-option>
             </el-select>
           </el-form-item>
           <el-form-item label="合同承办人">
@@ -237,8 +255,13 @@
               :placeholder="$t('peaseenterthe')" clearable></el-input>
           </el-form-item>
           <el-form-item label="委托代理人">
-            <el-input v-model="contractForm.agent" :disabled="contractForm.status == 0"
-              :placeholder="$t('peaseenterthe')" clearable></el-input>
+            <!-- <el-input v-model="contractForm.agent" :disabled="contractForm.status == 0"
+              :placeholder="$t('peaseenterthe')" clearable></el-input> -->
+             <el-select v-model="contractForm.agent" :disabled="contractForm.status == 0" placeholder="请选择" style="width:300px;">
+              <el-option label="樊战旗" value="樊战旗"></el-option>
+              <el-option label="杨新团" value="杨新团"></el-option>
+              <el-option label="罗月珍" value="罗月珍"></el-option>
+            </el-select>
           </el-form-item>
           <el-form-item label="签订日期">
             <el-date-picker v-model="contractForm.signDate" :disabled="contractForm.status == 0"
@@ -308,7 +331,7 @@
           </el-form-item>
 
           <el-form-item label="付款计划">
-            <el-table :data="contractPaymentList" size="small" :key="Math.random()" :height="'300px'"
+            <el-table :data="contractPaymentList" size="small" :height="'300px'"
               show-header="false" style="margin-top:10px;">
               <el-table-column prop="isPayed" width="120">
                 <template slot-scope="scope">
@@ -462,8 +485,10 @@
             {{ contractForm.useDepartment }}
           </el-form-item>
           <el-form-item label="经费来源">
-            <span v-if="contractForm.fundsSource == 1">科研</span>
-            <span v-if="contractForm.fundsSource == 2">其他(专项等)</span>
+            <!-- <span v-if="contractForm.fundsSource == 1">科研</span>
+            <span v-if="contractForm.fundsSource == 2">其他(专项等)</span> -->
+            <span v-if="contractForm.fundsSource == 1">科研经费</span>
+            <span v-if="contractForm.fundsSource == 2">资本金</span>
           </el-form-item>
           <el-form-item label="合同承办人">
             {{ contractForm.undertaker }}
@@ -777,9 +802,10 @@ export default {
         { label: '已缴纳', id: 2 },
         { label: '部分缴纳', id: 3 },
       ],
-      stampDutyStatusVal: null,
+      stampDutyStatusVal: [],
       tampDutyTimeNullList: [],
       stampDutySelectionList: [],
+      procurementMethod: null,
       stampDutyTimeListVisable: false,
     }
   },
@@ -833,8 +859,6 @@ export default {
       }
       const list = this.contractPaymentList || []
       const totalNum = list.reduce((sum, item) => sum + (item.payedAmount || 0), 0);
-      console.log(list, '<====== 开始执行')
-      console.log(totalNum, '<====== 开始执行')
       this.contractForm.amounts = totalNum
     },
     chgPayedAmount() {
@@ -842,7 +866,7 @@ export default {
       const list = this.contractPaymentList || []
       let totalNum = +amounts || 0
 
-      // 计算合同金额不含税
+      // // 计算合同金额不含税
       this.theContractAmountDoesNotIncludeTax()
 
       if (amounts <= 0 || list.length <= 0) {
@@ -852,20 +876,22 @@ export default {
         this.processingContractAmount()
       }
 
-      for (let i in list) {
-        if (list[i].payedAmount) {
-          let copyTotalNum = JSON.parse(JSON.stringify(totalNum))
-          totalNum = totalNum - list[i].payedAmount
-          if (totalNum <= 0) {
-            totalNum = 0;
-            list[i].payedAmount = copyTotalNum;
+      if(this.contractForm.isAmountFixed) {
+        for (let i in list) {
+          if (list[i].payedAmount) {
+            let copyTotalNum = JSON.parse(JSON.stringify(totalNum))
+            totalNum = totalNum - list[i].payedAmount
+            if (totalNum <= 0) {
+              totalNum = 0;
+              list[i].payedAmount = copyTotalNum;
+            }
+            list[i].pendingAmounts = totalNum;
           }
-          list[i].pendingAmounts = totalNum;
         }
-      }
 
-      this.contractPaymentList = list
-      this.$forceUpdate()
+        this.contractPaymentList = list
+        this.$forceUpdate()
+      }
     },
     theContractAmountDoesNotIncludeTax() {
       const { amounts, taxRate } = this.contractForm
@@ -931,7 +957,8 @@ export default {
         stampDutyTime: ''
       }
 
-      this.contractPaymentList.push(val)
+      // this.contractPaymentList.push(val)
+      this.contractPaymentList.unshift(val)
     },
 
     getProjectList() {
@@ -1059,8 +1086,12 @@ export default {
         parameter.finishStatus = this.finishStatuss
       }
 
-      if(this.stampDutyStatusVal || this.stampDutyStatusVal === 0) {
-        parameter.stampDutyStatus = this.stampDutyStatusVal
+      if(this.stampDutyStatusVal && this.stampDutyStatusVal.length) {
+        parameter.stampDutyStatus = this.stampDutyStatusVal.join(',')
+      }
+
+      if(this.procurementMethod || this.procurementMethod == 0) {
+        parameter.procurementWay = this.procurementMethod
       }
 
       this.http.post('/contract/exportContractOneToMany', parameter,
@@ -1396,9 +1427,14 @@ export default {
           }
           const flagList = this.returnValuableData(this.contractPaymentList)
           const modifyState = flagList.some(item => !item.hasOwnProperty('stampDutyTime'));
+          const modifyStateTwo = flagList.every(item => item.hasOwnProperty('stampDutyTime') && item.stampDutyTime);
           if(!this.contractForm.isAmountFixed && modifyState) {
             this.contractForm.stampDutyStatus = 3
           }
+
+          if(!this.contractForm.isAmountFixed && modifyStateTwo) {
+            this.contractForm.stampDutyStatus = 2
+          }
           
           this.submitLoading = true
           delete this.contractForm.files
@@ -1584,8 +1620,12 @@ export default {
         parameter.finishStatus = this.finishStatuss
       }
 
-      if(this.stampDutyStatusVal || this.stampDutyStatusVal === 0) {
-        parameter.stampDutyStatus = this.stampDutyStatusVal
+      if(this.stampDutyStatusVal && this.stampDutyStatusVal.length) {
+        parameter.stampDutyStatus = this.stampDutyStatusVal.join(',')
+      }
+
+      if(this.procurementMethod || this.procurementMethod == 0) {
+        parameter.procurementWay = this.procurementMethod
       }
 
       this.listLoading = true