Procházet zdrojové kódy

Merge remote-tracking branch 'origin/master'

ZaiZai před 1 rokem
rodič
revize
2cb37da371

+ 30 - 7
src/views/project/debit/contract/check-list.vue

@@ -63,13 +63,13 @@
                             </el-form-item>
                         </el-col>
                         <el-col :span="8">
-                            <el-form-item label="中标单价:">
-                                <el-input-number v-model="formModel.bidPrice" :disabled="treeItem.isFormNode === 0" :controls="false" :min="0" class="w-100" :precision="2" />
+                            <el-form-item label="中标单价:" prop="bidPrice">
+                                <el-input-number v-model="formModel.bidPrice" :disabled="formModel.isFormNode === 0" :controls="false" :min="0" class="w-100" :precision="2" />
                             </el-form-item>
                         </el-col>
                         <el-col :span="8">
-                            <el-form-item label="合同数量:">
-                                <el-input-number v-model="formModel.contractTotal" :disabled="treeItem.isFormNode === 0" :controls="false" :min="0" class="w-100" :precision="2" />
+                            <el-form-item label="合同数量:" prop="contractTotal">
+                                <el-input-number v-model="formModel.contractTotal" :disabled="formModel.isFormNode === 0" :controls="false" :min="0" class="w-100" :precision="2" />
                             </el-form-item>
                         </el-col>
                         <el-col :span="8">
@@ -94,7 +94,7 @@
                     <template v-if="menuType === 'edit' && treeItem.isFormNode === 1">
                         <el-col :span="8">
                             <el-form-item label="中标单价:">
-                                <el-input-number v-model="formModel.bidPrice" :controls="false" :min="0" class="w-100" :precision="2" />
+                                <el-input-number v-model="formModel.bidPrice" :controls="false" :min="0" class="w-100" :precision="2" :disabled="infoData.citeStatus === 1" @change="changeBidPrice" />
                             </el-form-item>
                         </el-col>
                         <el-col :span="8">
@@ -109,7 +109,7 @@
                         </el-col>
                         <el-col :span="8">
                             <el-form-item label="合同数量:">
-                                <el-input-number v-model="formModel.contractTotal" :controls="false" :min="0" class="w-100" />
+                                <el-input-number v-model="formModel.contractTotal" :controls="false" :min="0" class="w-100" :disabled="infoData.citeStatus === 1" @change="changeContractTotal" />
                             </el-form-item>
                         </el-col>
                         <el-col :span="8">
@@ -478,7 +478,8 @@ const treeMenuTap = ({ key, data, node }) => {
             menuType.value = 'edit'
             treeModalTitle.value = data.formName + ' - 修改合同工程清单'
             treeModalShow.value = true
-            formModel.value = data
+            // formModel.value = data
+            formModel.value = infoData.value
         }
         if (key === 'sort') {
             let nodes = [], childNodes = []
@@ -613,6 +614,16 @@ const formRules = ref({
         trigger: 'blur',
         message: '请输入章编号',
     },
+    bidPrice: {
+        required: true,
+        trigger: 'blur',
+        message: '请输入中标单价',
+    },
+    contractTotal: {
+        required: true,
+        trigger: 'blur',
+        message: '请输入合同数量',
+    },
     
 })
 const addNodeLoading = ref(false)
@@ -802,4 +813,16 @@ const downLoadExel = async ()=>{
        
     }
 }
+//修改中标单价
+const changeBidPrice = ()=>{
+    formModel.value.currentPrice = formModel.value.bidPrice
+    formModel.value.changePrice = formModel.value.bidPrice
+    formModel.value.contractMoney = formModel.value.bidPrice * formModel.value.contractTotal
+    formModel.value.changeMoney = formModel.value.bidPrice * formModel.value.contractTotal
+}
+const changeContractTotal = ()=>{
+    formModel.value.changeTotal = formModel.value.contractTotal
+    formModel.value.contractMoney = formModel.value.bidPrice * formModel.value.contractTotal
+    formModel.value.changeMoney = formModel.value.bidPrice * formModel.value.contractTotal
+}
 </script>

+ 17 - 1
src/views/project/debit/contract/components/unit/row-data.vue

@@ -92,7 +92,7 @@
                 <div style="height: 400px;">
                     <hc-table :column="tableColumn" :datas="tableData" is-new :index-style="{ width: 60 }" :row-style="tableRowStyle" :is-stripe="false">
                         <template #poseNum="{ row }">
-                            <hc-table-input v-model="row.poseNum" />
+                            <hc-table-input v-model="row.poseNum" @change="changePoseNum(row)" />
                         </template>
                         <template #action="{ row, index }">
                             <el-link type="danger" @click="delRow(row, index)">删除</el-link>
@@ -146,9 +146,19 @@ const tableData = ref([])
 //设置某一行的样式
 const tableRowStyle = ({ row, rowIndex }) => {
     if (row.poseNum > row.contractTotal) {
+        isCanSave.value = true
         return '--el-table-tr-bg-color: #fe0000;color:white '
     }
 }
+const isCanSave = ref(false)
+const changePoseNum = (row)=>{
+    row.residueNum = row.changeTotal - row.poseNum
+    if (row.poseNum > row.contractTotal) {
+        isCanSave.value = true
+    } else {
+        isCanSave.value = false
+    }
+}
 //获节点类型
 const nodeOptions = ref([])
 const getNodeType = async (id) => {
@@ -218,7 +228,13 @@ const tableColumn = ref([
 //     { key1: '101-1-a' },
 // ])
 const addNodeLoading = ref(false)
+
 const modalSave = async () => {
+  console.log(isCanSave.value, 'const isCanSave = ref(false)')
+  if (isCanSave.value) {
+    window.$message.warning('累计分解量 > 合同变更后量,不允许修改')
+    return
+  }
     addNodeLoading.value = true
     const { error, code, msg } = await unitApi.updateForm({
             ...formModel.value,