<template>
    <a-modal :title="title" :width="800" :visible="visible" :confirmLoading="confirmLoading" @ok="handleOk"
             @cancel="handleCancel" cancelText="关闭">
        <a-spin :spinning="confirmLoading">
            <a-form :form="form">
                <!-- <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="媒体类型">
                  <a-radio-group @change="onChange" v-model="model.mediaId">
                    <a-radio-button value="1">头条</a-radio-button>
                    <a-radio-button value="2">快手</a-radio-button>
                    <a-radio-button value="3">头条内广</a-radio-button>
                    <a-radio-button value="4">快手内广</a-radio-button>
                  </a-radio-group>
                </a-form-item> -->

                <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="项目名称">
                    <a-input placeholder="请输入项目名称" v-decorator="['projectName', validatorRules.projectName]"
                             disabled/>
                </a-form-item>

                <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="代理商名称">
                    <a-select optionFilterProp="children" showSearch :filterOption="filterOption"
                              v-decorator="['agentCode', validatorRules.agentCodeRule]">
                        <a-select-option :value="item.agentCode" v-for="(item, index) in agentCodeList" :key="index">
                            {{ item.agentName }}
                        </a-select-option>
                    </a-select>
                </a-form-item>
                <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="供应商"
                             v-if="model.mediaId == '2' || model.mediaId == '4'|| model.mediaId == '6'">
                    <a-select optionFilterProp="children" showSearch :filterOption="filterOption"
                              v-decorator="['supplierCode', validatorRules.supplierCode]">
                        <a-select-option :value="item.supplierCode" v-for="(item, index) of supplierList" :key="index">
                            {{ item.supplierName }}
                        </a-select-option>
                    </a-select>
                </a-form-item>

                <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="广告主名称">
                    <a-select @change="handleChange" optionFilterProp="children" showSearch :filterOption="filterOption"
                              v-decorator="['advertiserId', validatorRules.advertiserId]" placeholder="请选择广告主"
                              disabled>
                        <a-select-option :value="item.id" v-for="(item, index) of list" :key="index">
                            {{ item.name }}
                        </a-select-option>
                    </a-select>
                </a-form-item>
                <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="产品名称">
                    <a-select optionFilterProp="children" showSearch :filterOption="filterOption"
                              v-decorator="['productId']"
                              placeholder="请选择产品" disabled>
                        <a-select-option :value="item.id" v-for="(item, index) of listProduct" :key="index">
                            {{ item.productName }}
                        </a-select-option>
                    </a-select>
                </a-form-item>
                <a-form-item v-if="model.mediaId == '1' || model.mediaId == '3'|| model.mediaId == '5' || maxBidShow"
                             :labelCol="labelCol"
                             :wrapperCol="wrapperCol" label="最高出价">
                    <a-input placeholder="请输入最高出价" v-decorator="['maxBid', validatorRules.maxBid]"
                             addonAfter="元"/>
                </a-form-item>
                <!-- <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="最高转化出价">
                  <a-input placeholder="最高转化出价" v-decorator="['maxDeepCpaBid']" addonAfter="元" />
                </a-form-item> -->
                <div v-if="showDian">
                    <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="优化目标">
                        <a-select v-decorator="['bidType', { initialValue: 2 }]" mode="multiple"
                                  @change="bidTypeChange($event)" @deselect="bidtypedeselect">
                            <a-select-option :value="2">点击数</a-select-option>
                            <a-select-option :value="10">OCPM</a-select-option>
                            <a-select-option :value="6">OCPC</a-select-option>
                            <a-select-option :value="12">最大转化数</a-select-option>
                        </a-select>
                    </a-form-item>
                    <div v-if="Array.isArray(getFormFieldValue('bidType'))">
                        <a-form-item label="转化目标" :labelCol="labelCol" :wrapperCol="wrapperCol" v-show="
                getFormFieldValue('bidType').findIndex((item) => item == 10) > -1 ||
                getFormFieldValue('bidType').findIndex((item) => item == 6) > -1||
                getFormFieldValue('bidType').findIndex((item) => item == 12) > -1
              ">
                            <a-select v-model="model.ocpxActionType" @change="ocpxActionTypeChange($event)"
                                      @deselect="ocpextiondeselect" mode="multiple">
                                <!-- <a-select-option :value="2">行为数</a-select-option> -->
                                <a-select-option :value="item.ocpxActionType" v-for="(item, index) in ocpxList"
                                                 :key="item.id">{{
                                        item.ocpxActionName
                                    }}
                                </a-select-option>
                            </a-select>
                        </a-form-item>

                        <div v-if="model.ocpxActionType">
                            <a-form-item v-show="model.ocpxActionType.length > 0" :labelCol="labelCol"
                                         :wrapperCol="wrapperCol"
                                         v-for="(item, index) in ocpxActionTypeArray" :key="index"
                                         :label="item.ocpxName+'最高出价'">
                                <a-input @input="maxValueInput"
                                         @keyup.native="item.maxValue = item.maxValue.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');"
                                         placeholder="请输入最高出价" v-model="item.maxValue" addonAfter="元"/>
                            </a-form-item>
                        </div>

                    </div>

                    <div v-if="Array.isArray(model.ocpxActionType)">
                        <a-form-item label="深度转化目标" :labelCol="labelCol" :wrapperCol="wrapperCol"
                                     v-show="model.ocpxActionType.length > 0">
                            <!-- v-model="model.ocpxActionType" -->
                            <a-select @change="depthChange($event)" @deselect="depthChangedeselect"
                                      v-model="model.deepConversionType" mode="multiple">
                                <a-select-option :value="item.deepCode" v-for="(item, index) in depthList" :key="index">
                                    {{
                                        item.deepName
                                    }}
                                </a-select-option>
                            </a-select>
                        </a-form-item>
                    </div>

                    <div v-if="model.deepConversionType">
                        <a-form-item v-show="model.deepConversionType.length >0" :labelCol="labelCol"
                                     :wrapperCol="wrapperCol"
                                     v-for="(item, index) in depthArray" :key="index" :label="item.deepName+'最高出价'">
                            <a-input placeholder="请输入最高出价" @input="deepInput"
                                     @keyup.native="item.deepValue = item.deepValue.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');"
                                     v-model="item.deepValue" addonAfter="元"/>
                        </a-form-item>
                    </div>


                </div>
                <div v-else>
                    <div v-show="model.mediaId == '1' || model.mediaId == '3'|| model.mediaId == '5'">
                        <div v-if="model.mediaId == '1' || model.mediaId == '3'|| model.mediaId == '5'">
                            <a-form-item label="转化目标" :labelCol="labelCol" :wrapperCol="wrapperCol">
                                <!-- v-model="model.ocpxActionType" -->
                                <a-select @change="ocpxActionToutiaoChange($event)" @deselect="ocpextiondeselect"
                                          v-decorator="[
                    'ocpxActionType',
                    { rules: [{ required: true, message: '请选择转化目标' }] },
                  ]" mode="multiple">
                                    <!-- <a-select-option :value="2">行为数</a-select-option> -->
                                    <a-select-option :value="item.ocpxActionType"
                                                     v-for="(item, index) in ocpxList.conversionType" :key="index">{{
                                            item.ocpxActionName
                                        }}
                                    </a-select-option>
                                </a-select>
                            </a-form-item>

                            <div v-if="Array.isArray(getFormFieldValue('ocpxActionType'))">
                                <a-form-item v-if="getFormFieldValue('ocpxActionType').length > 0" :labelCol="labelCol"
                                             :wrapperCol="wrapperCol" v-for="(item, index) in ocpxActionTypeArray"
                                             :key="index"
                                             :label="item.ocpxName+'最高出价'">
                                    <a-input @input="maxValueInput"
                                             @keyup.native="item.maxValue = item.maxValue.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');"
                                             placeholder="请输入最高出价" v-model="item.maxValue" addonAfter="元"/>
                                </a-form-item>
                            </div>

                            <div v-if="Array.isArray(getFormFieldValue('ocpxActionType'))">
                                <a-form-item label="深度转化目标" :labelCol="labelCol" :wrapperCol="wrapperCol">
                                    <!-- v-model="model.ocpxActionType" -->
                                    <a-select @change="depthToutiaoChange($event)" @deselect="depthChangedeselect"
                                              v-model="model.deepConversionType" mode="multiple">
                                        <a-select-option :value="item.ocpxActionType"
                                                         v-for="(item, index) in ocpxList.deepConversionType"
                                                         :key="index">{{
                                                item.ocpxActionName
                                            }}
                                        </a-select-option>
                                    </a-select>
                                </a-form-item>
                            </div>
                            <div>
                                <a-form-item v-show="model.deepConversionType.length >0" :labelCol="labelCol"
                                             :wrapperCol="wrapperCol"
                                             v-for="(item, index) in depthArray" :key="index"
                                             :label="item.deepName+'最高出价'">
                                    <a-input placeholder="请输入最高出价" @input="deepInput"
                                             @keyup.native="item.deepValue = item.deepValue.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');"
                                             v-model="item.deepValue" addonAfter="元"/>
                                </a-form-item>
                            </div>

                        </div>

                    </div>
                </div>
                </div>
                <!-- <div v-else>
                  <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="优化目标">
                    <a-select v-decorator="['bidType', { initialValue: 2 }]" mode="multiple">
                      <a-select-option :value="2">点击数</a-select-option>
                      <a-select-option :value="10">OCPM</a-select-option>
                      <a-select-option :value="6">OCPC</a-select-option>
                    </a-select>
                  </a-form-item>
                  <div v-if="Array.isArray(getFormFieldValue('bidType'))">
                    <a-form-item
                      label="转化目标"
                      :labelCol="labelCol"
                      :wrapperCol="wrapperCol"
                      v-show="
                        getFormFieldValue('bidType').findIndex((item) => item == 10) > -1 ||
                        getFormFieldValue('bidType').findIndex((item) => item == 6) > -1
                      "
                    >
                      <a-select v-model="model.ocpxActionType" mode="multiple">
                        <a-select-option value="AD_CONVERT_TYPE_ACTIVE_REGISTER">注册</a-select-option>
                        <a-select-option value="AD_CONVERT_TYPE_NEXT_DAY_OPEN">次留</a-select-option>
                        <a-select-option value="AD_CONVERT_TYPE_LT_ROI">广告变现ROI</a-select-option>
                        <a-select-option value="AD_CONVERT_TYPE_PURCHASE_ROI">付费ROI</a-select-option>
                        <a-select-option value="AD_CONVERT_TYPE_GAME_ADDICTION">关键行为</a-select-option>
                      </a-select>
                    </a-form-item>
                  </div>
                </div> -->
                <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="销售">
                    <a-select showSearch optionFilterProp="children" style="width: 100%" :filterOption="filterOption"
                              v-decorator="['saleId', { rules: [{ required: true, message: '请选择销售' }] }]">
                        <a-select-option v-for="appModel in optionsElse" :key="appModel.userId + new Date().getTime()"
                                         :value="appModel.userId">{{ appModel.realName }}&#12288;&#12288;{{
                                appModel.roleName
                            }}
                        </a-select-option>
                    </a-select>
                </a-form-item>
                <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="运营负责人">
                    <a-select showSearch optionFilterProp="children" style="width: 100%" @focus="handleFocus"
                              @blur="handleBlur"
                              :filterOption="filterOption"
                              v-decorator="['responsibleId', { rules: [{ required: true, message: '请选择运营负责人' }] }]">
                        <a-select-option v-for="appModel in options" :key="appModel.userId + new Date().getTime()"
                                         :value="appModel.userId">{{ appModel.realName }}&#12288;&#12288;{{
                                appModel.roleName
                            }}
                        </a-select-option>
                    </a-select>
                </a-form-item>
                <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="设计负责人">
                    <a-select showSearch optionFilterProp="children" style="width: 100%" @focus="handleFocus"
                              @blur="handleBlur"
                              :filterOption="filterOption"
                              v-decorator="['designResponsibleId', { rules: [{ required: true, message: '请选择设计负责人' }] }]">
                        <a-select-option v-for="appModel in options" :key="appModel.userId + new Date().getTime()"
                                         :value="appModel.userId">{{ appModel.realName }}&#12288;&#12288;{{
                                appModel.roleName
                            }}
                        </a-select-option>
                    </a-select>
                </a-form-item>
            </a-form>
        </a-spin>
    </a-modal>
