Files

205 lines
6.2 KiB
Vue
Raw Normal View History

2022-09-09 14:40:05 +08:00
<!-- 企业需求弹框 -->
<template>
2022-11-25 17:30:10 +08:00
<el-dialog title="基本信息" :model-value="isShow" @close="close">
2022-10-31 17:45:39 +08:00
<el-form
2023-08-04 17:27:34 +08:00
ref="formRef"
:model="modelValue"
:label-width="labelWidth + 'px'"
disabled
2022-10-31 17:45:39 +08:00
>
2022-10-19 00:22:03 +08:00
<p><b>基本信息</b></p>
<el-row>
<el-col :span="24">
2022-11-25 17:30:10 +08:00
<el-form-item label="技术需求名称:" prop="title">
2022-10-19 00:22:03 +08:00
<el-input v-model="modelValue.title"></el-input>
2022-09-09 14:40:05 +08:00
</el-form-item>
2022-10-19 00:22:03 +08:00
</el-col>
</el-row>
2022-11-25 17:30:10 +08:00
<el-row v-if="false">
2022-10-19 00:22:03 +08:00
<el-col :span="24">
<!-- <el-checkbox label="0" @change="handleCheck">其他</el-checkbox> -->
<el-form-item label="需求类别:">
<el-checkbox-group v-model="modelValue.kinds">
<el-checkbox
2023-08-04 17:27:34 +08:00
v-for="item in checkList"
:key="item.id"
:label="item.name"
>{{ item.name }}
</el-checkbox
2022-10-19 00:22:03 +08:00
>
</el-checkbox-group>
2022-09-09 14:40:05 +08:00
</el-form-item>
2022-10-19 00:22:03 +08:00
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="需求描述:" prop="introduce">
<!-- <Editor v-model="modelValue.add" :minHeight="150" /> -->
2022-10-31 17:45:39 +08:00
<WangEditor
2023-08-04 17:27:34 +08:00
v-model="modelValue.introduce"
width="100%"
min-height="150px"
readOnly
2022-10-31 17:45:39 +08:00
></WangEditor>
2022-09-09 14:40:05 +08:00
</el-form-item>
2022-10-19 00:22:03 +08:00
</el-col>
</el-row>
<FieldOptions
2023-08-04 17:27:34 +08:00
v-model="modelValue"
:labelWidth="labelWidth"
disabled
ref="fieldFormRef"
2022-10-19 00:22:03 +08:00
/>
2022-11-25 17:30:10 +08:00
<CityOptions
2023-08-04 17:27:34 +08:00
disabled
v-model="modelValue"
:labelWidth="labelWidth"
ref="cityFormRef"
2022-11-25 17:30:10 +08:00
/>
2022-10-19 00:22:03 +08:00
<el-row>
<el-col :span="12">
<el-form-item
2023-08-04 17:27:34 +08:00
label="技术需求预算:"
:prop="modelValue.budgetMode == 1 ? 'budget' : ''"
2022-10-19 00:22:03 +08:00
>
<el-input
2023-08-04 17:27:34 +08:00
v-model="modelValue.budget"
oninput="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^\./g, '')"
placeholder="请输入技术需求预算"
2022-10-19 00:22:03 +08:00
>
<template #append>万元</template>
</el-input>
2022-09-09 14:40:05 +08:00
</el-form-item>
2022-10-19 00:22:03 +08:00
</el-col>
<el-col :span="12">
<el-form-item label-width="50px">
<el-checkbox
2023-08-04 17:27:34 +08:00
false-label="1"
true-label="2"
v-model="modelValue.budgetMode"
>面议
</el-checkbox
2022-10-19 00:22:03 +08:00
>
2022-09-09 14:40:05 +08:00
</el-form-item>
2022-10-19 00:22:03 +08:00
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="截止时间:" prop="deadline">
<el-date-picker
2023-08-04 17:27:34 +08:00
style="width: 100%"
v-model="modelValue.deadline"
type="date"
value-format="YYYY-MM-DD"
placeholder="请选择截止时间"
2022-10-19 00:22:03 +08:00
>
</el-date-picker>
2022-09-09 14:40:05 +08:00
</el-form-item>
2022-10-19 00:22:03 +08:00
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="需求联系人:" prop="name">
<el-input
2023-08-04 17:27:34 +08:00
v-model="modelValue.name"
placeholder="请输入需求联系人"
2022-10-19 00:22:03 +08:00
></el-input>
2022-09-09 14:40:05 +08:00
</el-form-item>
2022-10-19 00:22:03 +08:00
</el-col>
<el-col :span="12">
<el-form-item label="联系人手机号:" prop="mobile">
<el-input
2023-08-04 17:27:34 +08:00
v-model="modelValue.mobile"
placeholder="请输入联系人手机号"
2022-10-19 00:22:03 +08:00
></el-input>
2022-09-09 14:40:05 +08:00
</el-form-item>
2022-10-19 00:22:03 +08:00
</el-col>
</el-row>
<!-- <el-row>
<el-col :span="12">
<el-form-item label="需求提交人:" prop="commitUserName">
<el-input
v-model="modelValue.commitUserName"
placeholder="请输入需求提交人"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="需求提交人手机号:" prop="commitUserPhone">
<el-input
v-model="modelValue.commitUserPhone"
placeholder="请输入需求提交人手机号"
></el-input>
</el-form-item>
</el-col>
</el-row> -->
<el-row>
<el-col :span="24">
<InputBoxAdd
2023-08-04 17:27:34 +08:00
:labelWidth="labelWidth"
v-model="modelValue"
title="想合作的单位及模式"
placeholder=""
disabled
fieldKey="wants"
ref="directionsFormRef"
2022-10-19 00:22:03 +08:00
/>
</el-col>
</el-row>
</el-form>
<el-row type="flex" justify="end">
2022-10-31 17:45:39 +08:00
<el-button type="primary" @click="approve('2')">驳回</el-button>
<el-button type="primary" @click="approve('1')">通过需求</el-button>
2022-10-19 00:22:03 +08:00
</el-row>
</el-dialog>
2022-09-09 14:40:05 +08:00
</template>
<script setup>
2023-08-04 17:27:34 +08:00
import {demandCategoryList} from "@/utils/parameter";
2022-10-19 00:22:03 +08:00
import WangEditor from "@/components/WangEditor";
2022-11-25 17:30:10 +08:00
import CityOptions from "@/views/components/CityOptions";
2022-10-19 00:22:03 +08:00
import FieldOptions from "@/views/components/FieldOptions";
import InputBoxAdd from "@/views/components/InputBoxAdd";
2023-08-04 17:27:34 +08:00
import {ElMessage} from "element-plus";
import {toRefs} from "vue";
2022-12-05 15:58:30 +08:00
import useUserStore from "@/store/modules/user";
2023-08-04 17:27:34 +08:00
import {batchTechnologyDemand} from "@/api/dataApproval/enterpriseTechnologyDemand";
2022-12-05 15:58:30 +08:00
const userStore = useUserStore();
2022-10-31 17:45:39 +08:00
const emit = defineEmits(["update-list"]);
2022-10-19 00:22:03 +08:00
const props = defineProps({
isShow: {
type: Boolean,
required: true,
},
modelValue: {
type: Object,
required: true,
},
});
2023-08-04 17:27:34 +08:00
const {isShow, modelValue} = toRefs(props);
2022-10-19 00:22:03 +08:00
const labelWidth = 160;
2022-11-25 17:30:10 +08:00
const checkList = reactive(demandCategoryList);
2022-10-31 17:45:39 +08:00
const approve = async (status) => {
let title = status == 1 ? "通过" : "驳回";
2023-08-04 17:27:34 +08:00
// await updateTechnologyDemand({ id: modelValue.value.id, status });
await batchTechnologyDemand(modelValue.value.id, status)
2022-12-05 15:58:30 +08:00
userStore.getUnApprovedTechnology();
2022-10-31 17:45:39 +08:00
ElMessage.success(`${title}需求`);
2022-11-25 17:30:10 +08:00
emit("update:isShow", false);
2022-10-31 17:45:39 +08:00
emit("update-list");
};
2022-11-25 17:30:10 +08:00
const close = () => {
emit("update:isShow", false);
};
2022-09-09 14:40:05 +08:00
</script>
2022-10-19 00:22:03 +08:00
<style></style>