| | |
| | | formData_: [], |
| | | formData_group:[], |
| | | formdata_obj:[{group_name:'客观评分',group_code:'Objective',children:[]},{group_name:'主观评分',group_code:'Subjective',children:[]}], |
| | | |
| | | activities: [ |
| | | { |
| | | content: '临床拜访', |
| | | timestamp: '2024-04-15' |
| | | }, |
| | | { |
| | | content: '提单', |
| | | timestamp: '2024-06-10' |
| | | }, |
| | | { |
| | | content: '临采', |
| | | timestamp: '2024-06-29' |
| | | }, |
| | | { |
| | | content: '过会准备与沟通', |
| | | timestamp: '2024-07-01' |
| | | }, |
| | | { |
| | | content: '入院采购', |
| | | timestamp: '2024-07-15' |
| | | }, |
| | | { |
| | | content: '正式采购', |
| | | timestamp: '' |
| | | }, |
| | | ], |
| | | 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,//提交前编辑,保存/提交 |
| | |
| | | // } |
| | | // this.formData = formData_; |
| | | // } |
| | | this.isedit = true; |
| | | this.isedit = true; |
| | | } |
| | | else if (this.popupParames.sceneCode == "approval") {//审批 |
| | |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | stepClick(index) { |
| | | console.log(index) |
| | | }, |
| | | onNodeClick(data) { |
| | | console.log(data) |
| | | }, |
| | | openDetail(activity) { |
| | | var me = this; |
| | | var data_ = {}; |
| | | var text_ = activity.content+"详情" |
| | | var config = { |
| | | totab: false, //true: 以Tab导航的方式打开 |
| | | width: "500px", |
| | | height: "80vh", |
| | | icon: "icon-product", |
| | | text: text_, |
| | | id: uuid_short(),//totab: true时需设置,用于判断是否已打开此页面 |
| | | url: "module/approval/page/my_approval_list.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/evaluation_management_404.html", |
| | | data: row, |
| | | delta: {}, |
| | | sceneCode: 'browse',//"refuseedit",//"approval", //"add"//"browse", |
| | | callback: function(obj, callback) { |
| | | me.onQuery(); |
| | | if (callback) { |
| | | callback(); |
| | | } |
| | | } |
| | | }; |
| | | me.doPopupByPublic(config); |
| | | }, |
| | | //提交 |
| | | submitRowTable() { |
| | | //必填项校验 |
| | |
| | | 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; |
| | | } |
| | | </style> |
| | | |
| | | </head> |
| | |
| | | <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'}"> |
| | |
| | | <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"><span>评分项</span></div></el-col> |
| | | <el-col :span="18"><div class="itemgroup_field"><span>评分</span></div></el-col> |
| | | |
| | | </el-row> |
| | | <div style="width: 100%;height: 5px;margin: 10px 0px 25px 0px;background-color: gainsboro; opacity: 40%;"></div> |
| | |
| | | <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}} --> |
| | |
| | | </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"> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <el-row> |
| | | <el-col :span="12" style="padding-right: 10px;" > |
| | | <el-card class="box-card" style="min-height: 408px;"> |
| | | <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> |
| | | </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> |