widget.js 8.33 KB
var vm = new Vue({
    el: '#app',
    data() {
        return {
            search: '',
            tableData: [],
            loading: false,
            dialogFormVisible: false,
            form: {
                sfgyzb: '',
                sjbsm: '',
                txmc: '',
                xtfl: ''
            },
            formLabelWidth: '120px',
            rules: {
                sfgyzb: [
                    { required: true, message: '不能为空', trigger: 'blur' },
                ],
                sjbsm: [
                    { required: true, message: '不能为空', trigger: 'blur' },
                ],
                txmc: [
                    { required: true, message: '不能为空', trigger: 'blur' },
                ],
                xtfl: [
                    { required: true, message: '不能为空', trigger: 'blur' },
                ]
            },
            title: '',
        }
    },
    mounted () {
        this.getZBTXData("");
    },
    methods: {
        handleClick(row) {
            let bsm = row.BSM;
            window.location.href='modelSystemView.html?bsm='+bsm+'';
        },
        getZBTXData (keyWord) {
            // 获取指标体系列表
            this.loading = true;
            axios.get(CONF_NEWGHSC_SERVERURL + "/zbtxgl/getZbtxList", {
                params: { 'keyWord': keyWord }
            })
            .then(res => {
                this.tableData = res.data.data;
                this.loading = false
            })
        },
        submit () {
            this.getZBTXData(this.search)
        },
        importTemplate () {
            // 获取导入模板
            axios({ // 用axios发送post请求
                method: 'post',
                url: CONF_NEWGHSC_SERVERURL + '/zbtxgl/exportModel', // 请求地址
                data: '', // 参数
                headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
                responseType: 'blob' // 表明返回服务器返回的数据类型
            })
                .then(res => {
                    const content = res.data;
                    // const blob = new Blob([content],{type: 'application/ms-excel'})
                    const fileName = '指标体系批量导入模板.xls';
                    if ('download' in document.createElement('a')) { // 非IE下载
                        const elink = document.createElement('a');
                        elink.download = fileName;
                        elink.style.display = 'none';
                        elink.href = URL.createObjectURL(content);
                        document.body.appendChild(elink);
                        elink.click();
                        URL.revokeObjectURL(elink.href); // 释放URL 对象
                        document.body.removeChild(elink)
                    } else { // IE10+下载
                        navigator.msSaveBlob(content, fileName)
                    }
                }).catch(res => {

            });
        },
        indexSystemAdd () {
            // 添加指标体系
            this.dialogFormVisible = true;
            this.title = '新增';
            this.form.sfgyzb = '';
            this.form.sjbsm = '';
            this.form.txmc = '';
            this.form.xtfl = '';
            this.form.bsm = ''
        },
        indexSystemEdit (index, rows) {
            //编辑指标体系
            this.dialogFormVisible = true;
            this.title = '编辑';
            this.form.sfgyzb = rows[index].SFGYZB;
            this.form.sjbsm = rows[index].SJBSM;
            this.form.txmc = rows[index].TXMC;
            this.form.xtfl = rows[index].XTFL;
            this.form.bsm = rows[index].BSM
        },
        editAddSubmit (form) {
            // 新增 编辑事件
            if (form.bsm) {
                let txmc = form.txmc
                this.$refs.form.validate((valid) => {
                    if (valid) {
                        axios.post(CONF_NEWGHSC_SERVERURL + "/zbtxgl/addZbtx", {
                            "bsm": form.bsm,
                            "sfgyzb": form.sfgyzb,
                            "sjbsm": form.sjbsm,
                            "txmc": form.txmc,
                            "xtfl": form.xtfl
                        }).then(res => {
                            if (res.status === 200) {
                                this.$message({
                                    message: '编辑成功',
                                    center: true,
                                    type: 'success'
                                });
                                this.getZBTXData("")
                            } else {
                                this.$message({
                                    message: '编辑失败',
                                    center: true,
                                    type: 'error'
                                });
                            }
                        });
                        this.dialogFormVisible = false;
                        this.$refs.form.resetFields();
                    } else {
                        alert('表单验证未通过!');
                        return false;
                    }
                });
            } else {
                let user = JSON.parse(window.parent.userCookies).user.loginname;
                let txmc = form.txmc
                this.$refs.form.validate((valid) => {
                    if (valid) {
                        axios.post(CONF_NEWGHSC_SERVERURL + "/zbtxgl/addZbtx", {
                            "cjr": user,
                            "sfgyzb": form.sfgyzb,
                            "sjbsm": form.sjbsm,
                            "txmc": form.txmc,
                            "xtfl": form.xtfl
                        }).then(res => {
                            if (res.status === 200) {
                                this.$message({
                                    message: '新增成功',
                                    center: true,
                                    type: 'success'
                                });
                                this.getZBTXData("")
                            } else {
                                this.$message({
                                    message: '新增失败',
                                    center: true,
                                    type: 'error'
                                });
                            }
                        });
                        this.dialogFormVisible = false;
                        this.$refs.form.resetFields();
                    } else {
                        alert('表单验证未通过!');
                        return false;
                    }
                });
            }
        },
        resetForm(form) {
            this.$refs.form.resetFields();
            this.dialogFormVisible = false
        },
        deleteRow(index, rows) {
            // 删除指标体系
            this.$confirm('此操作将删除该指标体系, 是否继续?', '提示', {
                confirmButtonText: '确定',
                cancelButtonText: '取消',
                type: 'warning'
            }).then(() => {
                let bsm = rows[index].BSM
                axios.get(CONF_NEWGHSC_SERVERURL + "/zbtxgl/delZbTx", {
                    params: { "bsm": bsm }
                }).then(res => {
                    if (res.status === 200) {
                        this.$message({
                            message: '删除成功',
                            center: true,
                            type: 'success'
                        });
                        rows.splice(index, 1);
                    } else {
                        this.$message({
                            message: '删除失败',
                            center: true,
                            type: 'error'
                        });
                    }
                })
            }).catch(() => {
                this.$message({
                    type: 'info',
                    message: '已取消删除'
                });
            });
        },
        toBeDeveloped () {
            // 新建分类 关联指标 导出execl文件 待开发
            this.$message({
                message: '待开发',
                center: true,
                type: 'warning'
            });
        }
    },
    computed: {}
})