widget.js 9.62 KB
const vm = new Vue({
    el: '#app',
    data() {
        return {
            search: '',
            tableData: [],
            title: '城乡建设用地规模',
            activeName: 'first',
            zonings: [
                {
                    value: '610100',
                    label: '西安市'
                },
                {
                    value: '610102',
                    label: '新城区'
                },
                {
                    value: '610103',
                    label: '碑林区'
                },
                {
                    value: '610104',
                    label: '莲湖区'
                },
                {
                    value: '610111',
                    label: '灞桥区'
                },
                {
                    value: '610112',
                    label: '未央区'
                },
                {
                    value: '610113',
                    label: '雁塔区'
                },
                {
                    value: '610114',
                    label: '阎良区'
                },
                {
                    value: '610115',
                    label: '临潼区'
                },
                {
                    value: '610116',
                    label: '长安区'
                },
                {
                    value: '610122',
                    label: '蓝田县'
                },
                {
                    value: '610124',
                    label: '周至县'
                },
                {
                    value: '610125',
                    label: '鄠邑区'
                },
                {
                    value: '610117',
                    label: '高陵区'
                }
            ],
            monitorForm: {
                qydm: '',
                jcsj: ''
            },
            qydm: '610100',
            jcsj: '2018-03',
            monitorData: [],
            planData: [],
            total:100,
            pagesize:14,
            currentPage:1,
            currentRow: null,
            dialogFormVisible: false,
            form: {
                bsm: '',
                zbbsm: '',
                qydm: '',
                jqz: '',
                jqz2: '',
                yqz: '',
                zwz: '',
            },
            formLabelWidth: '80px',
            rules: {
                zbbsm: [
                    { required: true, message: '不能为空', trigger: 'blur' },
                    { min: 1, max: 5, message: '长度在 1 到 5 个字符', trigger: 'blur' },
                    { required: true, pattern: /^(\-|\+)?\d+(\.\d+)?$/, message: '只能为数字', trigger: 'blur'}
                ],
                qydm: [
                    { required: true, message: '不能为空', trigger: 'blur' },
                    { min: 6, max: 6, message: '填写区号', trigger: 'blur' },
                    { required: true, pattern: /^(\-|\+)?\d+(\.\d+)?$/, message: '只能为数字', trigger: 'blur'}
                ],
                jqz: [
                    { required: true, message: '不能为空', trigger: 'blur' },
                    { type: 'number', min: -999999, max: 999999, message: '长度在 0 到 6 个字符', trigger: 'blur' },
                    { required: true, pattern: /^(\-|\+)?\d+(\.\d+)?$/, message: '只能为数字', trigger: 'blur'}
                ],
                jqz2: [
                    { required: true, message: '不能为空', trigger: 'blur' },
                    { type: 'number', min: -999999, max: 999999, message: '长度在 0 到 6 个字符', trigger: 'blur' },
                    { required: true, pattern: /^(\-|\+)?\d+(\.\d+)?$/, message: '只能为数字', trigger: 'blur'}
                ],
                yqz: [
                    { required: true, message: '不能为空', trigger: 'blur' },
                    { type: 'number', min: -999999, max: 999999, message: '长度在 0 到 6 个字符', trigger: 'blur' },
                    { required: true, pattern: /^(\-|\+)?\d+(\.\d+)?$/, message: '只能为数字', trigger: 'blur'}
                ],
                zwz: [
                    { required: true, message: '不能为空', trigger: 'blur' },
                    { type: 'number', min: -999999, max: 999999, message: '长度在 0 到 6 个字符', trigger: 'blur' },
                    { required: true, pattern: /^(\-|\+)?\d+(\.\d+)?$/, message: '只能为数字', trigger: 'blur'}
                ]
            },
            loading: false,
        }
    },
    mounted () {
        this.getPlanData()
        this.getMonitorData(this.qydm, this.jcsj)
        this.getIndexList('城镇')
        window.updateSocket = this.submit;
    },
    methods: {
        handleClick(tab, event) {
            console.log(tab, event);
        },
        monitorSubmit() {
            this.qydm = this.monitorForm.qydm
            this.getMonitorData(this.qydm)
        },
        getMonitorData(qydm, jcsj) {
            // 监测值列表
            axios.post(CONF_NEWGHSC_SERVERURL + "/zbzgl/getJczList", {
                "qydm": qydm,
                "jcsj": this.jcsj
            }).then(res => {
                this.monitorData = res.data.data 
            })
        },
        monitorFilter(value, row) {
            return row.zbzt === value;
        },
        getPlanData() {
            // 规划值列表
            axios.get(CONF_NEWGHSC_SERVERURL + "/zbzgl/getGhzList").then(res => {
                this.planData = res.data.data
            })
        },
        handleSizeChange:function(size){
            this.pagesize=size;
        },
        handleCurrentChange:function(currentPage){
            this.currentPage=currentPage;
        },
        selectChange(val) {
            this.currentRow = val;
        },
        editGHZTable () {
            if (this.currentRow === null) {
                this.$message({
                    message: '请选中需要修改的行',
                    center: true,
                    type: 'warning'
                });
            } else {
                this.dialogFormVisible = true;
                this.form = this.currentRow
            }
        },
        editSubmit (form) {
            this.$refs[form].validate((valid) => {
                if (valid) {
                    axios.post(CONF_NEWGHSC_SERVERURL + "/zbzgl/addGhz", {
                        "bsm": this.form.bsm,
                        "zbbsm": this.form.zbbsm,
                        "qydm": this.form.qydm,
                        "jqz": this.form.jqz,
                        "jqz2": this.form.jqz2,
                        "yqz": this.form.yqz,
                        "zwz": this.form.zwz
                    }).then(res => {
                        if (res.status === 200) {
                            this.$message({
                                message: '编辑成功',
                                center: true,
                                type: 'success'
                            });
                            this.getPlanData()
                        } 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
        },
        importTemplate () {
            // 导出导入模板
            axios({ // 用axios发送post请求
                method: 'post',
                url: CONF_NEWGHSC_SERVERURL + '/zbzgl/exportZbGhzModel', // 请求地址
                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 => {

            });
        },
        getIndexList (zbmc) {
            // 查询指标列表
            this.loading = true
            axios.get(CONF_NEWGHSC_SERVERURL + "/zbzgl/getZbList", {
                params: { 'zbmc': zbmc }
            }).then(res => {
                this.tableData = res.data.data
                this.loading = false
            })
        },
        submit () {
            this.getIndexList (this.search)
        }
    },
    computed: {}
});
// input框回车触发事件
$("#input").keydown(function (event){
    if (event.keyCode == 13) {
        updateSocket()
    }
})
$(".btn-prev").html('上一页');
$(".btn-next").html('下一页');