feat(ctr): 添加招标计划选择功能
- 新增获取招标计划的 API 接口 - 在合同创建页面添加招标计划选择功能 - 优化合同类型选择逻辑,增加相关提示
This commit is contained in:
@ -71,4 +71,13 @@ export const getFileList = (data) => {
|
|||||||
method: 'get',
|
method: 'get',
|
||||||
params: data
|
params: data
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取招标计划
|
||||||
|
export const getTenderPlan = (data) => {
|
||||||
|
return request({
|
||||||
|
url: '/ctr/expensesContract/tender/list',
|
||||||
|
method: 'get',
|
||||||
|
params: data
|
||||||
|
})
|
||||||
}
|
}
|
@ -64,6 +64,11 @@
|
|||||||
:value="item.value" />
|
:value="item.value" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="招标计划" prop="tenderId">
|
||||||
|
<!-- <el-input v-model="form.tenderId" placeholder="请输入招标Id" /> -->
|
||||||
|
<el-input v-model="form.name" placeholder="请选择招标计划" />
|
||||||
|
<el-button type="primary" @click="handleChoose">选择招标</el-button>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="供应商" prop="contractSupplier">
|
<el-form-item label="供应商" prop="contractSupplier">
|
||||||
<el-input v-model="form.contractSupplier" placeholder="请输入供应商" />
|
<el-input v-model="form.contractSupplier" placeholder="请输入供应商" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -75,9 +80,7 @@
|
|||||||
oninput="value=value.replace(/[^0-9.]/g,'').replace(/\.{2,}/g,'.').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
|
oninput="value=value.replace(/[^0-9.]/g,'').replace(/\.{2,}/g,'.').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
|
||||||
v-model="form.amount" placeholder="请输入合同金额" />
|
v-model="form.amount" placeholder="请输入合同金额" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="招标Id" prop="tenderId">
|
|
||||||
<el-input v-model="form.tenderId" placeholder="请输入招标Id" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="备注" prop="remark">
|
<el-form-item label="备注" prop="remark">
|
||||||
<el-input v-model="form.remark" placeholder="请输入备注" />
|
<el-input v-model="form.remark" placeholder="请输入备注" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -131,15 +134,17 @@
|
|||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
import FileUpload from '@/components/FileUpload';
|
import FileUpload from '@/components/FileUpload';
|
||||||
import { listExpensesContract, getExpensesContract, delExpensesContract, addExpensesContract, updateExpensesContract } from '@/api/ctr/expensesContract';
|
import { listExpensesContract, getExpensesContract, delExpensesContract, addExpensesContract, updateExpensesContract, getTenderPlan } from '@/api/ctr/expensesContract';
|
||||||
import { listIncomeContract, getIncomeContract, delIncomeContract, addIncomeContract, updateIncomeContract } from '@/api/ctr/incomeContract';
|
import { listIncomeContract, getIncomeContract, delIncomeContract, addIncomeContract, updateIncomeContract } from '@/api/ctr/incomeContract';
|
||||||
|
import { useUserStore } from '@/store/modules/user';
|
||||||
const active = ref(0);
|
const active = ref(0);
|
||||||
const contract_type = ref("")
|
const contract_type = ref("")
|
||||||
const form = ref({ payType: 1 })
|
const form = ref({ payType: 1 })
|
||||||
const fileList = ref([])
|
const fileList = ref([])
|
||||||
const tempFileList = ref([])
|
const tempFileList = ref([])
|
||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
|
const userStore = useUserStore();
|
||||||
|
const planList = ref([]);
|
||||||
|
|
||||||
const { expenses_contract_type, income_contract_type } = toRefs(
|
const { expenses_contract_type, income_contract_type } = toRefs(
|
||||||
proxy?.useDict('income_contract_type', 'expenses_contract_type')
|
proxy?.useDict('income_contract_type', 'expenses_contract_type')
|
||||||
@ -172,6 +177,8 @@ const payMentRules = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const project = computed(() => {
|
const project = computed(() => {
|
||||||
|
console.log(111);
|
||||||
|
|
||||||
return JSON.parse(localStorage.getItem("selectedProject"))
|
return JSON.parse(localStorage.getItem("selectedProject"))
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -302,6 +309,20 @@ const submitForm = async () => {
|
|||||||
// });
|
// });
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
|
const handleChoose = async () => {
|
||||||
|
if (!form.value.contractType) {
|
||||||
|
ElMessage.error('请先选择合同类型');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const formData = {
|
||||||
|
projectId: userStore.selectedProject.id,
|
||||||
|
dictName: form.value.contractType
|
||||||
|
}
|
||||||
|
const { data } = await getTenderPlan(formData)
|
||||||
|
planList.value = data
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
watch(form, (val) => {
|
watch(form, (val) => {
|
||||||
localStorage.setItem("tempContractForm", JSON.stringify({ ...val, fileList: fileList.value }));
|
localStorage.setItem("tempContractForm", JSON.stringify({ ...val, fileList: fileList.value }));
|
||||||
}, { deep: true });
|
}, { deep: true });
|
||||||
|
Reference in New Issue
Block a user