Browse Source

合同材料

ZaiZai 10 months ago
parent
commit
2889c9ccd4

+ 10 - 2
src/api/modules/debit-pay/material/material.js

@@ -33,11 +33,11 @@ export default {
         }, false)
         }, false)
     },
     },
     //材料调差详情
     //材料调差详情
-    async detail(form) {
+    async detail(id) {
         return HcApi({
         return HcApi({
             url: '/api/blade-meter/contractMaterialAdjust/detail',
             url: '/api/blade-meter/contractMaterialAdjust/detail',
             method: 'get',
             method: 'get',
-            params: form,
+            params: { id },
         }, false)
         }, false)
     },
     },
     //新增时获取材料明细
     //新增时获取材料明细
@@ -80,4 +80,12 @@ export default {
             data: form,
             data: form,
         }, false)
         }, false)
     },
     },
+    //删除
+    async delete(id) {
+        return HcApi({
+            url: '/api/blade-meter/contractMaterialAdjust/delete',
+            method: 'get',
+            params: { id },
+        }, false)
+    },
 }
 }

+ 41 - 18
src/views/debit-pay/material/components/material/dataModal.vue

@@ -15,7 +15,7 @@
                         <hc-info-table-td is-title width="10%">调差期:</hc-info-table-td>
                         <hc-info-table-td is-title width="10%">调差期:</hc-info-table-td>
                         <hc-info-table-td>
                         <hc-info-table-td>
                             <el-form-item prop="contractPeriodId">
                             <el-form-item prop="contractPeriodId">
-                                <el-select v-model="formModel.contractPeriodId" placeholder="选择调差期" filterable block>
+                                <el-select v-model="formModel.contractPeriodId" placeholder="选择调差期" filterable block @change="adjustmentChange">
                                     <template v-for="item in adjustment" :key="item.id">
                                     <template v-for="item in adjustment" :key="item.id">
                                         <el-option v-if="item.approveStatus === 2" :label="item.periodNumber" :value="item.id" />
                                         <el-option v-if="item.approveStatus === 2" :label="item.periodNumber" :value="item.id" />
                                     </template>
                                     </template>
@@ -237,7 +237,24 @@ const detailsModalShow = () => {
     getPeriodMeasurement()
     getPeriodMeasurement()
     getPeriodAdjustment()
     getPeriodAdjustment()
     getMaterialName()
     getMaterialName()
-    console.log(dataId.value)
+    //过去数据详情
+    if (!isNullES(dataId.value)) {
+        getDetailData()
+    }
+}
+
+//获取数据详情
+const getDetailData = async () => {
+    const { code, data, msg } = await mainApi.detail(dataId.value)
+    if (code === 200) {
+        const obj = getObjValue(data)
+        formModel.value = obj
+        tableData1.value = obj.details
+        tableData2.value = obj.files
+    } else {
+        window.$message.error(msg ?? '数据异常')
+        modalClose()
+    }
 }
 }
 
 
 //获取计量期
 //获取计量期
@@ -254,6 +271,13 @@ const getPeriodAdjustment = async () => {
     adjustment.value = getArrValue(data)
     adjustment.value = getArrValue(data)
 }
 }
 
 
+//获取调差期号
+const adjustmentChange = () => {
+    const { contractPeriodId } = formModel.value
+    const info = adjustment.value.find((item) => item.id === contractPeriodId)
+    formModel.value.contractPeriodNumber = info.periodNumber ?? ''
+}
+
 //获取材料名称
 //获取材料名称
 const materialName = ref([])
 const materialName = ref([])
 const getMaterialName = async () => {
 const getMaterialName = async () => {
@@ -268,6 +292,7 @@ const materialNameChange = () => {
     formModel.value.currentPrice = ''
     formModel.value.currentPrice = ''
     formModel.value.adjustMonth = null
     formModel.value.adjustMonth = null
     formModel.value.materialPrice = info.price ?? ''
     formModel.value.materialPrice = info.price ?? ''
+    formModel.value.materialName = info.materialName ?? ''
     formModel.value.rangePriceRatio = ''
     formModel.value.rangePriceRatio = ''
     formModel.value.adjustCalculation = ''
     formModel.value.adjustCalculation = ''
     formModel.value.materialValidityId = null
     formModel.value.materialValidityId = null
@@ -469,29 +494,27 @@ const saveLoaing = ref(false)
 const modalSave = async () => {
 const modalSave = async () => {
     const isForm = await formValidate(formRef.value)
     const isForm = await formValidate(formRef.value)
     if (!isForm) return
     if (!isForm) return
+    //处理表单
     const form = formModel.value
     const form = formModel.value
     form.details = tableData1.value
     form.details = tableData1.value
     form.files = tableData2.value
     form.files = tableData2.value
     form.projectId = projectId.value
     form.projectId = projectId.value
     form.contractId = contractId.value
     form.contractId = contractId.value
+    //发起请求
+    let res = {}
     if (isNullES(form.id)) {//新增
     if (isNullES(form.id)) {//新增
-        const { code, msg } = mainApi.add(form)
+        res = await mainApi.add(form)
-        if (code === 200) {
-            window.$message.success('保存成功')
-            modalClose()
-            emit('finish')
-        } else {
-            window.$message.error(msg ?? '保存失败')
-        }
     } else {
     } else {
-        const { code, msg } = mainApi.update(form)
+        res = await mainApi.update(form)
-        if (code === 200) {
+    }
-            window.$message.success('保存成功')
+    //处理结果
-            modalClose()
+    const { code, msg } = res
-            emit('finish')
+    if (code === 200) {
-        } else {
+        window.$message.success('保存成功')
-            window.$message.error(msg ?? '保存失败')
+        modalClose()
-        }
+        emit('finish')
+    } else {
+        window.$message.error(msg ?? '保存失败')
     }
     }
 }
 }
 
 

+ 9 - 2
src/views/debit-pay/material/material.vue

@@ -47,7 +47,7 @@
 import { onActivated, ref } from 'vue'
 import { onActivated, ref } from 'vue'
 import { useAppStore } from '~src/store'
 import { useAppStore } from '~src/store'
 import { HcDelMsg } from 'hc-vue3-ui'
 import { HcDelMsg } from 'hc-vue3-ui'
-import { getArrValue } from 'js-fast-way'
+import { getArrValue, getObjValue } from 'js-fast-way'
 import mainApi from '~api/debit-pay/material/material'
 import mainApi from '~api/debit-pay/material/material'
 import HcdataModal from './components/material/dataModal.vue'
 import HcdataModal from './components/material/dataModal.vue'
 
 
@@ -148,7 +148,14 @@ const dataModalFinish = () => {
 //删除
 //删除
 const rowDelClick = (row) => {
 const rowDelClick = (row) => {
     HcDelMsg(async (resolve) => {
     HcDelMsg(async (resolve) => {
-        resolve()
+        const { code, msg } = await mainApi.delete(row.id)
+        if (code === 200) {
+            window.$message.success('删除成功')
+            getTableData().then()
+            resolve()
+        } else {
+            window.$message.error(msg ?? '操作失败')
+        }
     })
     })
 }
 }
 </script>
 </script>