|
|
@@ -6,72 +6,33 @@
|
|
|
<div class="basic-title">
|
|
|
<div class="basic-title-left">
|
|
|
<div class="basic-title-line"></div>
|
|
|
- <span class="basic-title-text">甲方信息</span>
|
|
|
+ <span class="basic-title-text">线索登记</span>
|
|
|
</div>
|
|
|
<div class="basic-title-right">
|
|
|
- <a-button type="primary" @click="submit">提交</a-button>
|
|
|
+ <a-button type="primary" @click="submit">提交</a-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="steps-content">
|
|
|
<a-row :gutter="24" class="smart-query-form-row">
|
|
|
- <a-col :span="24">
|
|
|
- <a-form-item label="甲方名称" name="customerName" class="smart-query-form-item">
|
|
|
- <a-input v-model:value="formModel.customerName" placeholder="请选择客户名称" @click="showSelectProj" />
|
|
|
- </a-form-item>
|
|
|
- <table-info-select ref="customerSelectRef" @selectedRowList="handleSelect" :bs-table-bean="bsTableBean" />
|
|
|
- </a-col>
|
|
|
- </a-row>
|
|
|
- <a-row :gutter="16" class="smart-query-form-row">
|
|
|
<a-col :span="8">
|
|
|
- <a-form-item label="甲方类型" name="customerType" class="smart-query-form-item">
|
|
|
- <DictSelect
|
|
|
- key-code="BLINK_CUSTOMER_INVOICE_TYPE"
|
|
|
- v-model:value="formModel.customerType"
|
|
|
- placeholder="请选择甲方类型"
|
|
|
- width="100%"
|
|
|
- disabled
|
|
|
- />
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- <a-col :span="8">
|
|
|
- <a-form-item label="省市区" name="provinceCityDistrictPartA" class="smart-query-form-item">
|
|
|
- <a-input v-model:value="formModel.provinceCityDistrictPartA" placeholder="请输入省市区" disabled />
|
|
|
+ <a-form-item label="项目类型" name="projectType" class="smart-query-form-item">
|
|
|
+ <DictSelect key-code="BLINK_MARKET_PROJECT_TYPE" v-model:value="formModel.projectType" placeholder="请选择项目类型" width="100%" />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
- </a-row>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <div class="basic-title">
|
|
|
- <div class="basic-title-left">
|
|
|
- <div class="basic-title-line"></div>
|
|
|
- <span class="basic-title-text">项目信息</span>
|
|
|
- </div>
|
|
|
- <div class="basic-title-right">
|
|
|
- <!-- <a-button type="primary">提交</a-button> -->
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="steps-content">
|
|
|
- <a-row :gutter="16" class="smart-query-form-row">
|
|
|
<a-col :span="16">
|
|
|
- <a-form-item label="项目名称" name="projectName" class="smart-query-form-item">
|
|
|
- <a-input v-model:value="formModel.projectName" placeholder="请输入项目名称" />
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- <a-col :span="8">
|
|
|
- <a-form-item label="项目类型" name="projectType" class="smart-query-form-item">
|
|
|
- <DictSelect key-code="BLINK_PROJECT_TYPE" v-model:value="formModel.projectType" placeholder="请选择项目类型" width="100%" />
|
|
|
+ <a-form-item label="线索名称" name="clueName" class="smart-query-form-item">
|
|
|
+ <a-input v-model:value="formModel.clueName" placeholder="请输入线索名称" />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
</a-row>
|
|
|
<a-row :gutter="16" class="smart-query-form-row">
|
|
|
<a-col :span="8">
|
|
|
- <a-form-item label="产品" name="majorType" class="smart-query-form-item">
|
|
|
- <DictSelect key-code="BLINK_PROJECT_MAJOR_TYPE" v-model:value="formModel.majorType" placeholder="请选择专业类型" width="100%" />
|
|
|
+ <a-form-item label="地区" name="countryRegion" class="smart-query-form-item">
|
|
|
+ <DictSelect key-code="BLINK_COMMON_REGION" v-model:value="formModel.countryRegion" placeholder="请选择地区" width="100%" />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="8">
|
|
|
- <a-form-item label="省市区" name="invoiceBankName" class="smart-query-form-item">
|
|
|
+ <a-form-item label="省市区" name="provinceCityDistrict" class="smart-query-form-item">
|
|
|
<AreaCascader
|
|
|
type="province_city_district"
|
|
|
style="width: 100%"
|
|
|
@@ -82,49 +43,84 @@
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="8">
|
|
|
- <a-form-item label="建设地址" name="address" class="smart-query-form-item">
|
|
|
- <a-input v-model:value="formModel.address" placeholder="请输入建设地址" />
|
|
|
+ <a-form-item label="项目地址" name="address" class="smart-query-form-item">
|
|
|
+ <a-input v-model:value="formModel.address" placeholder="请输入项目地址" />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
</a-row>
|
|
|
- <a-row :gutter="16" class="smart-query-form-row">
|
|
|
+ <a-row :gutter="24" class="smart-query-form-row">
|
|
|
<a-col :span="8">
|
|
|
- <a-form-item label="预计合同额" name="contractAmount" class="smart-query-form-item">
|
|
|
- <a-input-number v-model:value="formModel.contractAmount" placeholder="请输入预计合同额" style="width: 100%" addon-after="万" />
|
|
|
+ <a-form-item label="业主单位" name="landlordUnitId" class="smart-query-form-item">
|
|
|
+ <a-input v-model:value="formModel.landlordUnitId" placeholder="请输入业主单位" />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="8">
|
|
|
- <a-form-item label="招标方式" name="tendersType" class="smart-query-form-item">
|
|
|
- <DictSelect key-code="BLINK_PROJECT_TENDERS_TYPE" v-model:value="formModel.tendersType" placeholder="请选择招标方式" width="100%" />
|
|
|
+ <a-form-item label="工程属性" name="engineeringAttribute" class="smart-query-form-item">
|
|
|
+ <DictSelect
|
|
|
+ key-code="BLINK_MARKET_PROJECT_ENGINEERING_TYPE"
|
|
|
+ v-model:value="formModel.engineeringAttribute"
|
|
|
+ placeholder="请选择工程属性"
|
|
|
+ width="100%"
|
|
|
+ />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="8">
|
|
|
- <a-form-item label="预计开标日期" name="bidOpenDate" class="smart-query-form-item">
|
|
|
- <a-date-picker v-model:value="formModel.bidOpenDate" placeholder="预计开标日期" value-format="YYYY-MM-DD" style="width: 100%" />
|
|
|
+ <a-form-item label="项目所属行业" name="belongIndustry" class="smart-query-form-item">
|
|
|
+ <DictSelect
|
|
|
+ key-code="BLINK_MARKET_PROJECT_INDUSTRY "
|
|
|
+ v-model:value="formModel.belongIndustry"
|
|
|
+ placeholder="请选择所属行业"
|
|
|
+ width="100%"
|
|
|
+ />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
</a-row>
|
|
|
- <a-row :gutter="16" class="smart-query-form-row">
|
|
|
+ <a-row :gutter="16" class="smart-query-form-row" v-if="!formModel?.projectType?.includes('02')">
|
|
|
<a-col :span="8">
|
|
|
- <a-form-item label="预计开工日期" name="planStartDate" class="smart-query-form-item">
|
|
|
- <a-date-picker v-model:value="formModel.planStartDate" placeholder="预计开工日期" value-format="YYYY-MM-DD" style="width: 100%" />
|
|
|
+ <a-form-item label="招标平台" name="tenderPlatform" class="smart-query-form-item">
|
|
|
+ <a-input v-model:value="formModel.tenderPlatform" placeholder="请输入招标平台" />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="8">
|
|
|
- <a-form-item label="预计竣工日期" name="planEndDate" class="smart-query-form-item">
|
|
|
- <a-date-picker v-model:value="formModel.planEndDate" placeholder="预计竣工日期" value-format="YYYY-MM-DD" style="width: 100%" />
|
|
|
+ <a-form-item label="项目资金来源" name="financeSource" class="smart-query-form-item">
|
|
|
+ <DictSelect
|
|
|
+ key-code="BLINK_MARKET_PROJECT_FINANCE_SOURCE "
|
|
|
+ v-model:value="formModel.financeSource"
|
|
|
+ placeholder="请选择项目资金来源"
|
|
|
+ width="100%"
|
|
|
+ />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
+ </a-row>
|
|
|
+ <a-row :gutter="16" class="smart-query-form-row" v-if="!formModel?.projectType?.includes('02')">
|
|
|
<a-col :span="8">
|
|
|
- <a-form-item label="预计工期" name="planDays" class="smart-query-form-item">
|
|
|
- <a-input-number v-model:value="formModel.planDays" placeholder="请输入预计工期" style="width: 100%" addon-after="天" />
|
|
|
+ <a-form-item label="是否联合体" name="coalitionUnitState" class="smart-query-form-item">
|
|
|
+ <DictSelect
|
|
|
+ key-code="BLINK_COMMON_JUDGE"
|
|
|
+ v-model:value="formModel.coalitionUnitState"
|
|
|
+ placeholder="请选择是否联合体"
|
|
|
+ width="100%"
|
|
|
+ />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="16">
|
|
|
+ <a-form-item label="联合体情况说明" name="coalitionDescription" class="smart-query-form-item">
|
|
|
+ <a-input v-model:value="formModel.coalitionDescription" placeholder="请输入联合体情况说明" />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
</a-row>
|
|
|
+
|
|
|
<a-row :gutter="16" class="smart-query-form-row">
|
|
|
<a-col :span="24">
|
|
|
- <a-form-item label="备注" name="projectRemark" class="smart-query-form-item">
|
|
|
- <a-textarea v-model:value="formModel.projectRemark" placeholder="请输入备注" />
|
|
|
+ <a-form-item label="项目背景" name="projectBackground" class="smart-query-form-item">
|
|
|
+ <a-textarea v-model:value="formModel.projectBackground" placeholder="请输入项目背景" />
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ <a-row :gutter="16" class="smart-query-form-row" v-if="!formModel?.projectType?.includes('02')">
|
|
|
+ <a-col :span="24">
|
|
|
+ <a-form-item label="项目阶段" name="projectProgress" class="smart-query-form-item">
|
|
|
+ <a-textarea v-model:value="formModel.projectProgress" placeholder="请输入项目阶段" />
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
</a-row>
|
|
|
@@ -136,7 +132,9 @@
|
|
|
<div class="basic-title-line"></div>
|
|
|
<span class="basic-title-text">其他信息</span>
|
|
|
</div>
|
|
|
- <div class="basic-title-right"></div>
|
|
|
+ <div class="basic-title-right">
|
|
|
+ <!-- <a-button type="primary">提交</a-button> -->
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div class="steps-content">
|
|
|
<a-row :gutter="16" class="smart-query-form-row">
|
|
|
@@ -172,7 +170,7 @@
|
|
|
import AreaCascader from '/@/components/framework/area-cascader/index.vue';
|
|
|
import DictSelect from '/@/components/support/dict-select/index.vue';
|
|
|
import Upload from '/@/components/support/file-upload/index.vue';
|
|
|
- import tableInfoSelect from '/@/components/BsUi/TableInfoSelect/TableInfoSelect.vue'
|
|
|
+ import tableInfoSelect from '/@/components/BsUi/TableInfoSelect/TableInfoSelect.vue';
|
|
|
|
|
|
const stepFormRef = ref(null);
|
|
|
const router = useRouter();
|
|
|
@@ -181,22 +179,19 @@
|
|
|
const formModel = reactive({
|
|
|
projectName: undefined, //项目名称
|
|
|
projectType: undefined, //项目类型
|
|
|
- majorType: undefined, //专业类型
|
|
|
- province: undefined, //省份
|
|
|
- provinceName: undefined,
|
|
|
- city: undefined, //城市
|
|
|
- cityName: undefined,
|
|
|
- district: undefined, //区或县
|
|
|
- districtName: undefined,
|
|
|
- address: undefined, //详细地址
|
|
|
- contractAmount: undefined, //合同金额
|
|
|
- tendersType: undefined, //招标方式
|
|
|
- bidOpenDate: undefined, //预计开标日期
|
|
|
- planStartDate: undefined, //预计开工日期
|
|
|
- planEndDate: undefined, //预计完工日期
|
|
|
- planDays: undefined, //预计工期
|
|
|
- projectRemark: undefined, //备注
|
|
|
- attachment: undefined, //附件集合
|
|
|
+ clueName: undefined,
|
|
|
+ countryRegion: undefined,
|
|
|
+ address: undefined,
|
|
|
+ landlordUnitId: undefined,
|
|
|
+ engineeringAttribute: undefined,
|
|
|
+ belongIndustry: undefined,
|
|
|
+ tenderPlatform: undefined,
|
|
|
+ financeSource: undefined,
|
|
|
+ coalitionUnitState: undefined,
|
|
|
+ coalitionDescription: undefined,
|
|
|
+ projectBackground: undefined,
|
|
|
+ projectProgress: undefined,
|
|
|
+ attachment: undefined,
|
|
|
});
|
|
|
|
|
|
// ---------------------- 表单校验规则 ---------------------------
|
|
|
@@ -207,12 +202,12 @@
|
|
|
};
|
|
|
|
|
|
// ---------------------- 表格样式配置 ----------------------------
|
|
|
- const labelCol = { style: { width: '110px', height: '50px' } };
|
|
|
+ const labelCol = { style: { width: '120px', height: '50px' } };
|
|
|
|
|
|
// ----------------------- 上传附件 ----------------------------
|
|
|
// 已上传的附件列表
|
|
|
const defaultFileList = ref([]);
|
|
|
- // 附件列表触发事件
|
|
|
+ // 附件列表触发事件
|
|
|
function changeAttachment(fileList) {
|
|
|
defaultFileList.value = fileList;
|
|
|
formModel.attachment = _.isEmpty(fileList) ? [] : fileList;
|
|
|
@@ -249,7 +244,6 @@
|
|
|
//------------------------------地区-------------------------------------
|
|
|
|
|
|
const provinceCityDistrict = ref([]);
|
|
|
- const provinceCityDistrictPartA = ref([]);
|
|
|
function changeArea(value, selectedOptions) {
|
|
|
Object.assign(formModel, {
|
|
|
province: '',
|
|
|
@@ -271,103 +265,6 @@
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- //------------------------------表格数据选择器-------------------------------------
|
|
|
-
|
|
|
- const customerSelectRef = ref(null);
|
|
|
-
|
|
|
- //表格选择器配置项
|
|
|
- const bsTableBean = useBsTable({
|
|
|
- tableOptions: {
|
|
|
- isLoadRequest: false,
|
|
|
- url: '/supports/customer/queryPage',
|
|
|
- gridOptions: {
|
|
|
- loading: false,
|
|
|
- columns: [
|
|
|
- {
|
|
|
- field: 'id',
|
|
|
- title: 'ID',
|
|
|
- },
|
|
|
- {
|
|
|
- field: 'customerName',
|
|
|
- title: '甲方名称',
|
|
|
- },
|
|
|
- {
|
|
|
- field: 'customerType',
|
|
|
- title: '甲方类型',
|
|
|
- cellRender: {
|
|
|
- name: 'CellDict',
|
|
|
- },
|
|
|
- },
|
|
|
- {
|
|
|
- field: 'provinceCityDistrict',
|
|
|
- title: '省市区',
|
|
|
- },
|
|
|
- ],
|
|
|
- data: [
|
|
|
- {
|
|
|
- id: 1,
|
|
|
- name: '测试数据',
|
|
|
- dictField: [
|
|
|
- {
|
|
|
- dictKeyId: '',
|
|
|
- dictValueId: '',
|
|
|
- remark: '',
|
|
|
- sort: 3,
|
|
|
- status: 1,
|
|
|
- valueCode: '03',
|
|
|
- valueName: '微信公众号',
|
|
|
- },
|
|
|
- ],
|
|
|
- },
|
|
|
- ], // 模拟数据源
|
|
|
- },
|
|
|
- searchConfig: {
|
|
|
- enabled: false,
|
|
|
- fieldSpan: 4,
|
|
|
- fields: [
|
|
|
- {
|
|
|
- field: 'customerName',
|
|
|
- label: '',
|
|
|
- component: 'a-input',
|
|
|
- componentProps: {
|
|
|
- placeholder: '请输入客户名称',
|
|
|
- },
|
|
|
- },
|
|
|
- ],
|
|
|
- },
|
|
|
- pagerConfig: {
|
|
|
- enable: true,
|
|
|
- pageSize: 10,
|
|
|
- pageNum: 1,
|
|
|
- },
|
|
|
- toolbarConfig: {
|
|
|
- enable: false,
|
|
|
- },
|
|
|
- // 每次查询接口之前,都会调用这个回调函数
|
|
|
- tableSearchBeforeBiz() {
|
|
|
- console.log('表格搜索前');
|
|
|
- },
|
|
|
- // 表格初始化之前,只加载一次
|
|
|
- beforeMount() {
|
|
|
- console.log('表格加载前');
|
|
|
- },
|
|
|
- // 表格初始化完成,只加载一次
|
|
|
- mounted(gridRef) {
|
|
|
- console.log('表格加载后', gridRef);
|
|
|
- },
|
|
|
- },
|
|
|
- });
|
|
|
- //表格选择器开窗
|
|
|
- function showSelectProj() {
|
|
|
- customerSelectRef.value.showModal();
|
|
|
- }
|
|
|
- //表格选择器数据回显
|
|
|
- function handleSelect(data) {
|
|
|
- formModel.customerId = data[0].id;
|
|
|
- formModel.customerName = data[0].customerName;
|
|
|
- formModel.customerType = data[0].customerType[0].valueCode;
|
|
|
- formModel.provinceCityDistrictPartA = data[0].provinceCityDistrict;
|
|
|
- }
|
|
|
</script>
|
|
|
|
|
|
<style scoped lang="less">
|