/* ******************* 德尔格 明细物料历史数据折扣带出提示 by youhong.ai ******************* */
$(() => {
    let type = {
        // 等于
        equalTo: (value, target) => value == target,
        // 不等于
        notEqual: (value, target) => value != target,
        // 大于
        greaterThan: (value, target) => +value > +target,
        // 小于
        lessThan: (value, target) => +value < +target
    }
    // 值类型
    let valueType = {
        // 固定值
        fixValue: 0,
        // 流程字段
        field: 1
    }
    let config = {
        // 主表,填main
        table: 'main',
        // 明细表,明细1为detail_1,明细2为detail_2
        detail: 'detail_1',
        redField: 'zk',
        // 条件集合
        conditions: [{
            // 所属表
            table: 'detail_1',
            // 字段
            field: 'wllx',
            // 对比值
            value: 0,
            // 值的类型
            valueType: valueType.fixValue,
            // 值字段所在表
            valueTable: '',
            // 条件类型
            type: type.equalTo
        }, {
            // 所属表
            table: 'detail_1',
            // 字段
            field: 'zkdc',
            // 对比值
            value: 'zk',
            // 值的类型
            valueType: valueType.field,
            // 值字段所在表
            valueTable: 'detail_1',
            // 条件类型
            type: type.notEqual
        }]
    }

    runJs()

    function runJs() {
        let detailAllRowIndexStr = WfForm.getDetailAllRowIndexStr(config.detail);
        let rowIndexArr = detailAllRowIndexStr.split(",");
        let flag = true
        rowIndexArr.forEach(rowIndex => {
            if (flag) {
                flag = isTrue(rowIndex)
            } else {
                isTrue(rowIndex)
            }
        })
        if (!flag) {
            WfForm.showConfirm("当前订单折扣不等于默认折扣");
        }
    }


    function isTrue(rowIndex) {
        let flag = true
        for (let i = 0; i < config.conditions.length; i++) {
            let item = config.conditions[i]
            let fieldId = WfForm.convertFieldNameToId(config, item.table)
            let fieldMark = `${fieldId}_${rowIndex}`
            let fieldValue = WfForm.getFieldValue(fieldMark)
            if (item.valueType == valueType.fixValue) {
                if (item.type(fieldValue, item.value)) {
                    continue
                }
                renderRed(`${WfForm.convertFieldNameToId(config.redField, config.detail)}_${rowIndex}`)
                flag = false
            }
            if (item.valueType == valueType.field) {
                if (item.type(fieldValue, WfForm.getFieldValue(item.value, item.valueTable))) {
                    continue
                }
                renderRed(`${WfForm.convertFieldNameToId(config.redField, config.detail)}_${rowIndex}`)
                flag = false
            }
        }
        return flag
    }

    function renderRed(fieldMark) {
        $(`#oTable0 .detail_odd_row.detail_data_row div[data-fieldmark='${fieldMark}'] .wf-form-input`).css({
            color: '#FFF',
            background: 'red',
        })
        $(`#oTable0 .detail_odd_row.detail_data_row div[data-fieldmark='${fieldMark}'] .wf-form-input input`).css({
            'border-color': 'red',
            background: 'red',
            color: '#FFF'
        })
    }
})

/* ******************* 德尔格 明细物料历史数据折扣带出提示 end ******************* */