zhangyanpeng
2024-07-30 329c13a38eb0ea0f3729d6dff27f1ba49ce28154
Merge branch 'master' of http://highdatas.com:9000/r/promotion/promotion_html
1个文件已添加
257 ■■■■■ 已修改文件
module/md/page/customer/page/evaluation_management.html 257 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
module/md/page/customer/page/evaluation_management.html
New file
@@ -0,0 +1,257 @@
<!doctype html>
<html>
    <head>
        <meta charset="utf-8"><meta http-equiv="Expires" content="0"><meta http-equiv="Pragma" content="no-cache"><meta http-equiv="Cache-control" content="no-cache"><meta http-equiv="Cache" content="no-cache">
        <title>经销商指标</title>
        <script type="text/javascript">
            var pageVue = null;
            function loadJsCss(callback) {
                var jscss_urls = [];
                window.top.initJsCss(document, jscss_urls, callback);
            };
            function initVue() {
                pageVue = new TabTableVue({
                    el: "#vbody",
                    data: {
                        title: "推广商评估",
                        //Tab项设置
                        tabs_d: [
                            // {code: "Input", name: "草稿", dataname: "md_target_dealer", filterTxt: "(state_code='Input' or state_code = 'Rejected')", orderby: "update_time desc"},
                            // // {code: "UnderApproval", name: "审批中", dataname: "so_implant", filterTxt: "state_code='UnderApproval'", orderby: "doc_date desc"},
                            // // {code: "Open", name: "审批完成", dataname: "so_implant", filterTxt: "state_code='Open'", orderby: "doc_date desc"},
                            // // {code: "Closed", name: "失效", dataname:"so_implant", filterTxt: "state_code='Open'",},
                            // {code: "All", name: "全部", dataname: "md_target_dealer", filterTxt: "1 = 1", orderby: "update_time desc"},
                            {code: "Current", name: "当前评估", dataname: "md_target_dealer", filterTxt: "", orderby: ""},
                            {code: "History", name: "历史评估", dataname: "md_target_dealer", filterTxt: "", orderby: ""},
                            // {code: "Apply", name: "指标申请", dataname: "md_target_apply", filterTxt: "1 = 1", orderby: "update_time desc"},
                        ],
                        tabs: [],
                        tabsobj: {},
                        filterFields: [],
                        tableFields: [],
                        default_filterFields: [
                            {isshow: "T", field: "year", name: "年份",  filterfield:"", filteroperator: "like"},
                            {isshow: "T", field: "customer_code", name: "推广商编码", filterfield:"", filteroperator: "like"},
                            {isshow: "T", field: "customer_name", name: "推广商名称", filterfield:"", filteroperator: "like"},
                        ],
                        default_tableFields: [
                            //{isshow: "T", field: "category_id", name: "协议类型-ID", width: "100"},
                            {isshow: "T", field: "year", name: "年份", width: "70"},
                            //{isshow: "T", field: "template_id", name: "模板-ID", width: "100"},
                            {isshow: "T", field: "month", name: "月份", width: "70"},
                            {isshow: "T", field: "customer_code", name: "推广商编码", width: "100"},
                            {isshow: "T", field: "customer_name", name: "推广商名称", width: "220"},
                            {isshow: "T", field: "score", name: "综合得分", width: "100"},
                            {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"},
                            ]},
                        ],
                        cbuttons_r: {},
                        ctabs_r: {},
                        dataRequest: [
                            // {
                            //     name: "machine_state",
                            //     dataname: "v_state_machine_state",
                            //     // url: "root/data/newEntity",
                            //     // paramsobj: {dataname: "md_org_data", type_code:"Distributor"},
                            //     isnotoption: false, //true:不是选项
                            //     code:"code",//是下拉选项时设置
                            //     label:"name",//是下拉选项时设置
                            //     // orderby: "index_no",
                            //     filter: "parent_id='md_target_dealer'",
                            // },
                        ],
                        dataRequestObj: {},
                    },
                    created() {},
                    mounted() {
                        var me = this;
                        if (window.top.tab.selected.option.page_id) {
                            this.title = window.top.tab.selected.option.menutitle
                            getPageByPageId(window.top.tab.selected.option.page_id, function(result){
                                me.cbuttons_r = result.buttons_r;
                                // me.ctabs_r = result.tabs_r;
                                // var tabsarr = [];
                                // me.tabs_d.map(e=>{
                                //     if(me.ctabs_r[e.code]){
                                //         tabsarr.push(e)
                                //     }
                                // })
                                // me.tabs = tabsarr;
                                me.tabs = me.tabs_d;
                                //预加载数据
                                if (me.dataRequest && me.dataRequest.length) {
                                    var result = {};
                                    me.loadRequestData(me.dataRequest, result, function(data) {
                                        me.dataRequestObj = data;
                                        if(me.tabs.length>0){
                                            me.activeTabName = me.tabs[0].code;
                                        }
                                        //初始化Tabs
                                        me.initTabsPage(function() {
                                            //获取数据
                                            me.initData();
                                        });
                                        me.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
                                            hideLoading();
                                        });
                                    });
                                }
                                else {
                                    if(me.tabs.length>0){
                                        me.activeTabName = me.tabs[0].code;
                                    }
                                    //初始化Tabs
                                    me.initTabsPage(function() {
                                        //获取数据
                                        me.initData();
                                    });
                                    me.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
                                        hideLoading();
                                    });
                                }
                            })
                        }
                    },
                    methods:{
                        onhandleClick() {
                            this.initData();
                        },
                        initData() {
                            var me = this;
                            this.doQueryByTab(function(result, callback) {//查询后的回调,用于获取字段的
                                if (result.meta && result.meta[me.selectTabObj.dataname] && result.meta[me.selectTabObj.dataname].fields) {
                                    var metas = clone(result.meta[me.selectTabObj.dataname].fields);
                                    var filterFields_ = [];
                                    var tableFields_ = [];
                                    metas.map(f=>{
                                        f.isshow = "T";
                                        tableFields_.push(clone(f));
                                    })
                                    if (!me.selectTabObj.filterFields || (me.selectTabObj.filterFields && me.selectTabObj.filterFields.length == 0)) {
                                    me.selectTabObj.filterFields = clone(me.default_filterFields);
                                    me.selectTabObj.tableFields = clone(me.default_tableFields);
                                }
                                }
                                //字段数组转字段obj,目的为了筛选时获取字段属性
                                me.fieldsToFieldsObj();
                                //设置字段事件
                                me.tableFieldClick();
                                if (callback) {
                                    callback();
                                }
                            });
                        },
                        tableFieldClick() {
                            var me = this;
                            var tablefieldClick = {};
                            this.selectTabObj.tablefieldClick = tablefieldClick[this.activeTabName];
                        },
                    }
                });
            };
            loadJsCss(function () {
                initVue();
            });
        </script>
        <style>
            /* 在vue.js中 v-cloak 这个指令是防止页面加载时出现 vuejs 的变量名而设计的 */
            [v-cloak] {
                display: none !important;
            }
            .el-tabs__nav-scroll {
                overflow: hidden;
                position: relative;
                padding-left: 20px;
            }
        </style>
    </head>
    <body style="margin: 0px;">
        <div v-cloak id="vbody">
            <div id="page_root">
                <div class="topbar">
                    <span :class="page_title == 'right' ? 'h_page_title_right' : 'h_page_title_left'"><span class="h_page_title_txt">{{title}}</span></span>
                    <div :class="page_title == 'right' ? 'h_page_button_left' : 'h_page_button_right'">
                        <el-button-group  style="margin-left: 3px">
                            <el-button v-show="cbuttons_r.export" @click="onDownload" :icon="buttonsconfig.export.icon">{{buttonsconfig.export.name}}</el-button>
                        </el-button-group>
                    </div>
                </div>
                <div>
                    <el-tabs v-model="activeTabName" @tab-click="handleClick">
                        <el-tab-pane v-for="(tab, k) in tabs" :label="tab.name" :name="tab.code" :key="k"></el-tab-pane>
                    </el-tabs>
                </div>
                <div class="h_dialog__body">
                    <h-table
                        v-if="isRefresh && selectTabObj.tableFields"
                        ref="table1"
                        :table-fields="selectTabObj.tableFields"
                        :table-data="selectTabObj.tableData"
                        :is-edit-table-data="selectTabObj.isEditTableData"
                        :pagesize="selectTabObj.pagesize"
                        :pagenum="selectTabObj.pagenum"
                        :total="selectTabObj.total"
                        :table-height="selectTabObj.tableHeight"
                        :table-field-click="selectTabObj.tablefieldClick"
                        :is-show-index="selectTabObj.isShowIndex"
                        :tableloading="tableloading"
                        :is-highlight-row="selectTabObj.isHighlightRow"
                        :isdraggableorder="cbuttons_r.Set"
                        :filtersobj="selectTabObj.filterObj"
                        v-on:get-data="getData"
                        v-on:edit-data="editData"
                        v-on:row-click="rowClick"
                        v-on:del-data="delData"
                        v-on:order-fields="orderTableFields"
                    >
                    </h-table>
                </div>
            </div>
        </div>
        <div id="page_loading" style="position: absolute; top:0px; width: 100vw; height: 50vh;">
            <div class="spinner">
              <div class="cube1"></div>
              <div class="cube2"></div>
            </div>
        </div>
    </body>
</html>