|
@@ -11,6 +11,12 @@
|
|
|
>
|
|
>
|
|
|
<slot name="titleButton">
|
|
<slot name="titleButton">
|
|
|
<Button
|
|
<Button
|
|
|
|
|
+ @click="showForms = true"
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ style="margin-right: 10px"
|
|
|
|
|
+ >表单设置</Button
|
|
|
|
|
+ >
|
|
|
|
|
+ <Button
|
|
|
type="primary"
|
|
type="primary"
|
|
|
style="margin-right: 10px"
|
|
style="margin-right: 10px"
|
|
|
:disabled="isChecked"
|
|
:disabled="isChecked"
|
|
@@ -43,7 +49,10 @@
|
|
|
</Toptitle>
|
|
</Toptitle>
|
|
|
<div class="top_search">
|
|
<div class="top_search">
|
|
|
<Form :model="formData" :label-width="100" class="top_search_form">
|
|
<Form :model="formData" :label-width="100" class="top_search_form">
|
|
|
- <FormItem label="订单号:">
|
|
|
|
|
|
|
+ <FormItem
|
|
|
|
|
+ v-if="formSetTableData.filter((v) => v.key == 'order_no')[0].is_show"
|
|
|
|
|
+ :label="formSetTableData.filter((v) => v.key == 'order_no')[0].title"
|
|
|
|
|
+ >
|
|
|
<Input
|
|
<Input
|
|
|
type="text"
|
|
type="text"
|
|
|
size="small"
|
|
size="small"
|
|
@@ -53,7 +62,15 @@
|
|
|
style="width: 200px"
|
|
style="width: 200px"
|
|
|
/>
|
|
/>
|
|
|
</FormItem>
|
|
</FormItem>
|
|
|
- <FormItem label="项目名称:">
|
|
|
|
|
|
|
+ <FormItem
|
|
|
|
|
+ v-if="
|
|
|
|
|
+ formSetTableData.filter((v) => v.key == 'residential_name')[0]
|
|
|
|
|
+ .is_show
|
|
|
|
|
+ "
|
|
|
|
|
+ :label="
|
|
|
|
|
+ formSetTableData.filter((v) => v.key == 'residential_name')[0].title
|
|
|
|
|
+ "
|
|
|
|
|
+ >
|
|
|
<Input
|
|
<Input
|
|
|
type="text"
|
|
type="text"
|
|
|
:disabled="isChecked"
|
|
:disabled="isChecked"
|
|
@@ -63,7 +80,10 @@
|
|
|
style="width: 200px"
|
|
style="width: 200px"
|
|
|
/>
|
|
/>
|
|
|
</FormItem>
|
|
</FormItem>
|
|
|
- <FormItem label="客户姓名:">
|
|
|
|
|
|
|
+ <FormItem
|
|
|
|
|
+ v-if="formSetTableData.filter((v) => v.key == 'custom_id')[0].is_show"
|
|
|
|
|
+ :label="formSetTableData.filter((v) => v.key == 'custom_id')[0].title"
|
|
|
|
|
+ >
|
|
|
<Select
|
|
<Select
|
|
|
clearable
|
|
clearable
|
|
|
filterable
|
|
filterable
|
|
@@ -81,7 +101,14 @@
|
|
|
></Option>
|
|
></Option>
|
|
|
</Select>
|
|
</Select>
|
|
|
</FormItem>
|
|
</FormItem>
|
|
|
- <FormItem label="紧急程度:">
|
|
|
|
|
|
|
+ <FormItem
|
|
|
|
|
+ v-if="
|
|
|
|
|
+ formSetTableData.filter((v) => v.key == 'warning_state')[0].is_show
|
|
|
|
|
+ "
|
|
|
|
|
+ :label="
|
|
|
|
|
+ formSetTableData.filter((v) => v.key == 'warning_state')[0].title
|
|
|
|
|
+ "
|
|
|
|
|
+ >
|
|
|
<Select
|
|
<Select
|
|
|
v-model="formData.warning_state"
|
|
v-model="formData.warning_state"
|
|
|
:disabled="isChecked"
|
|
:disabled="isChecked"
|
|
@@ -96,7 +123,14 @@
|
|
|
></Option>
|
|
></Option>
|
|
|
</Select>
|
|
</Select>
|
|
|
</FormItem>
|
|
</FormItem>
|
|
|
- <FormItem label="项目定金:">
|
|
|
|
|
|
|
+ <FormItem
|
|
|
|
|
+ v-if="
|
|
|
|
|
+ formSetTableData.filter((v) => v.key == 'front_money')[0].is_show
|
|
|
|
|
+ "
|
|
|
|
|
+ :label="
|
|
|
|
|
+ formSetTableData.filter((v) => v.key == 'front_money')[0].title
|
|
|
|
|
+ "
|
|
|
|
|
+ >
|
|
|
<Input
|
|
<Input
|
|
|
type="text"
|
|
type="text"
|
|
|
size="small"
|
|
size="small"
|
|
@@ -113,7 +147,15 @@
|
|
|
:disabled="isChecked">已收款</Radio>
|
|
:disabled="isChecked">已收款</Radio>
|
|
|
</RadioGroup> -->
|
|
</RadioGroup> -->
|
|
|
</FormItem>
|
|
</FormItem>
|
|
|
- <FormItem label="详细地址:">
|
|
|
|
|
|
|
+ <FormItem
|
|
|
|
|
+ v-if="
|
|
|
|
|
+ formSetTableData.filter((v) => v.key == 'custom_detail_id')[0]
|
|
|
|
|
+ .is_show
|
|
|
|
|
+ "
|
|
|
|
|
+ :label="
|
|
|
|
|
+ formSetTableData.filter((v) => v.key == 'custom_detail_id')[0].title
|
|
|
|
|
+ "
|
|
|
|
|
+ >
|
|
|
<Select
|
|
<Select
|
|
|
clearable
|
|
clearable
|
|
|
filterable
|
|
filterable
|
|
@@ -131,7 +173,15 @@
|
|
|
></Option>
|
|
></Option>
|
|
|
</Select>
|
|
</Select>
|
|
|
</FormItem>
|
|
</FormItem>
|
|
|
- <FormItem label="手机号:">
|
|
|
|
|
|
|
+ <FormItem
|
|
|
|
|
+ v-if="
|
|
|
|
|
+ formSetTableData.filter((v) => v.key == 'custom_detail_id')[0]
|
|
|
|
|
+ .is_show
|
|
|
|
|
+ "
|
|
|
|
|
+ :label="
|
|
|
|
|
+ formSetTableData.filter((v) => v.key == 'custom_detail_id')[0].title
|
|
|
|
|
+ "
|
|
|
|
|
+ >
|
|
|
<Select
|
|
<Select
|
|
|
clearable
|
|
clearable
|
|
|
filterable
|
|
filterable
|
|
@@ -149,7 +199,14 @@
|
|
|
></Option>
|
|
></Option>
|
|
|
</Select>
|
|
</Select>
|
|
|
</FormItem>
|
|
</FormItem>
|
|
|
- <FormItem label="开始日期:">
|
|
|
|
|
|
|
+ <FormItem
|
|
|
|
|
+ v-if="
|
|
|
|
|
+ formSetTableData.filter((v) => v.key == 'start_time')[0].is_show
|
|
|
|
|
+ "
|
|
|
|
|
+ :label="
|
|
|
|
|
+ formSetTableData.filter((v) => v.key == 'start_time')[0].title
|
|
|
|
|
+ "
|
|
|
|
|
+ >
|
|
|
<DatePicker
|
|
<DatePicker
|
|
|
type="date"
|
|
type="date"
|
|
|
size="small"
|
|
size="small"
|
|
@@ -161,7 +218,10 @@
|
|
|
style="width: 200px"
|
|
style="width: 200px"
|
|
|
></DatePicker>
|
|
></DatePicker>
|
|
|
</FormItem>
|
|
</FormItem>
|
|
|
- <FormItem label="结束日期:">
|
|
|
|
|
|
|
+ <FormItem
|
|
|
|
|
+ v-if="formSetTableData.filter((v) => v.key == 'end_time')[0].is_show"
|
|
|
|
|
+ :label="formSetTableData.filter((v) => v.key == 'end_time')[0].title"
|
|
|
|
|
+ >
|
|
|
<DatePicker
|
|
<DatePicker
|
|
|
type="date"
|
|
type="date"
|
|
|
size="small"
|
|
size="small"
|
|
@@ -173,7 +233,10 @@
|
|
|
style="width: 200px"
|
|
style="width: 200px"
|
|
|
></DatePicker>
|
|
></DatePicker>
|
|
|
</FormItem>
|
|
</FormItem>
|
|
|
- <FormItem label="业务员:">
|
|
|
|
|
|
|
+ <FormItem
|
|
|
|
|
+ v-if="formSetTableData.filter((v) => v.key == 'salesman')[0].is_show"
|
|
|
|
|
+ :label="formSetTableData.filter((v) => v.key == 'salesman')[0].title"
|
|
|
|
|
+ >
|
|
|
<Select
|
|
<Select
|
|
|
v-model="formData.salesman"
|
|
v-model="formData.salesman"
|
|
|
filterable
|
|
filterable
|
|
@@ -215,7 +278,10 @@
|
|
|
style="width: 200px"
|
|
style="width: 200px"
|
|
|
/>
|
|
/>
|
|
|
</FormItem>
|
|
</FormItem>
|
|
|
- <FormItem label="备注:">
|
|
|
|
|
|
|
+ <FormItem
|
|
|
|
|
+ v-if="formSetTableData.filter((v) => v.key == 'remark')[0].is_show"
|
|
|
|
|
+ :label="formSetTableData.filter((v) => v.key == 'remark')[0].title"
|
|
|
|
|
+ >
|
|
|
<Input
|
|
<Input
|
|
|
type="textarea"
|
|
type="textarea"
|
|
|
:disabled="isChecked"
|
|
:disabled="isChecked"
|
|
@@ -274,53 +340,91 @@
|
|
|
</div>
|
|
</div>
|
|
|
<div class="addAreaForm">
|
|
<div class="addAreaForm">
|
|
|
<Form :label-width="100" :model="areaItem" style="width: 60%">
|
|
<Form :label-width="100" :model="areaItem" style="width: 60%">
|
|
|
- <FormItem label="区域编码:">
|
|
|
|
|
|
|
+ <FormItem
|
|
|
|
|
+ v-if="areaSetTableData.filter((v) => v.key == 'num')[0].is_show"
|
|
|
|
|
+ :label="areaSetTableData.filter((v) => v.key == 'num')[0].title"
|
|
|
|
|
+ >
|
|
|
<Input
|
|
<Input
|
|
|
type="text"
|
|
type="text"
|
|
|
size="small"
|
|
size="small"
|
|
|
:disabled="isChecked"
|
|
:disabled="isChecked"
|
|
|
v-model="areaItem.num"
|
|
v-model="areaItem.num"
|
|
|
- placeholder="请输入区域编码"
|
|
|
|
|
|
|
+ :placeholder="
|
|
|
|
|
+ '请输入' +
|
|
|
|
|
+ areaSetTableData.filter((v) => v.key == 'num')[0].title
|
|
|
|
|
+ "
|
|
|
style="width: 120px"
|
|
style="width: 120px"
|
|
|
/>
|
|
/>
|
|
|
</FormItem>
|
|
</FormItem>
|
|
|
- <FormItem label="区域名称:">
|
|
|
|
|
|
|
+ <FormItem
|
|
|
|
|
+ v-if="areaSetTableData.filter((v) => v.key == 'title')[0].is_show"
|
|
|
|
|
+ :label="areaSetTableData.filter((v) => v.key == 'title')[0].title"
|
|
|
|
|
+ >
|
|
|
<Input
|
|
<Input
|
|
|
type="text"
|
|
type="text"
|
|
|
size="small"
|
|
size="small"
|
|
|
:disabled="isChecked"
|
|
:disabled="isChecked"
|
|
|
v-model="areaItem.title"
|
|
v-model="areaItem.title"
|
|
|
- placeholder="请输入区域名称"
|
|
|
|
|
|
|
+ :placeholder="
|
|
|
|
|
+ '请输入' +
|
|
|
|
|
+ areaSetTableData.filter((v) => v.key == 'title')[0].title
|
|
|
|
|
+ "
|
|
|
style="width: 120px"
|
|
style="width: 120px"
|
|
|
/>
|
|
/>
|
|
|
</FormItem>
|
|
</FormItem>
|
|
|
- <FormItem label="单位:">
|
|
|
|
|
|
|
+ <FormItem
|
|
|
|
|
+ v-if="areaSetTableData.filter((v) => v.key == 'unit')[0].is_show"
|
|
|
|
|
+ :label="areaSetTableData.filter((v) => v.key == 'unit')[0].title"
|
|
|
|
|
+ >
|
|
|
<Input
|
|
<Input
|
|
|
type="text"
|
|
type="text"
|
|
|
size="small"
|
|
size="small"
|
|
|
:disabled="isChecked"
|
|
:disabled="isChecked"
|
|
|
v-model="areaItem.unit"
|
|
v-model="areaItem.unit"
|
|
|
- placeholder="请输入单位"
|
|
|
|
|
|
|
+ :placeholder="
|
|
|
|
|
+ '请输入' +
|
|
|
|
|
+ areaSetTableData.filter((v) => v.key == 'unit')[0].title
|
|
|
|
|
+ "
|
|
|
style="width: 120px"
|
|
style="width: 120px"
|
|
|
/>
|
|
/>
|
|
|
</FormItem>
|
|
</FormItem>
|
|
|
- <FormItem label="工程量:">
|
|
|
|
|
|
|
+ <FormItem
|
|
|
|
|
+ v-if="
|
|
|
|
|
+ areaSetTableData.filter((v) => v.key == 'quantity')[0].is_show
|
|
|
|
|
+ "
|
|
|
|
|
+ :label="
|
|
|
|
|
+ areaSetTableData.filter((v) => v.key == 'quantity')[0].title
|
|
|
|
|
+ "
|
|
|
|
|
+ >
|
|
|
<Input
|
|
<Input
|
|
|
type="text"
|
|
type="text"
|
|
|
size="small"
|
|
size="small"
|
|
|
v-model="areaItem.quantity"
|
|
v-model="areaItem.quantity"
|
|
|
:disabled="isChecked"
|
|
:disabled="isChecked"
|
|
|
- placeholder="请输入工程量"
|
|
|
|
|
|
|
+ :placeholder="
|
|
|
|
|
+ '请输入' +
|
|
|
|
|
+ areaSetTableData.filter((v) => v.key == 'quantity')[0].title
|
|
|
|
|
+ "
|
|
|
style="width: 120px"
|
|
style="width: 120px"
|
|
|
/>
|
|
/>
|
|
|
</FormItem>
|
|
</FormItem>
|
|
|
- <FormItem label="户型:">
|
|
|
|
|
|
|
+ <FormItem
|
|
|
|
|
+ v-if="
|
|
|
|
|
+ areaSetTableData.filter((v) => v.key == 'house_type')[0].is_show
|
|
|
|
|
+ "
|
|
|
|
|
+ :label="
|
|
|
|
|
+ areaSetTableData.filter((v) => v.key == 'house_type')[0].title
|
|
|
|
|
+ "
|
|
|
|
|
+ >
|
|
|
<Input
|
|
<Input
|
|
|
type="text"
|
|
type="text"
|
|
|
size="small"
|
|
size="small"
|
|
|
:disabled="isChecked"
|
|
:disabled="isChecked"
|
|
|
v-model="areaItem.house_type"
|
|
v-model="areaItem.house_type"
|
|
|
- placeholder="请输入户型"
|
|
|
|
|
|
|
+ :placeholder="
|
|
|
|
|
+ '请输入' +
|
|
|
|
|
+ areaSetTableData.filter((v) => v.key == 'house_type')[0].title
|
|
|
|
|
+ "
|
|
|
style="width: 120px"
|
|
style="width: 120px"
|
|
|
/>
|
|
/>
|
|
|
</FormItem>
|
|
</FormItem>
|
|
@@ -338,13 +442,19 @@
|
|
|
style="width: 120px"
|
|
style="width: 120px"
|
|
|
/>
|
|
/>
|
|
|
</FormItem>
|
|
</FormItem>
|
|
|
- <FormItem label="备注:">
|
|
|
|
|
|
|
+ <FormItem
|
|
|
|
|
+ v-if="areaSetTableData.filter((v) => v.key == 'remark')[0].is_show"
|
|
|
|
|
+ :label="areaSetTableData.filter((v) => v.key == 'remark')[0].title"
|
|
|
|
|
+ >
|
|
|
<Input
|
|
<Input
|
|
|
type="text"
|
|
type="text"
|
|
|
:disabled="isChecked"
|
|
:disabled="isChecked"
|
|
|
size="small"
|
|
size="small"
|
|
|
v-model="areaItem.remark"
|
|
v-model="areaItem.remark"
|
|
|
- placeholder="请输入备注"
|
|
|
|
|
|
|
+ :placeholder="
|
|
|
|
|
+ '请输入' +
|
|
|
|
|
+ areaSetTableData.filter((v) => v.key == 'remark')[0].title
|
|
|
|
|
+ "
|
|
|
style="width: 120px"
|
|
style="width: 120px"
|
|
|
/>
|
|
/>
|
|
|
</FormItem>
|
|
</FormItem>
|
|
@@ -639,7 +749,7 @@
|
|
|
<Button
|
|
<Button
|
|
|
type="primary"
|
|
type="primary"
|
|
|
style="margin-right: 10px"
|
|
style="margin-right: 10px"
|
|
|
- @click="handleAddPDTAdd(tempIndex)"
|
|
|
|
|
|
|
+ @click="handleAddPDTAdd(tempIndex, tempItem)"
|
|
|
>添加</Button
|
|
>添加</Button
|
|
|
>
|
|
>
|
|
|
<Button
|
|
<Button
|
|
@@ -1008,6 +1118,44 @@
|
|
|
<Button type="primary" @click="handleAddInputConfirm">确认</Button>
|
|
<Button type="primary" @click="handleAddInputConfirm">确认</Button>
|
|
|
</div>
|
|
</div>
|
|
|
</Modal>
|
|
</Modal>
|
|
|
|
|
+ <!-- 表单设置 -->
|
|
|
|
|
+ <Modal
|
|
|
|
|
+ v-model="showForms"
|
|
|
|
|
+ @on-ok="postForms(1)"
|
|
|
|
|
+ class-name="vertical-center-modal"
|
|
|
|
|
+ style="max-height: 700px; overflow: hidden; overflow-y: auto"
|
|
|
|
|
+ title="表单设置"
|
|
|
|
|
+ >
|
|
|
|
|
+ <Tabs value="form1">
|
|
|
|
|
+ <TabPane label="订单表单设置" name="form1">
|
|
|
|
|
+ <Table
|
|
|
|
|
+ :max-height="600"
|
|
|
|
|
+ border
|
|
|
|
|
+ :columns="formSetTableColumns"
|
|
|
|
|
+ :data="post_formSetTableData"
|
|
|
|
|
+ >
|
|
|
|
|
+ </Table>
|
|
|
|
|
+ </TabPane>
|
|
|
|
|
+ <TabPane label="区域表单设置" name="form2">
|
|
|
|
|
+ <Table
|
|
|
|
|
+ :max-height="600"
|
|
|
|
|
+ border
|
|
|
|
|
+ :columns="areaSetTableColumns"
|
|
|
|
|
+ :data="post_areaSetTableData"
|
|
|
|
|
+ >
|
|
|
|
|
+ </Table>
|
|
|
|
|
+ </TabPane>
|
|
|
|
|
+ <TabPane label="产品表头设置" name="form3">
|
|
|
|
|
+ <Table
|
|
|
|
|
+ :max-height="600"
|
|
|
|
|
+ border
|
|
|
|
|
+ :columns="productSetTableColumns"
|
|
|
|
|
+ :data="post_productSetTableData"
|
|
|
|
|
+ >
|
|
|
|
|
+ </Table>
|
|
|
|
|
+ </TabPane>
|
|
|
|
|
+ </Tabs>
|
|
|
|
|
+ </Modal>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
@@ -1148,7 +1296,7 @@ export default {
|
|
|
{ title: "备注", key: "remark", align: "center", minWidth: 80 },
|
|
{ title: "备注", key: "remark", align: "center", minWidth: 80 },
|
|
|
{
|
|
{
|
|
|
title: "操作",
|
|
title: "操作",
|
|
|
- key: "remark",
|
|
|
|
|
|
|
+ key: "set",
|
|
|
align: "center",
|
|
align: "center",
|
|
|
slot: "Set",
|
|
slot: "Set",
|
|
|
minWidth: 120,
|
|
minWidth: 120,
|
|
@@ -1219,6 +1367,358 @@ export default {
|
|
|
clientList: [],
|
|
clientList: [],
|
|
|
clientDetailList: [],
|
|
clientDetailList: [],
|
|
|
type: this.$route.query.type,
|
|
type: this.$route.query.type,
|
|
|
|
|
+ showForms: false,
|
|
|
|
|
+ formSetTableData: [
|
|
|
|
|
+ {
|
|
|
|
|
+ is_show: true,
|
|
|
|
|
+ key: "order_no",
|
|
|
|
|
+ value: "订单编号",
|
|
|
|
|
+ title: "订单编号",
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ is_show: true,
|
|
|
|
|
+ key: "residential_name",
|
|
|
|
|
+ value: "项目名称",
|
|
|
|
|
+ title: "项目名称",
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ is_show: true,
|
|
|
|
|
+ key: "custom_id",
|
|
|
|
|
+ value: "客户姓名",
|
|
|
|
|
+ title: "客户姓名",
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ is_show: true,
|
|
|
|
|
+ key: "warning_state",
|
|
|
|
|
+ value: "紧急程度",
|
|
|
|
|
+ title: "紧急程度",
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ is_show: true,
|
|
|
|
|
+ key: "front_money",
|
|
|
|
|
+ value: "项目定金",
|
|
|
|
|
+ title: "项目定金",
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ is_show: true,
|
|
|
|
|
+ key: "custom_detail_id",
|
|
|
|
|
+ value: "详细地址",
|
|
|
|
|
+ title: "详细地址",
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ is_show: true,
|
|
|
|
|
+ key: "custom_detail_id",
|
|
|
|
|
+ value: "手机号",
|
|
|
|
|
+ title: "手机号",
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ is_show: true,
|
|
|
|
|
+ key: "start_time",
|
|
|
|
|
+ value: "开始日期",
|
|
|
|
|
+ title: "开始日期",
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ is_show: true,
|
|
|
|
|
+ key: "end_time",
|
|
|
|
|
+ value: "结束日期",
|
|
|
|
|
+ title: "结束日期",
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ is_show: true,
|
|
|
|
|
+ key: "salesman",
|
|
|
|
|
+ value: "业务员",
|
|
|
|
|
+ title: "业务员",
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ is_show: true,
|
|
|
|
|
+ key: "remark",
|
|
|
|
|
+ value: "备注",
|
|
|
|
|
+ title: "备注",
|
|
|
|
|
+ },
|
|
|
|
|
+ ],
|
|
|
|
|
+ areaSetTableData: [
|
|
|
|
|
+ {
|
|
|
|
|
+ is_show: true,
|
|
|
|
|
+ key: "num",
|
|
|
|
|
+ value: "区域编码",
|
|
|
|
|
+ title: "区域编码",
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ is_show: true,
|
|
|
|
|
+ key: "title",
|
|
|
|
|
+ value: "区域名称",
|
|
|
|
|
+ title: "区域名称",
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ is_show: true,
|
|
|
|
|
+ key: "unit",
|
|
|
|
|
+ value: "单位",
|
|
|
|
|
+ title: "单位",
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ is_show: true,
|
|
|
|
|
+ key: "quantity",
|
|
|
|
|
+ value: "工程量",
|
|
|
|
|
+ title: "工程量",
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ is_show: true,
|
|
|
|
|
+ key: "house_type",
|
|
|
|
|
+ value: "户型",
|
|
|
|
|
+ title: "户型",
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ is_show: true,
|
|
|
|
|
+ key: "remark",
|
|
|
|
|
+ value: "备注",
|
|
|
|
|
+ title: "备注",
|
|
|
|
|
+ },
|
|
|
|
|
+ ],
|
|
|
|
|
+ productSetTableData: [
|
|
|
|
|
+ {
|
|
|
|
|
+ is_show: true,
|
|
|
|
|
+ key: "index",
|
|
|
|
|
+ value: "序号",
|
|
|
|
|
+ title: "序号",
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ is_show: true,
|
|
|
|
|
+ key: "title",
|
|
|
|
|
+ value: "产品名称",
|
|
|
|
|
+ title: "产品名称",
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ is_show: true,
|
|
|
|
|
+ key: "num",
|
|
|
|
|
+ value: "数量",
|
|
|
|
|
+ title: "数量",
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ is_show: true,
|
|
|
|
|
+ key: "price",
|
|
|
|
|
+ value: "价格",
|
|
|
|
|
+ title: "价格",
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ is_show: true,
|
|
|
|
|
+ key: "measure",
|
|
|
|
|
+ value: "规格",
|
|
|
|
|
+ title: "规格",
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ is_show: true,
|
|
|
|
|
+ key: "process_property",
|
|
|
|
|
+ value: "工艺属性",
|
|
|
|
|
+ title: "工艺属性",
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ is_show: true,
|
|
|
|
|
+ key: "url",
|
|
|
|
|
+ value: "图纸",
|
|
|
|
|
+ title: "图纸",
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ is_show: true,
|
|
|
|
|
+ key: "left_right_mode",
|
|
|
|
|
+ value: "左右式",
|
|
|
|
|
+ title: "左右式",
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ is_show: true,
|
|
|
|
|
+ key: "url_number",
|
|
|
|
|
+ value: "图号",
|
|
|
|
|
+ title: "图号",
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ is_show: true,
|
|
|
|
|
+ key: "remark",
|
|
|
|
|
+ value: "备注",
|
|
|
|
|
+ title: "备注",
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ is_show: true,
|
|
|
|
|
+ key: "set",
|
|
|
|
|
+ value: "操作",
|
|
|
|
|
+ title: "操作",
|
|
|
|
|
+ },
|
|
|
|
|
+ ],
|
|
|
|
|
+ formSetTableColumns: [
|
|
|
|
|
+ {
|
|
|
|
|
+ title: "是否展示",
|
|
|
|
|
+ align: "center",
|
|
|
|
|
+ key: "is_show",
|
|
|
|
|
+ minWidth: 120,
|
|
|
|
|
+ render: (h, params) => {
|
|
|
|
|
+ const { index } = params;
|
|
|
|
|
+ const currentRow = JSON.parse(
|
|
|
|
|
+ JSON.stringify(this.post_formSetTableData[index])
|
|
|
|
|
+ );
|
|
|
|
|
+ return h("Checkbox", {
|
|
|
|
|
+ props: {
|
|
|
|
|
+ value: currentRow.is_show,
|
|
|
|
|
+ // disabled:
|
|
|
|
|
+ // currentRow.key == "fax_price" ||
|
|
|
|
|
+ // currentRow.key == "remark",
|
|
|
|
|
+ },
|
|
|
|
|
+ on: {
|
|
|
|
|
+ "on-change": (e) => {
|
|
|
|
|
+ currentRow.is_show = e;
|
|
|
|
|
+ this.post_formSetTableData.splice(index, 1, currentRow);
|
|
|
|
|
+ },
|
|
|
|
|
+ },
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ title: "字段名",
|
|
|
|
|
+ align: "center",
|
|
|
|
|
+ key: "value",
|
|
|
|
|
+ minWidth: 180,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ title: "展示名称",
|
|
|
|
|
+ align: "center",
|
|
|
|
|
+ key: "title",
|
|
|
|
|
+ minWidth: 180,
|
|
|
|
|
+ render: (h, params) => {
|
|
|
|
|
+ const { index } = params;
|
|
|
|
|
+ const currentRow = JSON.parse(
|
|
|
|
|
+ JSON.stringify(this.post_formSetTableData[index])
|
|
|
|
|
+ );
|
|
|
|
|
+ return h("Input", {
|
|
|
|
|
+ props: {
|
|
|
|
|
+ value: currentRow.title,
|
|
|
|
|
+ type: "text",
|
|
|
|
|
+ },
|
|
|
|
|
+ on: {
|
|
|
|
|
+ "on-change": (e) => {
|
|
|
|
|
+ currentRow.title = e.target.value;
|
|
|
|
|
+ this.post_formSetTableData.splice(index, 1, currentRow);
|
|
|
|
|
+ },
|
|
|
|
|
+ },
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ },
|
|
|
|
|
+ ],
|
|
|
|
|
+ areaSetTableColumns: [
|
|
|
|
|
+ {
|
|
|
|
|
+ title: "是否展示",
|
|
|
|
|
+ align: "center",
|
|
|
|
|
+ key: "is_show",
|
|
|
|
|
+ minWidth: 120,
|
|
|
|
|
+ render: (h, params) => {
|
|
|
|
|
+ const { index } = params;
|
|
|
|
|
+ const currentRow = JSON.parse(
|
|
|
|
|
+ JSON.stringify(this.post_areaSetTableData[index])
|
|
|
|
|
+ );
|
|
|
|
|
+ return h("Checkbox", {
|
|
|
|
|
+ props: {
|
|
|
|
|
+ value: currentRow.is_show,
|
|
|
|
|
+ // disabled:
|
|
|
|
|
+ // currentRow.key == "fax_price" ||
|
|
|
|
|
+ // currentRow.key == "remark",
|
|
|
|
|
+ },
|
|
|
|
|
+ on: {
|
|
|
|
|
+ "on-change": (e) => {
|
|
|
|
|
+ currentRow.is_show = e;
|
|
|
|
|
+ this.post_areaSetTableData.splice(index, 1, currentRow);
|
|
|
|
|
+ },
|
|
|
|
|
+ },
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ title: "字段名",
|
|
|
|
|
+ align: "center",
|
|
|
|
|
+ key: "value",
|
|
|
|
|
+ minWidth: 180,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ title: "展示名称",
|
|
|
|
|
+ align: "center",
|
|
|
|
|
+ key: "title",
|
|
|
|
|
+ minWidth: 180,
|
|
|
|
|
+ render: (h, params) => {
|
|
|
|
|
+ const { index } = params;
|
|
|
|
|
+ const currentRow = JSON.parse(
|
|
|
|
|
+ JSON.stringify(this.post_areaSetTableData[index])
|
|
|
|
|
+ );
|
|
|
|
|
+ return h("Input", {
|
|
|
|
|
+ props: {
|
|
|
|
|
+ value: currentRow.title,
|
|
|
|
|
+ type: "text",
|
|
|
|
|
+ },
|
|
|
|
|
+ on: {
|
|
|
|
|
+ "on-change": (e) => {
|
|
|
|
|
+ currentRow.title = e.target.value;
|
|
|
|
|
+ this.post_areaSetTableData.splice(index, 1, currentRow);
|
|
|
|
|
+ },
|
|
|
|
|
+ },
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ },
|
|
|
|
|
+ ],
|
|
|
|
|
+ productSetTableColumns: [
|
|
|
|
|
+ {
|
|
|
|
|
+ title: "是否展示",
|
|
|
|
|
+ align: "center",
|
|
|
|
|
+ key: "is_show",
|
|
|
|
|
+ minWidth: 120,
|
|
|
|
|
+ render: (h, params) => {
|
|
|
|
|
+ const { index } = params;
|
|
|
|
|
+ const currentRow = JSON.parse(
|
|
|
|
|
+ JSON.stringify(this.post_productSetTableData[index])
|
|
|
|
|
+ );
|
|
|
|
|
+ return h("Checkbox", {
|
|
|
|
|
+ props: {
|
|
|
|
|
+ value: currentRow.is_show,
|
|
|
|
|
+ // disabled:
|
|
|
|
|
+ // currentRow.key == "fax_price" ||
|
|
|
|
|
+ // currentRow.key == "remark",
|
|
|
|
|
+ },
|
|
|
|
|
+ on: {
|
|
|
|
|
+ "on-change": (e) => {
|
|
|
|
|
+ currentRow.is_show = e;
|
|
|
|
|
+ this.post_productSetTableData.splice(index, 1, currentRow);
|
|
|
|
|
+ },
|
|
|
|
|
+ },
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ title: "字段名",
|
|
|
|
|
+ align: "center",
|
|
|
|
|
+ key: "value",
|
|
|
|
|
+ minWidth: 180,
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ title: "展示名称",
|
|
|
|
|
+ align: "center",
|
|
|
|
|
+ key: "title",
|
|
|
|
|
+ minWidth: 180,
|
|
|
|
|
+ render: (h, params) => {
|
|
|
|
|
+ const { index } = params;
|
|
|
|
|
+ const currentRow = JSON.parse(
|
|
|
|
|
+ JSON.stringify(this.post_productSetTableData[index])
|
|
|
|
|
+ );
|
|
|
|
|
+ return h("Input", {
|
|
|
|
|
+ props: {
|
|
|
|
|
+ value: currentRow.title,
|
|
|
|
|
+ type: "text",
|
|
|
|
|
+ },
|
|
|
|
|
+ on: {
|
|
|
|
|
+ "on-change": (e) => {
|
|
|
|
|
+ currentRow.title = e.target.value;
|
|
|
|
|
+ this.post_productSetTableData.splice(index, 1, currentRow);
|
|
|
|
|
+ },
|
|
|
|
|
+ },
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ },
|
|
|
|
|
+ ],
|
|
|
|
|
+ post_formSetTableData: [],
|
|
|
|
|
+ post_areaSetTableData: [],
|
|
|
|
|
+ post_productSetTableData: [],
|
|
|
};
|
|
};
|
|
|
},
|
|
},
|
|
|
// 生命周期 - 创建完成(可以访问当前this实例)
|
|
// 生命周期 - 创建完成(可以访问当前this实例)
|
|
@@ -1240,6 +1740,7 @@ export default {
|
|
|
this.axios.get("/api/custom_list").then((res) => {
|
|
this.axios.get("/api/custom_list").then((res) => {
|
|
|
this.clientList = res.data.data;
|
|
this.clientList = res.data.data;
|
|
|
});
|
|
});
|
|
|
|
|
+ this.get_forms();
|
|
|
},
|
|
},
|
|
|
// 生命周期 - 挂载完成(可以访问DOM元素)
|
|
// 生命周期 - 挂载完成(可以访问DOM元素)
|
|
|
mounted() {
|
|
mounted() {
|
|
@@ -1286,9 +1787,7 @@ export default {
|
|
|
},
|
|
},
|
|
|
}).then((res) => {
|
|
}).then((res) => {
|
|
|
this.formData = res.data;
|
|
this.formData = res.data;
|
|
|
- // console.log('supTableData :>> ', this.supTableData);
|
|
|
|
|
this.supTableData = res.data.ext;
|
|
this.supTableData = res.data.ext;
|
|
|
- // console.log('supTableData :>> ', this.supTableData);
|
|
|
|
|
if (this.formData.list.length == 0) {
|
|
if (this.formData.list.length == 0) {
|
|
|
this.formData.list.push({
|
|
this.formData.list.push({
|
|
|
areaIndex: 1,
|
|
areaIndex: 1,
|
|
@@ -1511,11 +2010,14 @@ export default {
|
|
|
},
|
|
},
|
|
|
postData() {
|
|
postData() {
|
|
|
this.formData.list.map((list) => {
|
|
this.formData.list.map((list) => {
|
|
|
- list.product.map((product) => {
|
|
|
|
|
- product.special.map((value) => {
|
|
|
|
|
- value.value = product[value.key];
|
|
|
|
|
|
|
+ list.product &&
|
|
|
|
|
+ list.product.length > 0 &&
|
|
|
|
|
+ list.product.map((product) => {
|
|
|
|
|
+ product.special &&
|
|
|
|
|
+ product.special.map((value) => {
|
|
|
|
|
+ value.value = product[value.key];
|
|
|
|
|
+ });
|
|
|
});
|
|
});
|
|
|
- });
|
|
|
|
|
});
|
|
});
|
|
|
//1新增 2编辑
|
|
//1新增 2编辑
|
|
|
let ip;
|
|
let ip;
|
|
@@ -1650,8 +2152,16 @@ export default {
|
|
|
this.tempPDTList.splice(index + 1, 0, temp);
|
|
this.tempPDTList.splice(index + 1, 0, temp);
|
|
|
},
|
|
},
|
|
|
//新增产品添加
|
|
//新增产品添加
|
|
|
- handleAddPDTAdd(index) {
|
|
|
|
|
- this.tempPDTList.splice(index + 1, 0, { addPDTProcessAttrList: [] });
|
|
|
|
|
|
|
+ handleAddPDTAdd(index, row) {
|
|
|
|
|
+ this.tempPDTList.splice(index + 1, 0, {
|
|
|
|
|
+ addPDTProcessAttrList: [],
|
|
|
|
|
+ measure: "",
|
|
|
|
|
+ measures: [],
|
|
|
|
|
+ process_property: "",
|
|
|
|
|
+ url: [],
|
|
|
|
|
+ tempPDTTypeList: [],
|
|
|
|
|
+ process_properties: [],
|
|
|
|
|
+ });
|
|
|
},
|
|
},
|
|
|
//新增产品删除
|
|
//新增产品删除
|
|
|
handleAddPDTDele(index) {
|
|
handleAddPDTDele(index) {
|
|
@@ -1668,17 +2178,23 @@ export default {
|
|
|
0,
|
|
0,
|
|
|
element.process_property.length - 1
|
|
element.process_property.length - 1
|
|
|
);
|
|
);
|
|
|
- element.process_properties = element.process_properties.substring(
|
|
|
|
|
- 0,
|
|
|
|
|
- element.process_properties.length - 1
|
|
|
|
|
- );
|
|
|
|
|
-
|
|
|
|
|
- element.tempMeasureList.forEach((el) => {
|
|
|
|
|
- element[el.e_title] &&
|
|
|
|
|
- (element.measure += `${el.e_title ? el.e_title : 0}${
|
|
|
|
|
- element[el.e_title]
|
|
|
|
|
- }*`);
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ if (
|
|
|
|
|
+ element.process_properties &&
|
|
|
|
|
+ element.process_properties.length > 0
|
|
|
|
|
+ ) {
|
|
|
|
|
+ element.process_properties = element.process_properties.substring(
|
|
|
|
|
+ 0,
|
|
|
|
|
+ element.process_properties.length - 1
|
|
|
|
|
+ );
|
|
|
|
|
+ }
|
|
|
|
|
+ element.tempMeasureList &&
|
|
|
|
|
+ element.tempMeasureList.length > 0 &&
|
|
|
|
|
+ element.tempMeasureList.forEach((el) => {
|
|
|
|
|
+ element[el.e_title] &&
|
|
|
|
|
+ (element.measure += `${el.e_title ? el.e_title : 0}${
|
|
|
|
|
+ element[el.e_title]
|
|
|
|
|
+ }*`);
|
|
|
|
|
+ });
|
|
|
element.measure = element.measure.substring(
|
|
element.measure = element.measure.substring(
|
|
|
0,
|
|
0,
|
|
|
element.measure.length - 1
|
|
element.measure.length - 1
|
|
@@ -1715,6 +2231,69 @@ export default {
|
|
|
this.showPDTModal = false;
|
|
this.showPDTModal = false;
|
|
|
});
|
|
});
|
|
|
},
|
|
},
|
|
|
|
|
+ get_forms() {
|
|
|
|
|
+ this.axios
|
|
|
|
|
+ .post("/api/update/get_table", { id: "ContractList_edit" })
|
|
|
|
|
+ .then((res) => {
|
|
|
|
|
+ if (Array.isArray(res.data)) {
|
|
|
|
|
+ this.post_formSetTableData = JSON.parse(
|
|
|
|
|
+ JSON.stringify(this.formSetTableData)
|
|
|
|
|
+ );
|
|
|
|
|
+ this.post_areaSetTableData = JSON.parse(
|
|
|
|
|
+ JSON.stringify(this.areaSetTableData)
|
|
|
|
|
+ );
|
|
|
|
|
+ this.post_productSetTableData = JSON.parse(
|
|
|
|
|
+ JSON.stringify(this.productSetTableData)
|
|
|
|
|
+ );
|
|
|
|
|
+ } else {
|
|
|
|
|
+ if (res.data.table.formSet && res.data.table.formSet.length > 0) {
|
|
|
|
|
+ this.formSetTableData = JSON.parse(
|
|
|
|
|
+ JSON.stringify(res.data.table.formSet)
|
|
|
|
|
+ );
|
|
|
|
|
+ this.post_formSetTableData = JSON.parse(
|
|
|
|
|
+ JSON.stringify(res.data.table.formSet)
|
|
|
|
|
+ );
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.post_formSetTableData = JSON.parse(
|
|
|
|
|
+ JSON.stringify(this.formSetTableData)
|
|
|
|
|
+ );
|
|
|
|
|
+ }
|
|
|
|
|
+ if (res.data.table.areaSet && res.data.table.areaSet.length > 0) {
|
|
|
|
|
+ this.areaSetTableData = JSON.parse(
|
|
|
|
|
+ JSON.stringify(res.data.table.areaSet)
|
|
|
|
|
+ );
|
|
|
|
|
+ this.post_areaSetTableData = JSON.parse(
|
|
|
|
|
+ JSON.stringify(res.data.table.areaSet)
|
|
|
|
|
+ );
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.post_areaSetTableData = JSON.parse(
|
|
|
|
|
+ JSON.stringify(this.areaSetTableData)
|
|
|
|
|
+ );
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ postForms(n) {
|
|
|
|
|
+ this.post_formSetTableData.forEach((element, index) => {
|
|
|
|
|
+ element.sort = index;
|
|
|
|
|
+ });
|
|
|
|
|
+ this.axios({
|
|
|
|
|
+ method: "post",
|
|
|
|
|
+ url: "/api/update/table",
|
|
|
|
|
+ data: {
|
|
|
|
|
+ id: "ContractList_edit",
|
|
|
|
|
+ result: {
|
|
|
|
|
+ formSet: this.post_formSetTableData,
|
|
|
|
|
+ areaSet: this.post_areaSetTableData,
|
|
|
|
|
+ },
|
|
|
|
|
+ },
|
|
|
|
|
+ }).then((res) => {
|
|
|
|
|
+ if (res.code == 200) {
|
|
|
|
|
+ this.$Message.success(res.msg);
|
|
|
|
|
+ this.get_forms();
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
// 编辑产品→确认
|
|
// 编辑产品→确认
|
|
|
handlePDTEditConfirm() {
|
|
handlePDTEditConfirm() {
|
|
|
this.PDTEdit.process_property = "";
|
|
this.PDTEdit.process_property = "";
|
|
@@ -2217,6 +2796,9 @@ export default {
|
|
|
position: relative;
|
|
position: relative;
|
|
|
border-bottom: 1px solid #e8eaec;
|
|
border-bottom: 1px solid #e8eaec;
|
|
|
margin-bottom: 30px;
|
|
margin-bottom: 30px;
|
|
|
|
|
+ /deep/ .ivu-form {
|
|
|
|
|
+ padding-bottom: 30px;
|
|
|
|
|
+ }
|
|
|
/deep/ .ivu-form-item {
|
|
/deep/ .ivu-form-item {
|
|
|
display: inline-block;
|
|
display: inline-block;
|
|
|
width: 300px;
|
|
width: 300px;
|