浏览代码

中间支付申请

ZaiZai 1 年之前
父节点
当前提交
ac9c8665f9
共有 2 个文件被更改,包括 33 次插入23 次删除
  1. 5 1
      src/views/debit-pay/admin/certificate.vue
  2. 28 22
      src/views/debit-pay/admin/components/certificate/addModal.vue

+ 5 - 1
src/views/debit-pay/admin/certificate.vue

@@ -25,7 +25,7 @@
         </hc-new-card>
 
         <!-- 中间计量新增 -->
-        <HcAddModal v-model="addModalShow" />
+        <HcAddModal v-model="addModalShow" @finish="addModalFinish" />
 
         <!-- 中间计量编辑 -->
         <HcEditModal v-model="editModalShow" />
@@ -99,6 +99,10 @@ const addModalShow = ref(false)
 const addModalClick = () => {
     addModalShow.value = true
 }
+const addModalFinish = () => {
+    getTableData()
+}
+
 
 //修改
 const editModalShow = ref(false)

+ 28 - 22
src/views/debit-pay/admin/components/certificate/addModal.vue

@@ -11,21 +11,21 @@
             </el-form-item>
             <el-form-item label="材料计量期:" prop="materialPeriodIds">
                 <div v-if="meterPeriodData.length > 0" class="form-item-div">
-                    <el-radio-group v-model="formModel.materialPeriodIds">
+                    <el-checkbox-group v-model="materialPeriodIds">
                         <template v-for="item in meterPeriodData" :key="item.id">
-                            <el-radio v-if="item.periodNumber" :label="item.periodNumber">{{ item.periodName }}</el-radio>
+                            <el-checkbox v-if="item.periodNumber" :label="item.periodNumber">{{ item.periodName }}</el-checkbox>
                         </template>
-                    </el-radio-group>
+                    </el-checkbox-group>
                 </div>
                 <div v-else class="form-item-div text-orange">无材料计量期可进行关联</div>
             </el-form-item>
             <el-form-item label="开工预付计量期:" prop="startPeriodIds">
                 <div v-if="startPeriodData.length > 0" class="form-item-div">
-                    <el-radio-group v-model="formModel.startPeriodIds">
+                    <el-checkbox-group v-model="startPeriodIds">
                         <template v-for="item in startPeriodData" :key="item.id">
-                            <el-radio v-if="item.periodNumber" :label="item.periodNumber">{{ item.periodName }}</el-radio>
+                            <el-checkbox v-if="item.periodNumber" :label="item.periodNumber">{{ item.periodName }}</el-checkbox>
                         </template>
-                    </el-radio-group>
+                    </el-checkbox-group>
                 </div>
                 <div v-else class="form-item-div text-orange">无开工计量期可进行关联</div>
             </el-form-item>
@@ -38,7 +38,7 @@
 
 <script setup>
 import { getArrValue } from 'js-fast-way'
-import { onMounted, ref, watch } from 'vue'
+import { ref, watch } from 'vue'
 import { useAppStore } from '~src/store'
 import mainApi from '~api/debit-pay/admin/certificate'
 
@@ -56,13 +56,6 @@ const isShow = defineModel('modelValue', {
     default: false,
 })
 
-//渲染完成
-onMounted(() => {
-    getAllPeriod()
-    getMeterPeriod()
-    getStartPeriod()
-})
-
 //获取合同计量期
 const allPeriodData = ref([])
 const getAllPeriod = async () => {
@@ -76,6 +69,7 @@ const getAllPeriod = async () => {
 
 //获取材料计量期
 const meterPeriodData = ref([])
+const materialPeriodIds = ref([])
 const getMeterPeriod = async () => {
     const { data } = await mainApi.getMeterPeriod({
         projectId: projectId.value,
@@ -83,11 +77,11 @@ const getMeterPeriod = async () => {
         type: 1,
     })
     meterPeriodData.value = getArrValue(data)
-    //formModel.value.materialPeriodIds = meterPeriodData.value[ meterPeriodData.value.length - 1].id
 }
 
 //获取开工计量期
 const startPeriodData = ref([])
+const startPeriodIds = ref([])
 const getStartPeriod = async () => {
     const { data } = await mainApi.getMeterPeriod({
         projectId: projectId.value,
@@ -95,14 +89,15 @@ const getStartPeriod = async () => {
         type: 2,
     })
     startPeriodData.value = getArrValue(data)
-    //formModel.value.startPeriodIds = startPeriodData.value[ startPeriodData.value.length - 1].id
 }
 
-
 //监听
 watch(isShow, (val) => {
     if (val) {
-        console.log('处理数据')
+        formModel.value = {}
+        getAllPeriod()
+        getMeterPeriod()
+        getStartPeriod()
     }
 })
 
@@ -111,10 +106,21 @@ const formRef = ref(null)
 const formModel = ref({})
 const formRules = {}
 
-
-const addModalSave = () => {
-    emit('finish')
-    addModalClose()
+//保存
+const addModalSave = async () => {
+    const form = formModel.value
+    form.projectId = projectId.value
+    form.contractId = contractId.value
+    form.materialPeriodIds = materialPeriodIds.value.join(',')
+    form.startPeriodIds = startPeriodIds.value.join(',')
+    const { error, code, msg } = await mainApi.add(form)
+    if (!error && code === 200) {
+        window.$message.success('保存成功')
+        addModalClose()
+        emit('finish')
+    } else {
+        window.$message.error(msg ?? '保存失败')
+    }
 }
 
 //关闭弹窗