|
@@ -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 ?? '保存失败')
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
//关闭弹窗
|