zhangyanpeng
2024-08-02 b5812cecf98745f4b36a8bf72ff082c3220ef1d6
module/md/page/customer/page/evaluation_management_edit.html
@@ -15,7 +15,8 @@
            new FormVue({
               el: "#vbody",
               data: {
                  dataname: "md_org_account_criteria",
                  // dataname: "md_org_account_criteria",
                  dataname: "md_org_account",
                  title: "推广商评估信息",
                  newformData: {
                     id: uuid_short(),
@@ -78,10 +79,190 @@
                  
                  formFields: [],
                  
                  formData: {},
                  formData_: [],
                  formData_group:[],
                  formdata_obj:[{group_name:'客观评分',group_code:'Objective',children:[]},{group_name:'主观评分',group_code:'Subjective',children:[]}],
                  formData_criteria: [], //评分表返回的是数组
                  formFields_criteria: [],
                  formdata_rule_group:[],
                  activities: [
                     {
                     id:uuid_short(),
                     code:uuid_short()+'01',
                     content: '临床拜访',
                     timestamp: '2024-04-15',
                     remark:'测试信息',
                     },
                     {
                     id:uuid_short(),
                     code:uuid_short()+'01',
                     content: '提单',
                     timestamp: '2024-06-10',
                     remark:'测试信息',
                     },
                     {
                     id:uuid_short(),
                     code:uuid_short()+'01',
                     content: '临采',
                     timestamp: '2024-06-29',
                     remark:'测试信息',
                     },
                     {
                     id:uuid_short(),
                     code:uuid_short()+'01',
                     content: '过会准备与沟通',
                     timestamp: '2024-07-01',
                     remark:'测试信息',
                     },
                     {
                     id:uuid_short(),
                     code:uuid_short()+'01',
                     content: '入院采购',
                     timestamp: '2024-07-15',
                     remark:'测试信息',
                     },
                     {
                     id:uuid_short(),
                     code:uuid_short()+'01',
                     content: '正式采购',
                     timestamp: '',
                     remark:'测试信息',
                     },
                  ],
                  treeData: [{
                     id:1,
                     time: '2024推广商流向汇总',
                     amt:4200,
                     children: [{
                        id:2,
                        time: '2024-01季度金额汇总',
                        amt:1200,
                        children: [{
                           id:6,
                           time: '01月金额',
                           amt:300,
                        },
                        {
                           id:7,
                           time: '02月金额',
                           amt:400,
                        },
                        {
                           id:8,
                           time: '03月金额',
                           amt:500,
                        }]
                     },
                     {
                        id:3,
                        time: '2024-02季度金额汇总',
                        amt:1000,
                        children: [{
                           id:9,
                           time: '04月金额',
                           amt:300,
                        },
                        {
                           id:10,
                           time: '05月金额',
                           amt:400,
                        },
                        {
                           id:11,
                           time: '06月金额',
                           amt:500,
                        }]
                     },
                     {
                        id:4,
                        time: '2024-03季度金额汇总',
                        amt:1000,
                        children: [{
                           id:12,
                           time: '07月金额',
                           amt:300,
                        },
                        {
                           id:13,
                           time: '08月金额',
                           amt:400,
                        },
                        {
                           id:14,
                           time: '09月金额',
                           amt:500,
                        }]
                     },
                     {
                        id:5,
                        time: '2024-04季度金额汇总',
                        amt:1000,
                        children: [{
                           id:15,
                           time: '10月金额',
                           amt:300,
                        },
                        {
                           id:16,
                           time: '11月金额',
                           amt:400,
                        },
                        {
                           id:17,
                           time: '12月金额',
                           amt:500,
                        }]
                     }
                  ],
                  }],
                  treeTxtFormatter: "{time} ¥{amt}",
                  currentnodekey: 8,
                  defaultExpandedKeys: [2,6],
                  maxlevel:6,
                  tableData:[
                     {
                        date:'2024-08-01',
                        // date:new Date(stamp).toISOString().replace(/T/, ' ').replace(/\..+/, '').substring(0, 19),
                        product:'多西他赛注射液',
                        qty:'12',
                        price:'2000',
                        amt:'24000',
                        rank:'D',
                        sale_employe:'',
                     },
                  ],
                  isEditTableData: false,
                  tableFields: [
                     // {isshow: "F", field: "id", name: "id", width: "70"},
                     //{isshow: "T", field: "category_id", name: "协议类型-ID", width: "100"},
                     {isshow: "T", field: "date", name: "更新日期", width: "100"},
                     //{isshow: "T", field: "template_id", name: "模板-ID", width: "100"},
                     {isshow: "F", field: "code", name: "推广商编码", width: "100"},
                     {isshow: "F", field: "name", name: "推广商名称", width: "220",align:'left',isminwidth:'T'},
                     {isshow: "T", field: "product", name: "产品", width: "100",isminwidth:'T'},
                     {isshow: "T", field: "qty", name: "产品数量", width: "100"},
                     {isshow: "T", field: "price", name: "产品单价", width: "100",formatter:"formatter_money",prefix:'¥'},
                     {isshow: "T", field: "amt", name: "总金额", width: "100",formatter:"formatter_money",prefix:'¥'},
                     {isshow: "T", field: "rank", name: "等级划分", width: "100"},
                     {isshow: "T", field: "sale_employe", name: "归属人员", width: "100"},
                     //{isshow: "T", field: "state_code", name: "协议状态-编码", width: "100"},
                     // {isshow: "T", field: "state_name", name: "客观评估", type:"tag", tagtype: '{^草稿^:^info^,^生效^:^success^,^关闭^:^danger^}', width: "80"},
                     // {isshow: "T", field: "", name: "客观评估", headercolor: "#bdf1ff", children: [
                     //    {isshow: "T", field: "completion_rate", name: "完成率", width: "100", headercolor: "#bdf1ff"},
                     //    {isshow: "T", field: "exploitation_rate", name: "开发率", width: "100", headercolor: "#bdf1ff"},
                     //    {isshow: "T", field: "growth_rate", name: "增长率", width: "100", headercolor: "#bdf1ff"},
                     //    {isshow: "T", field: "reach_rate", name: "达标占比", width: "100", headercolor: "#bdf1ff",formatter:"formatter_percent",align:"right",suffix:"%"},
                     // ]},
                     // {isshow: "T", field: "", name: "主观评估", headercolor: "#e5ffab", children: [
                     //    {isshow: "T", field: "customer_item", name: "客户评估", width: "100", headercolor: "#e5ffab"},
                     //    {isshow: "T", field: "hospital_item", name: "医院评估", width: "100", headercolor: "#e5ffab"},
                     //    {isshow: "T", field: "employee_item", name: "销售评估", width: "100", headercolor: "#e5ffab"},
                     // ]},
                  ],
                  stepStatus:['wait','process','finish','error','success'],
                  active:0,
                  
                  //按键权限设置
                  isedit: false,//提交前编辑,保存/提交
@@ -110,24 +291,24 @@
                        
                     }
                     else if (this.popupParames.sceneCode == "browse") {//只读
                        var newEntity_ = {
                           name: "md_org_account_criteria",
                           url: "root/data/getEntitySet",
                           paramsobj: {dataname: this.dataname,parent_id:this.popupParames.data.id},
                           isnotoption: true, //true:不是选项
                        }
                        this.dataRequest.push(newEntity_);
                        // var newEntity_ = {
                        //    name: "md_org_account_criteria",
                        //    url: "root/data/getEntitySet",
                        //    paramsobj: {dataname: this.dataname,parent_id:this.popupParames.data.id},
                        //    isnotoption: true, //true:不是选项
                        // }
                        // this.dataRequest.push(newEntity_);
                        this.formAttr.disabled = true;
                     }
                     else if (this.popupParames.sceneCode == "edit") {//编辑
                        //动态获取默认数据
                        var newEntity_ = {
                           name: "md_org_account_criteria",
                           url: "root/data/getEntitySet",
                           paramsobj: {dataname: this.dataname,parent_id:this.popupParames.data.id},
                           isnotoption: true, //true:不是选项
                        }
                        this.dataRequest.push(newEntity_);
                        // //动态获取默认数据
                        // var newEntity_ = {
                        //    name: "md_org_account_criteria",
                        //    url: "root/data/getEntitySet",
                        //    paramsobj: {dataname: this.dataname,parent_id:this.popupParames.data.id},
                        //    isnotoption: true, //true:不是选项
                        // }
                        // this.dataRequest.push(newEntity_);
                        
                        // if (this.newformData) {
                        //    let formData_ = clone(this.formData);
@@ -137,7 +318,6 @@
                        //    }
                        //    this.formData = formData_;
                        // }
                        this.isedit = true;
                        this.isedit = true;
                     }
                     else if (this.popupParames.sceneCode == "approval") {//审批
@@ -165,53 +345,23 @@
                        me.dataRequestObj = data;
                        //预加载数据后给哪些字段设置options或formatterjson
                        if (me.dataRequestObj.md_org_account_criteria_rule) {
                           var formData_group_ = []
                           // var formdata_obj = {}
                           formData_group_ = me.dataRequestObj.md_org_account_criteria_rule
                           me.formData_ = formData_group_
                           me.formData_group = [...new Set(formData_group_.map(e=>e.group_name))]
                           // me.formData_group.push(formData_group_.filter(e=>e.group_code == 'Objective')[0])
                           // me.formData_group.push(formData_group_.filter(e=>e.group_code == 'Subjective')[0])
                           // me.formData_group.map(e=>e['children'] = [])
                           var obj_ = {}
                           me.formFields_criteria = me.dataRequestObj.md_org_account_criteria_rule;
                           me.formFields_criteria.map(e=>{
                              if (!obj_[e.group_code]) {
                           // me.formData_group.map(e=>{
                           //    formData_group_.map()
                           // })
                           // console.log(me.formData_group)
                           // me.formData_group.map(e=>{
                           // // me.formdata_obj[e.group_code] = []
                           //    e[children]
                           // })
                           // Object.assign()
                        }
                        if (me.dataRequestObj.md_org_account_criteria) {
                           var formData_ = []
                           formData_ = me.dataRequestObj.md_org_account_criteria.data.entityset
                           // formData_.m
                           me.formData_.map(g=>{
                              formData_.map(e=>{
                                 if (g.id == e.criteria_id) {
                                    e['group_name'] = g.group_name
                                    e['group_code'] = g.group_code
                                    e['content_before'] = g.content_before
                                    e['content_type'] = g.content_type
                                 var obj = {}
                                 obj_[e.group_code] = e.group_code
                                 obj_[e.group_name] = e.group_name
                                 //obj_用作检测是否重复,若未重复,则将该obj放入(而不是放入obj_) 构建的formdata_rule_group结构如下
                                 // formdata_rule_group:[{group_name:'客观评分',group_code:'Objective',children:[]},{group_name:'主观评分',group_code:'Subjective',children:[]}],
                                 obj['group_code'] = e.group_code
                                 obj['group_name'] = e.group_name
                                 obj['children'] = []
                                 // obj.children.push(e)
                                 me.formdata_rule_group.push(obj)
                                 }
                              })
                           })
                           me.formdata_obj.map(g=>{
                              formData_.map(v=>{
                                 if (v.group_code == g.group_code) {
                                    // v['content_before'] = g.content_before
                                    g.children.push(v)
                                 }
                              })
                           })
                           // formData_.map(e => {
                           //    e['children'] = me.formData_group.filter(v => v.id == e.criteria_id).length > 0 ? me.formData_group.filter(v => v.id == e.criteria_id)[0] : {}
                           //    formdata_obj[e.]
                           // })
                           console.log(me.formdata_obj)
                        }
                        if (me.dataRequestObj.md_geo_county) {
                           var md_geo_county_obj_ = {};
@@ -287,6 +437,49 @@
                  initData() {
                     let me = this;
                     var id_ = null;
                     if (this.formData.id) {
                        id_ = this.formData.id;
                     }
                     this.getRowDataById(id_, function(result) {//查询后的回调,用于获取字段的
                        // if (result.meta && result.meta[me.dataname] && result.meta[me.dataname].fields) {
                        // }
                        if (result.data.md_org_account_criteria && result.data.md_org_account_criteria.length>0) {
                           var criteria_data = []
                           me.formData_criteria = result.data.md_org_account_criteria
                           me.formFields_criteria.map(f=>{
                              me.formData_criteria.map(v=>{
                                 if (f.id == v.criteria_id) {
                                    var obj_ = {}
                                    Object.assign(obj_,f,v)
                                    criteria_data.push(obj_)
                                 }
                              })
                           })
                           me.formdata_rule_group.map(g => {
                              criteria_data.map(v => {
                                 if (v.group_code == g.group_code) {
                                    g.children.push(v)
                                 }
                              })
                           })
                        }
                        else {
                           me.formdata_rule_group.map(g=>{
                              me.formFields_criteria.map(f=>{
                                 if(f.group_code == g.group_code) {
                                    g.children.push(f)
                                 }
                              })
                           })
                        }
                        if (result.meta) {
                           me.fieldsToFieldsObj();
                           //设置字段事件
                           me.tableFieldClick();
                        }
                     })
                     
                  },
                  
@@ -381,105 +574,83 @@
                        }
                     });
                  },
                  open_terminallist(obj) {
                  stepClick(index) {
                     console.log(index)
                  },
                  onNodeClick(data) {
                     console.log(data)
                  },
                  openDetail(row) {
                     this.$nextTick(() => {
                        this.activities.map(e => {
                           if (e.id == row.id) {
                              document.getElementById(e.content).classList.add("card-body")
                              document.getElementById(e.content).getElementsByClassName("el-descriptions__body")[0].classList.add("card-body")
                           }
                           else {
                              document.getElementById(e.content).classList.remove("card-body")
                              document.getElementById(e.content).getElementsByClassName("el-descriptions__body")[0].classList.remove("card-body")
                           }
                           if (e.id == row.id) {
                              document.getElementById(e.id).getElementsByClassName("el-timeline-item__node--normal")[0].classList.add("timeline-node")
                           }
                           else {
                              document.getElementById(e.id).getElementsByClassName("el-timeline-item__node--normal")[0].classList.remove("timeline-node")
                           }
                        })
                     })
                     var me = this;
                     Root.showPopup({
                        url: "../md/customer/popup/customer_list.html",
                        width: 800,
                        height: 550,
                        data: this.oldObj,
                        dataname: "customer",
                     var data_ = {};
                     var text_ = row.content+"详情"
                     var config = {
                        totab: false, //true: 以Tab导航的方式打开
                        width: "500px",
                        height: "80vh",
                        icon: "icon-product",
                        text: text_,
                        id: uuid_short(),//totab: true时需设置,用于判断是否已打开此页面
                        url: "module/md/page/customer/page/404.html",
                        data: data_,
                        delta: {},
                        // filter: "org_id='"+ me.selectedrow.org_id + "' and bu_id='" + me.selectedrow.bu_id + "'",
                        sceneCode: 'browser',//"refuseedit",//"approval", //"add"//"browse",
                        callback: function(popupobj, popupcallback) {
                           callback(popupobj)
                           if (popupcallback) {
                              popupcallback();
                           }
                        }
                     };
                     me.doPopupByPublic(config);
                  },
                  openDocument() {
                     let me = this;
                     var row = {}
                     var config = {
                        totab: true, //true: 以Tab导航的方式打开
                        width: "1100px",
                        height: "520px",
                        icon: "icon-product",
                        text: "遴选信息" + (row.customer_code ? ("-" + row.customer_code) : ""),
                        id: "evaluation_management_edit",
                        url: "module/md/page/customer/page/404.html",
                        data: row,
                        delta: {},
                        sceneCode: 'browse',//"refuseedit",//"approval", //"add"//"browse",
                        callback: function(obj, callback) {
                           let formData_ = clone(me.formData);
                           formData_.customer_name = obj.row.md_description;
                           formData_.customer_code = obj.row.md_code;
                           formData_.customer_id = obj.row.id;
                           me.formData = formData_;
                           me.onQuery();
                           if (callback) {
                              callback();
                           }
                        }
                     });
                     };
                     me.doPopupByPublic(config);
                  },
                  open_productlist(obj) {
                     var me = this;
                     Root.showPopup({
                        url: "../md/product/popup/sku_list.html",
                        width: 800,
                        height: 550,
                        callback: function(obj, callback) {
                           let formData_ = clone(me.formData);
                           formData_.product_id = obj.row.id;
                           formData_.product_code = obj.row.md_code;
                           formData_.product_name = obj.row.md_description;
                           //formData_.spec = obj.row.pack_specification;
                           me.formData = formData_;
                           if (callback) {
                              callback();
                           }
                        }
                     });
                  },
                  tablepopup_customerlist(obj) {
                     var me = this;
                     Root.showPopup({
                        url: "../md/customer/popup/customer_list.html",
                        width: 800,
                        height: 550,
                        data: this.oldObj,
                        dataname: "customer",
                        callback: function(callbackobj, callback) {
                           obj.row.customer_code = callbackobj.row.md_code
                           obj.row.customer_name = callbackobj.row.md_description
                           if (callback) {
                              callback();
                           }
                        }
                     });
                  },
                  tablepopup_terminallist(obj) {
                     var me = this;
                     Root.showPopup({
                        url: "../md/customer/popup/customer_list.html",
                        width: 800,
                        height: 550,
                        data: this.oldObj,
                        dataname: "customer",
                        callback: function(callbackobj, callback) {
                           obj.row.terminal_id = callbackobj.row.id
                           obj.row.terminal_name = callbackobj.row.md_description
                           if (callback) {
                              callback();
                           }
                        }
                     });
                  },
                  tablepopup_productlist(obj) {
                     var me = this;
                     Root.showPopup({
                        url: "../md/product/popup/sku_list.html",
                        width: 800,
                        height: 550,
                        callback: function(callbackobj, callback) {
                           obj.row.product_id = callbackobj.row.id;
                           obj.row.product_code = callbackobj.row.md_code;
                           obj.row.product_name = callbackobj.row.md_description;
                           obj.row.spec = callbackobj.row.pack_specification;
                           obj.row.pack = callbackobj.row.unit;
                           if (callback) {
                              callback();
                           }
                        }
                     });
                  },
                  //提交
                  submitRowTable() {
                     //必填项校验
@@ -498,108 +669,81 @@
                  //保存
                  saveRowTable() {
                     var me = this;
                     var operator_ = "save";//保存
                     var operator_ = "saveEntity";//保存
                     //数据检验
                     var formData_criteria_ = []
                     var formData_criteria_new = []
                     var criteria_ = {}
                  
                     var entity_ = clone(this.formData);
                     var entity = {};
                     for (var r in entity_) {
                        // if (entity_[r] || entity_[r] == "" || entity_[r] == false || entity_[r] == 0) {
                           entity[r] = entity_[r];
                     me.formdata_rule_group.map(g=>{
                        formData_criteria_ = formData_criteria_.concat(g.children)
                     }) //编辑页面的评分数据和题目
                     // 比较 formData_criteria_与原数据
                     me.formData_criteria.map(fo=>{
                        formData_criteria_.map(fn=>{
                           if (fo.criteria_id == fn.criteria_id) { //fo中新增的题目不参与比较
                              var str1 = fo.criteria_id + fo.criteria_value
                              var str2 = fn.criteria_id + fn.criteria_value
                              if (str1 === str2){}
                              else {
                                 formData_criteria_new.push(fn)
                              }
                           }
                        })
                     })
                     // me.formdata_rule_group.map(g=>{
                     // })
                     // var entity_ = clone(this.formData);
                     // var entity = {};
                     // for (var r in entity_) {
                     //    // if (entity_[r] || entity_[r] == "" || entity_[r] == false || entity_[r] == 0) {
                     //       entity[r] = entity_[r];
                     //    // }
                        // }
                     }
                     if(me.iscommit) {
                        operator_ = "commit";//提交
                        entity.state_code = "Open"
                        entity.state_name = "已生效"
                     }
                     // if(me.iscommit) {
                     //    operator_ = "commit";//提交
                     //    entity.state_code = "Open"
                     //    entity.state_name = "已生效"
                     // }
                     let param = {
                        dataname: this.dataname,
                        // dataname: "md_org_customer",
                        // operator: operator_,
                        dataname: 'md_org_account_criteria',
                        data: {},
                     }
                     param.data[this.dataname] = entity;
                     Server.call("root/data/uniqueSaveEntity", param, function(result) {
                     if (formData_criteria_new.length > 0) {
                        let param = {
                           dataname: "md_org_account_criteria",
                           data: {},
                        }
                        param.data['md_org_account_criteria'] = formData_criteria_;
                        Server.call("root/data/saveEntity", param, function (result) {
                        console.log(result);
                        if (result.success) {
                           if(me.iscommit){
                              me.iscommit = false;
                              Root.message({
                                 type: 'success',
                                 message: '提交成功'
                              });
                              me.saveAfter();
                              let formData_criteria_history = clone(me.formData_criteria)
                              formData_criteria_history.map(e =>{
                                 e['data_id'] = e.id
                                 delete e.id
                              })
                              let param_ = {
                                 dataname: 'md_org_account_criteria_history',
                                 data: {},
                           }
                           else {
                              param_.data['md_org_account_criteria_history'] = formData_criteria_history;
                              Server.call("root/data/saveEntity", param_, function (result2) {
                                 if (result2.success) {
                              Root.message({
                                 type: 'success',
                                 message: '保存成功'
                              }); 
                              me.saveAfter();
                           }
                              });
                        }
                     }, function(errorresult) {
                        console.log("错误信息", errorresult);
                        if (errorresult.messages && errorresult.messages.count && errorresult.messages.count.error) {
                           if (errorresult.messages.list) {
                              me.iscommit = false;
                              var config = {
                                 totab: false,
                                 // width: "1200px",
                                 // height: 800,
                                 icon: "icon-product",
                                 text: "错误信息",
                                 url: "module/tool/page/popup_error_messages.html",
                                 data: {},
                                 delta: errorresult.messages.list,
                                 callback: function(obj, callback) {
                                    if (callback) {
                                       callback();
                                    }
                                 }
                              };
                              me.doPopupByPublic(config);
                           }
                        }
                        else if (errorresult.exists_errors && errorresult.exists_errors.length) {
                           var messages_list = []
                           var index_ = 0;
                           errorresult.exists_errors.map(r=>{
                              index_ ++;
                              var messages_ = {
                                 step: index_,
                                 level: "Error",
                                 message: r.title
                              }
                              messages_list.push(messages_)
                           })
                           me.iscommit = false;
                           var config = {
                              totab: false,
                              // width: "1200px",
                              // height: 800,
                              icon: "icon-product",
                              text: "错误信息",
                              url: "module/tool/page/popup_error_messages.html",
                              data: {},
                              delta: messages_list,
                              callback: function(obj, callback) {
                                 if (callback) {
                                    callback();
                                 }
                              }
                           };
                           me.doPopupByPublic(config);
                        }
                        else {
                           me.iscommit = false;
                           Root.message({
                              type: 'error',
                              message: '提交失败'
                           });
                        }
                     });
                  },
                  
               }
@@ -655,6 +799,29 @@
             text-decoration: underline;
             cursor: pointer;
         }
         div .h_table .h_h_table {
            display: none;
         }
         div .custom-tree-node {
            font-size: 14px;
         }
         div .custom-tree-node .nodeLabel{
            max-width: 100%;
         }
         div .el-card__header {
            padding: 10px 20px;
         }
         .el-card {
            cursor: pointer;
         }
         .card-body {
            background: #f0f7ff !important;
            /* line-height: 32px; */
            color: rgba(78, 151, 255, 1) !important;
         }
         .timeline-node {
            background: rgba(78, 151, 255, 1) !important;
         }
      </style>
      
   </head>
@@ -667,6 +834,7 @@
                  <div class="dialog-title">
                    <i class="iconfont icon-customermanagement"></i>
                    <span> {{title}}</span>
                    <el-button style="float: right;right: 10%;" @click="openDocument()">遴选跳转</el-button>
                  </div>
               </div>   
               <div :style="{height: dheight + 'px', 'overflow-y': 'auto'}">
@@ -674,15 +842,15 @@
                  <div class="el-dialog__body">
                     <!-- <div v-if="showtab.SYPG && activeTabName=='SYPG' && activeTabName_detail=='YWNL'"> -->
                     <div>
                        <div style="width: 100%; float: right;">
                        <div style=" border: 1px solid #C0C4CC ;padding: 5px">
                           <div >
                              <el-row style="display: flex;flex-direction: row;justify-content:space-between;padding-left: 91px;" >
                                 <el-col :span="16"><div class="itemgroup_field"><span>评分项</span></div></el-col>
                                 <el-col :span="8"><div class="itemgroup_field"><span>评分</span></div></el-col>
                                 <el-col :span="6"><div class="itemgroup_field" style="font-size: 14px;font-weight: bold;margin-right: 10px;"><span>评分项</span></div></el-col>
                                 <el-col :span="18"><div class="itemgroup_field" style="font-size: 14px;font-weight: bold;"><span>评分</span></div></el-col>
                                 
                              </el-row>
                              <div style="width: 100%;height: 5px;margin: 10px 0px 25px 0px;background-color: gainsboro; opacity: 40%;"></div>
                              <template v-for="(formgroup, k) in formdata_obj">
                              <template v-for="(formgroup, k) in formdata_rule_group">
                                 <div  style="display: flex;justify-content: space-between;padding: 5px;">
                                    <div style="width: 7%; display: flex; align-items: center; justify-content: center; text-align: center;font-weight: bold;border-right: 3px solid gainsboro;">
                                       <div style="display: flex;justify-content: center;align-items: center;margin-right: 15px;">
@@ -693,7 +861,7 @@
                                    <div style="width: 93%;padding: 0 10px;">
                                       
                                       <el-row v-for="(unitobj, kc) in formgroup.children" :key="'YWNL' + k + kc" class="me_h_itemgroup_row">
                                          <el-col :span="12" class="itemgroup_row_item">
                                          <el-col :span="6" class="itemgroup_row_item">
                                             <div>
                                                <span :class="[unitobj.required_no ? 'me_h_nounitlabel' : 'me_h_unitlabel']" style="font-size: 13px;">
                                                   <!-- {{unitobj.content_before}} -->
@@ -701,7 +869,7 @@
                                                </span>
                                             </div>
                                          </el-col>
                                          <el-col :span="12" >
                                          <el-col :span="18" >
                                             <div v-if="unitobj.content_type == 'textarea'">
                                                <el-input  style="width:100%" type="textarea" 
                                                   v-model="unitobj.criteria_value">
@@ -756,7 +924,63 @@
                        </div>
                     </div>
                  </div>
                  <el-row>
                     <el-col :span="12" style="padding-right: 10px;"  >
                        <el-card class="box-card" style="height: 408px;overflow: auto;">
                           <div slot="header" class="clearfix">
                             <span style="font-size: 14px;font-weight: bold;">推广过程</span>
               </div>
                           <el-timeline :reverse="false" style="padding-top: 10px;">
                              <!-- <el-timeline-item @click.native="openDetail(activity)"
                                v-for="(activity, index) in activities"
                                :key="index"
                                :timestamp="activity.timestamp">
                                {{activity.content}}
                              </el-timeline-item> -->
                              <el-timeline-item  :reverse="false" :id="row.id" v-for="(row, k) in activities" :key="k" :timestamp="row.timestamp" placement="top">
                                 <div @click="openDetail(row)">
                                    <el-card :id="row.content" shadow="hover">
                                       <el-descriptions :title="row.content" :column="1" size="mini">
                                          </el-descriptions-item>
                                          <el-descriptions-item label="备注">{{row.remark}}</el-descriptions-item>
                                       </el-descriptions>
                                    </el-card>
                                 </div>
                              </el-timeline-item>
                           </el-timeline>
                          </el-card>
                     </el-col>
                     <el-col :span="12" style="padding-right: 10px;" >
                        <el-card class="box-card" style="height: 408px;overflow: auto;">
                           <div slot="header" class="clearfix" style="height: 20%;">
                             <span style="font-size: 14px;font-weight: bold;" >流向汇总</span>
                           </div>
                           <h-tree
                              :isfilter="true"
                              :tree-data="treeData"
                              :tree-txt-formatter="treeTxtFormatter"
                              :currentnodekey="currentnodekey"
                              :is-readonly="true"
                              :maxlevel="maxlevel"
                              :default-expand-all="false"
                              :default-expanded-keys="defaultExpandedKeys"
                              :isbottomadd="true"
                              @node-click="onNodeClick"
                     >
                           </h-tree>
                          </el-card>
                     <!--
                      -->
                  </div>
                     </el-col>
                  </el-row>
               </div>
               <div class="el-dialog__footer" style="position: absolute; bottom: 0px;  left: 0px; right: 0px;">
                  <el-button size="small" type="default" @click="closeDialog">取 消</el-button>
                  <el-button size="small" v-if="isedit || isrefuseedit" type="primary" :loading="loading_save" @click="saveRowTable":icon="buttonsconfig.save.icon">{{buttonsconfig.save.name}}</el-button>