فهرست منبع

关联质检资料接口调用

duy 1 سال پیش
والد
کامیت
fab1f46828

+ 21 - 0
src/api/modules/debit-pay/ledger/datarelate.js

@@ -0,0 +1,21 @@
+import { HcApi } from '../../../request/index'
+//  合同材料
+export default {
+    //资料关联台账-分页
+    async dataLinkPage(form, msg = true) {
+        return HcApi({
+            url: '/api/blade-meter/middleMeterApply/dataLinkPage',
+            method: 'get',
+            params: form,
+        }, msg)
+    },
+       //资料关联台账-关联质检资料
+       async dataLinkFile(form, msg = true) {
+        return HcApi({
+            url: '/api/blade-meter/middleMeterApply/dataLinkFile',
+            method: 'get',
+            params: form,
+        }, msg)
+    },
+  
+}

+ 2 - 2
src/views/debit-pay/admin/components/middlepay/addModal.vue

@@ -144,7 +144,7 @@
     />
 
     <!-- 关联质检资料 -->
-    <qualityRleation :quality-moadal="qualityMoadal" :cid="cid" :period-id="period_id" :select-id="selectId" @close="closeQual" @finish="finishModal" />
+    <qualityRleation :quality-moadal="qualityMoadal" :cid="cid" :period-id="period_id" :select-id="selectId" :is-remian-old-check="true" @close="closeQual" @finish="finishModal" />
 </template>
 
 <script setup>
@@ -297,7 +297,7 @@ if (containsField) {
 nextTick(()=>{
     console.log(isComparedRaVal.value, 'isComparedRaVal.value ')
     if (isComparedRaVal.value === 1 ) {
-        window.$message.warning('累计计量金额超出支付比列,如需计量100%,请完成关联对应的质资料')
+        window.$message.warning('累计计量金额超出支付比列,如需计量100%,请完成关联对应的质资料')
     }
 })
 

+ 20 - 4
src/views/debit-pay/admin/components/middlepay/qualityRleation.vue

@@ -1,6 +1,6 @@
 <!--  -->
 <template>
-    <hc-new-dialog v-model="qualityMoadal" is-table title="关联质检资料" widths="1200px" @close="qulModalClose" @save="saveQualModal">
+    <hc-new-dialog v-model="qualityMoadal" is-table title="关联质检资料" widths="1200px" :loading="saveModalLoading" @close="qulModalClose" @save="saveQualModal">
         <hc-new-card>
             <div class="relative h-full flex">
                 <div :id="`hc_tree_card_${uuid}`" v-loading="treeLoading" class="hc_tree_card_border relative">
@@ -57,6 +57,14 @@ const props = defineProps({
         type:String,
         default:'',       
     },
+    isRemianOldCheck:{
+        type: Boolean,
+        default: true,
+    },
+    saveModalLoading:{
+        type: Boolean,
+        default: false,
+    },
     
 })
 const emit = defineEmits([ 'close', 'finish'])
@@ -69,6 +77,8 @@ const qualityMoadal = ref(props.qualityMoadal)
 const cid = ref(props.cid)
 const periodId = ref(props.periodId)
 const selectId = ref(props.selectId)
+const isRemianOldCheck = ref(props.isRemianOldCheck)
+const saveModalLoading = ref(props.saveModalLoading)
 
 //之前节点选中的数据
 const oriCheckRows = ref([])
@@ -77,11 +87,16 @@ watch(() => [
     props.cid,
     props.qualityMoadal,
     props.selectId,
-], ([qual, Cid, Pid, sle]) => {
+    props.isRemianOldCheck,
+    props.saveModalLoading,
+], ([qual, Cid, Pid, sle, isRemain, load]) => {
     qualityMoadal.value = qual
     cid.value = Cid
     periodId.value = Pid
     selectId.value = sle
+    isRemianOldCheck.value = isRemain
+    saveModalLoading.value = load
+
 })
 const uuid = getRandom(4)
 
@@ -92,6 +107,9 @@ watch(qualityMoadal, (val) => {
                 setSplitRef()
                 tableData.value = []
                 oriCheckRows.value = getStoreValue('checkRows') || []
+                if (!isRemianOldCheck.value) {
+                    oriCheckRows.value = []
+                }
             
             })
         }