</template>

<script>
import {httpAction, getAction} from '@/api/manage'
import pick from 'lodash.pick'
import moment from 'moment'
import JSelectDepart from '@/components/jeecgbiz/JSelectDepart'
import JSelectUserByDep from '@/components/jeecgbiz/JSelectUserByDep'
import JTreeSelect from '@/components/jeecg/JTreeSelect'
import {mapGetters} from 'vuex'

export default {
    name: 'ProjectModal',
    components: {
        JSelectUserByDep,
        JSelectDepart,
        JTreeSelect,
    },
    data() {
        return {
            ocpxList: [],
            title: '操作',
            visible: false,
            model: {},
            labelCol: {
                xs: {span: 24},
                sm: {span: 5},
            },
            wrapperCol: {
                xs: {span: 24},
                sm: {span: 16},
            },
            industryId: '',
            confirmLoading: false,
            form: this.$form.createForm(this),
            validatorRules: {
                projectName: {rules: [{required: true, message: '请输入项目名称!'}]},
                industryId: {rules: [{required: true, message: '请选择行业！'}]},
                advertiserId: {rules: [{required: true, message: '请选择广告主!'}]},
                productId: {rules: [{required: true, message: '请选择产品!'}]},
                supplierCode: {rules: [{required: true, message: '请选择供应商!'}], initialValue: 'kuaishou_001'},
                agentCodeRule: {rules: [{required: true, message: '请选择代理商!'}]},
                responsibleName: {rules: [{required: true, message: '请选择负责人!'}]},
                maxBid: {rules: [{required: false, message: '请输入最高出价!'}]},
            },
            url: {
                add: '/ctop/project/add',
                edit: '/ctop/project/edit',
                getList: '/ctop/advertiser/list',
            },
            list: [],
            listProduct: [],
            resId: '',
            shejiId: '',
            options: [],
            optionsElse: [],
            supplierList: [],
            agentCodeList: [],
            editAll: false,
            showDian: false,
            depthList: [],
            ocpxActionTypeArray: [],
            deepCode: [],
            maxBidShow: false,
        }
    },
    created() {
        this.getSupplierList()
        this.getAgentCodeList()
    },
    methods: {
        deepInput() {
            this.$forceUpdate()
        },
        maxValueInput() {
            this.$forceUpdate()
        },
        bidTypeChange(item) {
            console.log(item);
            // this.maxBidShow =   item.findIndex((item) => item == 2)
            let odx = item.indexOf(2)
            if (item.length == 1 && odx > -1) {
                this.maxBidShow = true;
                this.model.deepConversionType = [];
                this.depthArray = [];
                this.ocpxActionTypeArray = [];
            } else if (odx > -1) {
                this.maxBidShow = true;
            }
            if (item.length == 0) {
                this.model.deepConversionType = [];
                this.model.ocpxActionType = [];
                this.depthArray = [];
                this.ocpxActionTypeArray = [];
                this.maxBidShow = false;
            }
        },
        bidtypedeselect(item) {
            if (item == 2) {
                this.maxBidShow = false

            }
        },
        ocpxActionToutiaoChange(item) {
            item.forEach(element => {
                this.ocpxList.conversionType.find((par) => {
                    if (par.ocpxActionType == element) {

                        this.ocpxActionTypeArray.push({
                            ocpxCode: par.ocpxActionType,
                            ocpxName: par.ocpxActionName,
                            maxValue: undefined
                        });
                    }

                })
            });
            this.deWeight();
            if (item.length == 0) {
                this.model.deepConversionType = [];
            }
        },
        ocpxActionTypeChange(item) {
            item.forEach(element => {
                this.ocpxList.find((par) => {
                    if (par.ocpxActionType == element) {

                        this.ocpxActionTypeArray.push({
                            ocpxCode: par.ocpxActionType,
                            ocpxName: par.ocpxActionName,
                            maxValue: par.maxValue
                        });
                    }

                })
            });
            this.deWeight();
            if (item.length == 0) {
                this.model.deepConversionType = [];
            }

        },
        deWeight() {
            for (var i = 0; i < this.ocpxActionTypeArray.length - 1; i++) {
                for (var j = i + 1; j < this.ocpxActionTypeArray.length; j++) {
                    if (this.ocpxActionTypeArray[i].ocpxName == this.ocpxActionTypeArray[j].ocpxName) {
                        this.ocpxActionTypeArray.splice(j, 1);
                        //因为数组长度减小1，所以直接 j++ 会漏掉一个元素，所以要 j--
                        j--;
                    }
                }
            }
            // return this.ocpxActionTypeArray;

        },
        ocpextiondeselect(item) {
            this.ocpxActionTypeArray.forEach((element, index) => {
                if (element.ocpxCode == item) {
                    this.ocpxActionTypeArray.splice(index, 1)
                }
            });
        },


        depthChange(event) {
            // this.depthArray = [];
            event.forEach(element => {
                this.depthList.find((par) => {
                    if (par.deepCode == element) {
                        this.depthArray.push({
                            deepCode: par.deepCode,
                            deepName: par.deepName,
                            deepValue: par.deepValue
                        })
                    }

                })
            });
            this.duplicate();

        },
        depthToutiaoChange(event) {
            this.depthArray = []
            event.forEach(element => {
                this.ocpxList.deepConversionType.find((par) => {
                    if (par.ocpxActionType == element) {
                        this.depthArray.push({
                            deepCode: par.ocpxActionType,
                            deepName: par.ocpxActionName,
                            deepValue: undefined
                        })
                    }

                })
            });
        },
        duplicate() {
            for (var i = 0; i < this.depthArray.length - 1; i++) {
                for (var j = i + 1; j < this.depthArray.length; j++) {
                    if (this.depthArray[i].deepName == this.depthArray[j].deepName) {
                        this.depthArray.splice(j, 1);
                        //因为数组长度减小1，所以直接 j++ 会漏掉一个元素，所以要 j--
                        j--;
                    }
                }
            }
        },
        depthChangedeselect(item) {
            this.depthArray.forEach((element, index) => {
                if (element.deepCode == item) {
                    this.depthArray.splice(index, 1)
                }
            });
        },
        validateInputCode(rule, value, callback) {
            if (!value || value > 0) {
                callback()
            } else {
                callback('请输入大于0的最高报价!')
            }
        },
        ...mapGetters(['nickname', 'avatar', 'userInfo']),
        onChange(e) {
            console.log(`checked = ${e.target.value}`)
        },
        handleChange(value) {
            getAction('/ctop/product/list', {advertiserId: value, pageSize: 1000}).then((res) => {
                if (res.success) {
                    this.listProduct = res.result.records
                }
            })
        },
        handleBlur() {
        },
        handleFocus() {
        },
        filterOption(input, option) {
            return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
        },
        getList() {
            var params = {}
            params.userId = this.userInfo().id
            params.pageSize = 1000
            params.pageNo = 1
            getAction(this.url.getList, params)
                .then((res) => {
                    if (res.success) {
                        this.list = res.result.records
                    } else {
                        this.$message.warning(res.message)
                    }
                })
                .finally(() => {
                })
        },
        getAgentCodeList() {
            // /agent/agentConfig/list
            getAction('/agent/agentConfig/list').then((res) => {
                console.log(res)
                if (res.success) {
                    this.agentCodeList = res.result.records
                } else {
                    this.$message.warning(res.message)
                }
            })
        },
        getSupplierList() {
            var params = {}
            getAction('/ctop/supplierList/list', {pageNo: 1, pageSize: 100}).then((res) => {
                if (res.success) {
                    this.supplierList = res.result.records
                } else {
                    this.$message.warning(res.message)
                }
            })
        },
        add(item) {
            this.editAll = false
            this.edit({
                responsibleId: this.userInfo().id, //用户Id
                mediaId: '2',
                ...item,
            })
        },
        edit(record) {
            console.log(record)
            this.getSupplierList()
            this.getList()

            if (record.advertiserId) {
                this.editAll = true
                getAction('/ctop/product/list', {advertiserId: record.advertiserId, pageSize: 1000}).then((res) => {
                    if (res.success) {
                        this.listProduct = res.result.records
                    }
                })
            }
            // else if (this.request == '2,4') {
            //         params.type = 'kuaishou'
            //       }
            if (record.mediaId == '2' || record.mediaId == '4' || record.mediaId == '6') {
                var params = {...record}
                params.bidType = record.bidType == null || record.bidType == '' ? [] : JSON.parse(record.bidType)
                let odx = params.bidType.indexOf(2)
                if (odx > -1) {
                    this.maxBidShow = true;
                } else {
                    this.maxBidShow = false;
                }
                // params.bidType.findIndex(item => {
                //   if (item == 2) {
                //     this.maxBidShow = true;
                //   } else {
                //     this.maxBidShow = false;

                //   }
                // })
                // params.ocpxActionType =
                //   record.ocpxActionType == null || record.ocpxActionType == '' ? [] : JSON.parse(record.ocpxActionType)
                let newArray = [];
                newArray = record.ocpxActionType == null || record.ocpxActionType == '' || record.ocpxActionType == "[0]" ? [] : JSON.parse(record.ocpxActionType)
                params.ocpxActionType = [];
                newArray.forEach(element => {
                    params.ocpxActionType.push(element.ocpxCode)
                });
                this.ocpxActionTypeArray = newArray
                this.ocpxActionTypeArray.forEach(item => {
                    if (item.maxValue) {
                        item.maxValue = item.maxValue ? item.maxValue / 1000 : 0
                    }

                });

                let newArrayTwo = [];
                newArrayTwo = record.deepConversionType == null || record.deepConversionType == '' ? [] : JSON.parse(record.deepConversionType)
                params.deepConversionType = [];
                newArrayTwo.forEach(event => {
                    params.deepConversionType.push(event.deepCode)
                });
                let obj = {}
                newArrayTwo = newArrayTwo.reduce((preVal, curVal) => {
                    obj[curVal.deepCode] ? "" : obj[curVal.deepCode] = preVal.push(curVal)
                    return preVal
                }, [])
                console.log(params.deepConversionType);
                this.depthArray = newArrayTwo
                this.depthArray.forEach(item => {
                    if (item.deepValue) {
                        item.deepValue = item.deepValue ? item.deepValue / 1000 : 0
                    }


                });

                this.showDian = true

            } else {
                var {ocpxActionType, bidType, ...params} = record

                let newArray = [];
                newArray = record.ocpxActionType == null || record.ocpxActionType == '' || record.ocpxActionType == "[0]" ? [] : JSON.parse(record.ocpxActionType)
                params.ocpxActionType = [];
                newArray.forEach(element => {
                    params.ocpxActionType.push(element.ocpxCode)
                });
                this.ocpxActionTypeArray = newArray
                this.ocpxActionTypeArray.forEach(item => {
                    if (item.maxValue) {
                        item.maxValue = item.maxValue ? item.maxValue / 1000 : undefined
                    }

                });

                let newArrayTwo = [];
                newArrayTwo = record.deepConversionType == null || record.deepConversionType == '' ? [] : JSON.parse(record.deepConversionType)
                params.deepConversionType = [];
                newArrayTwo.forEach(event => {
                    params.deepConversionType.push(event.deepCode)
                });
                console.log(params.deepConversionType);
                this.depthArray = newArrayTwo
                this.depthArray.forEach(item => {
                    if (item.deepValue) {
                        item.deepValue = item.deepValue ? item.deepValue / 1000 : undefined
                    }


                });
                this.showDian = false
            }

            this.form.resetFields()
            this.model = Object.assign({}, params)
            this.model.maxBid = this.model.maxBid ? this.model.maxBid / 1000 : undefined
            this.model.maxDeepCpaBid = this.model.maxDeepCpaBid ? this.model.maxDeepCpaBid / 1000 : undefined
            // if (record.mediaId == '2' || record.mediaId == '4') {
            //   this.model.bidType = this.model.bidType == null ? [2] : JSON.parse(this.model.bidType)
            //   this.model.ocpxActionType = this.model.ocpxActionType == null ? [2] : JSON.parse(this.model.ocpxActionType)
            // }
            this.visible = true
            console.log(this.model)
            this.getOcpxList()
            this.$nextTick(() => {
                if (record.advertiserId) {
                    this.form.setFieldsValue(
                        pick(
                            this.model,
                            'projectName',
                            'advertiserId',
                            'productId',
                            'maxBid',
                            'maxDeepCpaBid',
                            'designResponsibleId',
                            'responsibleId',

                            'supplierCode',
                            // 'advertiserType',
                            'saleId',
                            'bidType',
                            'agentCode',
                            'ocpxActionType',
                            'deepConversionType',
                        )
                    )
                } else {
                    this.form.setFieldsValue(
                        pick(
                            this.model,
                            'projectName',
                            'advertiserId',
                            'maxBid',
                            'maxDeepCpaBid',
                            'designResponsibleId',
                            'responsibleId',
                            'supplierCode',
                            // 'advertiserType',
                            'saleId',
                            'bidType',
                            'ocpxActionType',
                            'deepConversionType',
                            'agentCode'
                        )
                    )
                }

                // this.resId = record.responsibleId
                // this.shejiId = record.designResponsibleId
                getAction('/sys/user/getAllUserListV1', '').then((res) => {
                    if (res.success) {
                        this.options = res.result
                    }
                })
                getAction('/sys/user/getAllSaleList', '').then((res) => {
                    if (res.success) {
                        this.optionsElse = res.result
                    }
                })
                //时间格式化
            })
        },
        close() {
            this.$emit('close')
            this.visible = false
        },
        handleOk() {
            const that = this
            var isEvery = '';
            var deepIsEvery = '';
            // 触发表单验证

            isEvery = this.ocpxActionTypeArray.every((item, i) => {
                return "maxValue" in item && item.maxValue != "" && item.maxValue * 1000 >= 0 && item.maxValue * 1000 <= 999999 * 1000
            })
            deepIsEvery = this.depthArray.every((event, i) => {
                return "deepValue" in event && event.deepValue != "" && event.deepValue * 1000 >= 0 && event.deepValue * 1000 <= 999999 * 1000
            })

            // let isEvery = this.ocpxActionTypeArray.every((item, i) => {
            //   return "maxValue" in item && item.maxValue != "" && item.maxValue * 1000 >= 0 && item.maxValue * 1000 <= 999999 * 1000
            // })
            // let deepIsEvery = this.depthArray.every((event, i) => {
            //   return "deepValue" in event && event.deepValue != "" && event.deepValue * 1000 >= 0 && event.deepValue * 1000 <= 999999 * 1000
            // })
            if (!isEvery || !deepIsEvery) {
                this.$message.warning('请输入0~999999之间的最高价')
            } else {
                this.form.validateFields((err, values) => {
                    if (!err) {
                        that.confirmLoading = true
                        let httpurl = ''
                        let method = ''
                        if (!this.model.id) {
                            httpurl += this.url.add
                            method = 'post'
                        } else {
                            httpurl += this.url.edit
                            method = 'put'
                        }
                        var data = values.advertiserId
                        let formData = Object.assign(this.model, values)
                        console.log(formData);
                        //   if(this.model.mediaId)
                        if (this.model.mediaId == 2 || this.model.mediaId == 4 || this.model.mediaId == 6) {
                            if (this.maxBidShow) {
                                if (formData.maxBid) {
                                    formData.maxBid = formData.maxBid * 1000
                                }
                            } else {
                                formData.maxBid = 0
                            }
                        } else {
                            formData.maxBid = formData.maxBid * 1000
                        }
                        // if (this.maxBidShow) {
                        //   if (formData.maxBid) {
                        //   formData.maxBid = formData.maxBid * 1000
                        // }
                        // }else{
                        //   formData.maxBid = 0
                        // }

                        if (formData.maxDeepCpaBid) {
                            formData.maxDeepCpaBid = formData.maxDeepCpaBid * 1000
                        }

                        //时间格式化
                        // formData.advertiserId = data.key
                        // formData.advertiserName = data.label
                        formData.responsibleId = values.responsibleId
                        formData.designResponsibleId = values.designResponsibleId
                        formData.userId = formData.userId ? formData.userId : that.userInfo().id
                        if (this.showDian) {
                            // formData.ocpxActionType =
                            //   formData.bidType == 2 ? JSON.stringify([0]) : JSON.stringify(formData.ocpxActionType)
                            formData.bidType = JSON.stringify(formData.bidType)
                        } else {

                            formData.bidType = '[]'

                        }
                        this.ocpxActionTypeArray.forEach(element => {
                            if (element.maxValue) {
                                element.maxValue = element.maxValue * 1000;

                            }

                        });
                        this.depthArray.forEach(element => {
                            if (element.deepValue) {
                                element.deepValue = element.deepValue * 1000;
                            }

                        });

                        formData.ocpxActionType = this.ocpxActionTypeArray;
                        formData.ocpxActionTypeArray = this.ocpxActionTypeArray;

                        formData.deepConversionType = this.depthArray;
                        formData.deepConversionTypeArray = this.depthArray;

                        httpAction(httpurl, formData, method)
                            .then((res) => {
                                if (res.success) {
                                    that.$message.success(res.message)
                                    that.$emit('ok')
                                    that.confirmLoading = false
                                } else {
                                    that.$message.warning(res.message)
                                }
                            })
                            .finally(() => {
                                that.confirmLoading = false
                                that.close()
                            })
                    }
                })

            }

        },
        handleCancel() {
            this.close()
        },
        getFormFieldValue(field) {
            return this.form.getFieldValue(field)
        },
        get(valueName, key) {
            this.resId = key
        },
        getOcpxList() {

            if (this.model.mediaId == '1' || this.model.mediaId == '3' || this.model.mediaId == '5') {
                this.getAction('/ocpx/kuaiShouOcpxActionTypeConfig/bytedanceList').then((res) => {
                    if (res.success) {
                        this.ocpxList = res.result;
                    }
                })
            } else {
                this.getAction('/ocpx/kuaiShouOcpxActionTypeConfig/list').then((res) => {
                    if (res.success) {
                        this.ocpxList = res.result;
                    }
                }),

                    this.getAction('/ocpx/kuaiShouOcpxActionTypeConfig/deepList').then((res) => {
                        if (res.success) {
                            this.depthList = res.result;
                            console.log(this.depthList )
                        }
                    })
            }

        },
    },
}
</script>

<style lang="less" scoped></style>