const system = require("../../system");
const settings = require("../../../config/settings");
const uiconfig = system.getUiConfig2(settings.wxconfig.appId);
module.exports = (db, DataTypes) => {
    var base = require("../basemodel/orderproductbase")(db, DataTypes);
    //  //版权业务操作表
    //  this.db.models.ordercrproduct.belongsTo(this.db.models.company, { constraints: false, });//公司
    //  this.db.models.ordercrproduct.belongsTo(this.db.models.user, { as: 'createuser', constraints: false, });
    //  this.db.models.ordercrproduct.belongsTo(this.db.models.user, { as: 'updateuser', constraints: false, });

    // //继承的表引用用户信息user_id
    // code: DataTypes.STRING(100),----------暂时不用
    // name: DataTypes.STRING(500),----------暂时不用
    // sveItemCode: DataTypes.STRING(100),//项目操作码
    // sveItemName: DataTypes.STRING(100),//项目名称
    // mobilePic: DataTypes.STRING,//移动端产品图片
    // producttype_id: DataTypes.INTEGER,//产品小类Id 
    // serviceItemSnapshot: DataTypes.TEXT,//产品快照-serviceitem服务项目表-JSON
    // channelProfitRate: {//渠道利润分成比率(只分订单中毛利润总额的分成)
    //   type: DataTypes.DECIMAL(12, 2),
    //   defaultValue: 0,
    // },
    // sveItemRateConfig: {//产品费率
    //   type: DataTypes.DECIMAL(12, 2),
    //   defaultValue: 7.00,
    // },
    // sveDiscountsRateConfig: {//优惠税率
    //   type: DataTypes.DECIMAL(12, 2),
    //   defaultValue: 0,
    // },
    // opNotes: DataTypes.STRING(500),//操作备注
    // sourceTypeName: DataTypes.STRING(50),
    // sourceType: {//来源类型 "order": "订单","expensevoucher": "费用单","receiptvoucher": "收款单", "trademark": "商标单"
    //   type: DataTypes.ENUM,
    //   values: Object.keys(uiconfig.config.pdict.source_type),
    //   set: function (val) {
    //     this.setDataValue("sourceType", val);
    //     this.setDataValue("sourceTypeName", uiconfig.config.pdict.source_type[val]);
    //   }
    // },
    // sourceOrderNo: DataTypes.STRING(100),//来源单号

    return db.define("ordercrproduct", Object.assign({
        flowStatusName: DataTypes.STRING(50),
        flowStatus: {//流程状态：1: "创建订单", 2: "已付款",4: "待上传材料", 8: "待审核", 16: "审核不通过", 32: "待递交", 64: "部分递交异常",128: "已递交",256: "不予受理",512: "待邮寄材料",1024: "已完成"
            type: DataTypes.INTEGER,
            values: Object.keys(uiconfig.config.pdict.cr_flow_Status),
            set: function (val) {
                this.setDataValue("flowStatus", Number(val));
                this.setDataValue("flowStatusName", uiconfig.config.pdict.cr_flow_Status[val]);
            }
        },
        subType: {//提报类型:"platform": "平台", "self": "自己"
            type: DataTypes.ENUM,
            allowNull: false,
            values: Object.keys(uiconfig.config.pdict.sub_type),
            defaultValue: "platform",
        },
    }, base), {
            paranoid: true,//假的删除
            underscored: true,
            version: true,
            freezeTableName: true,
            //freezeTableName: true,
            // define the table's name
            tableName: 'biz_order_crproduct',
            validate: {},
            indexes: [
            ]
        });
}