@@ -238,8 +256,6 @@ const tableSelect = (rows)=>{
 const saveQualModal = ()=>{
         qualityMoadal.value = false
         emit('close')
-     
-
         let alarr = arrUnion(tableKeys.value, oriCheckRows.value)
          // 使用reduce方法进行去重
         const uniqueArray = alarr.reduce((acc, current) => {

+ 38 - 11
src/views/debit-pay/ledgers/datarelate.vue

@@ -16,12 +16,12 @@
                     :column="tableColumn" :datas="tableData" :loading="tableLoading" is-new 
                     :check-style="{ width: 29 }" :index-style="{ width: 60 }"
                 >
-                    <template #key3="{ row }">
-                        <el-tag v-if="row.key3" type="success">是</el-tag>
+                    <template #isLinkData="{ row }">
+                        <el-tag v-if="row.isLinkData === 1" type="success">是</el-tag>
                         <el-tag v-else type="danger">否</el-tag>
                     </template>
                     <template #action="{ row }">
-                        <el-button type="primary" @click="relateData(row)">关联质保资料</el-button>
+                        <el-button type="primary" :disabled="row.isLinkData === 1" @click="relateData(row)">关联质检资料</el-button>
                     </template>
                 </hc-table>
                 <template #action>
@@ -29,17 +29,18 @@
                 </template>
             </hc-new-card>
         </div>
+        <!-- 关联质检资料 -->
+        <qualityRleation :quality-moadal="qualityMoadal" :cid="contractId" :period-id="searchForm.contractPeriodId" :is-remian-old-check="false" :save-modal-loading="saveModalLoading" @finish="finishModal" />
     </div>
-    <!-- 关联质检资料 -->
-    <qualityRleation :quality-moadal="qualityMoadal" :cid="contractId" :period-id="searchForm.contractPeriodId" />
 </template>
 
 <script setup>
 import { nextTick, onActivated, onMounted, ref } from 'vue'
 import { getStoreValue, setStoreValue } from '~src/utils/storage'
-import { getArrValue, getObjValue, getRandom } from 'js-fast-way'
+import { arrToKey, getArrValue, getObjValue, getRandom } from 'js-fast-way'
 import unitApi from '~api/project/debit/contract/unit'
 import mainApi from '~api/debit-pay/admin/middlepay'
+import dataLinkApi from '~api/debit-pay/ledger/datarelate'
 import qualityRleation from '~src/views/debit-pay/admin/components/middlepay/qualityRleation.vue'
 import { useAppStore } from '~src/store'
 const useAppState = useAppStore()
@@ -139,18 +140,18 @@ const tableLoading = ref(false)
 const tableColumn = ref([
     { key: 'meterNumber', name: '计量单编号' },
     { key: 'engineerDivide', name: '工程划分部位' },
-    { key: 'key3', name: '资料是否齐全' },
+    { key: 'isLinkData', name: '资料是否齐全' },
     { key: 'meterMoney', name: '计量金额' },
-    { key: 'key5', name: '应扣回金额' },
+    { key: 'meterMoney', name: '应扣回金额' },
     { key: 'businessDate', name: '业务日期' },
-    { key: 'key7', name: '距离扣回金额日期' },
+    { key: 'deductDate', name: '距离扣回金额日期' },
     { key: 'action', name: '操作', width: 120, align: 'center' },
 ])
 const tableData = ref([])
 const getTableData = async () => {
     tableData.value = []
     tableLoading.value = true
-    const { data } = await mainApi.getPage({
+    const { data } = await dataLinkApi.dataLinkPage({
         ...searchForm.value,
         contractId: contractId.value,
     })
@@ -161,8 +162,34 @@ const getTableData = async () => {
 
 //关联质检资料
 const qualityMoadal = ref(false)
-const relateData = ()=>{
+const meterId = ref('')
+const relateData = (row)=>{
     qualityMoadal.value = true
+    meterId.value = row.id
+}
+const saveModalLoading = ref(false)
+const finishModal = async (rows, cancelcheck)=>{
+    console.log(rows, 'rows')
+    console.log(cancelcheck, 'cancelcheck')
+    const fileIds = arrToKey(rows, 'selectId', ',')
+    if (rows.length > 0) {
+        saveModalLoading.value = true
+        const { data, code, msg, error } = await dataLinkApi.dataLinkFile({
+            fileIds,
+            id:meterId.value,
+        })
+        if (!error && code === 200) {
+            window.$message.success(msg)
+            getTableData()
+            qualityMoadal.value = false
+        } 
+    } else {
+        window.$message.warning('请选择对应的资料')
+    }
+  
+//    qualityMoadal.value = false
+ 
+
 }
 </script>
 

+ 3 - 3
src/views/periods/admin/components/middle/addModal.vue

@@ -49,7 +49,7 @@
                             <el-form-item class="nowrap" label="变更令:">
                                 <el-input v-model="baseForm.key6" disabled />
                                 <el-button type="primary" @click="linkAlterClick">关联变更令</el-button>
-                                <el-button type="primary" @click="linkWarrantyClick">关联质资料</el-button>
+                                <el-button type="primary" @click="linkWarrantyClick">关联质资料</el-button>
                             </el-form-item>
                         </el-col>
                         <el-col :span="12">
@@ -74,7 +74,7 @@
             <hc-card-item class="mt-3">
                 <template #header>
                     <span class="mr-3">计量清单列表</span>
-                    <span class="font-400 text-orange">温馨提示:超计,累计计量量> 变更后数量,分解清单超计整行红色</span>
+                    <span class="text-orange font-400">温馨提示:超计,累计计量量> 变更后数量,分解清单超计整行红色</span>
                 </template>
                 <template #extra>
                     <el-button type="primary" text @click="addBillBaseModalClick">
@@ -112,7 +112,7 @@
             <!-- 附件列表 -->
             <hc-card-item class="mt-3" title="附件列表">
                 <template #extra>
-                    <span class="font-400 text-orange">可上传 图片(png、jpg、jpeg)、Excel(xls、xlsx)、PDF、Word(doc、docx)文件</span>
+                    <span class="text-orange font-400">可上传 图片(png、jpg、jpeg)、Excel(xls、xlsx)、PDF、Word(doc、docx)文件</span>
                 </template>
                 <el-form :model="baseForm" label-position="left" label-width="auto">
                     <el-form-item label="上传附件">

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

@@ -85,7 +85,7 @@
                         </el-form-item>
                     </el-col>
                     <el-col v-if="isTable" :span="6">
-                        <el-form-item label="未关联质资料中期最高支付比列(%):">
+                        <el-form-item label="未关联质资料中期最高支付比列(%):">
                             <el-input
                                 v-model="formModel.upPayRatio" 
                             />