Ver código fonte

导出优化

WINDOWS-7IFQK7E\EDY 2 anos atrás
pai
commit
c4f3859070

Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 1
src/stores/user.js


+ 80 - 152
src/utils/request.js

@@ -5,180 +5,109 @@ import { user } from '@/stores/user'
 const { token } = user
 
 const service = axios.create({
-  baseURL: window.globalVariables.api,
-  method: 'post',
-  timeout: 60000,
-  headers: {
-    'Content-Type': 'application/x-www-form-urlencoded',
-  },
+    baseURL: window.globalVariables.api,
+    method: 'post',
+    timeout: 60000,
+    headers: {
+        'Content-Type': 'application/x-www-form-urlencoded',
+    },
 })
 
 service.interceptors.request.use(
-  (config) => {
-    // do something before request is sent
+    (config) => {
+        // do something before request is sent
 
-    config.data = Object.assign(
-      {
-        token,
-        site: 'jnmf',
-        client: 'web',
-        api: 'json',
-        // from: 'backend',
-        issubmit: (config.url.endsWith('add') || config.url.endsWith('edit')) ? 1 : undefined
-      },
-      config.data || {}
-    )
-    if (config.method === 'get') {
-      config.params = Object.assign(
-        {
-          token,
-        },
-        config.params || {}
-      )
-    } else {
-      if (config.data instanceof FormData) {
-        //
-      } else {
         config.data = Object.assign(
-          {
-            token,
-            client: 'web',
-            api: 'json',
-            admin: '1',
-            issubmit: (config.url?.endsWith('/add') || config.url?.endsWith('/edit')) ? '1' : undefined,
-          },
-          config.data ?? {}
-        )
-        if (config.method === 'get') {
-          config.params = Object.assign(
             {
-              token,
+                token,
+                site: 'jnmf',
+                client: 'web',
+                api: 'json',
+                // from: 'backend',
+                issubmit: (config.url.endsWith('add') || config.url.endsWith('edit')) ? 1 : undefined
             },
-            config.params || {}
-          )
+            config.data || {}
+        )
+        if (config.method === 'get') {
+            config.params = Object.assign(
+                {
+                    token,
+                },
+                config.params || {}
+            )
         }
         // 短时间多个请求会冲突
         // console.groupCollapsed('axios: ' + config.url)
         // console.log('request', config.data)
         return config
-      }
-      (error) => {
+    },
+    (error) => {
         // do something with request error
         console.log(error) // for debug
         return Promise.reject(error)
-      }
-      if (config.$type === 'import') {
-        config.timeout = 1000 * 60 * 20
-        config.transformRequest = [function (data, headers) {
-          const formData = new FormData()
-          Object.keys(data).forEach(key => formData.append(key, data[key]))
-          return formData;
-        }]
-      }
-      if (config.$type === 'upload') {
-        config.timeout = 1000 * 60 * 2
-        config.transformRequest = [function (data, headers) {
-          const formData = new FormData()
-          Object.keys(data).forEach(key => formData.append(key, data[key]))
-          return formData;
-        }]
-      }
-      // 短时间多个请求会冲突
-      // console.groupCollapsed('axios: ' + config.url)
-      // console.log('request', config.data)
-      return config
-    },
-    (error) => {
-      // do something with request error
-      console.log(error) // for debug
-      return Promise.reject(error)
     }
 )
 
 // response interceptor
 let isRelogin = false
 service.interceptors.response.use(
-  // <<<<<<< HEAD
-  //   (response, c) => {
-  //     const { code, msg } = response.data
-  //     if (code !== '1' && code !== 1) {
-  //       Message.error(msg)
-  // =======
-  (response, c) => {
-    const { code, msg, data } = response.data
-    if (code === '10001') {
-      if (!isRelogin) {
-        isRelogin = true
-        Message.error(msg)
-        request({
-          url: '/user/main/login',
-          data: {
-            token: data.token
-          }
-        }).then(res => {
-          if (res.code == 1) {
-            localStorage.setItem('userInfo', JSON.stringify(res.data));
-            isRelogin = false
-            // 视情况打开
-            location.reload()
-          }
-        })
-      }
+    (response, c) => {
+        const { code, msg, data } = response.data
+        if (code === '10001') {
+            if (!isRelogin) {
+                isRelogin = true
+                Message.error(msg)
+                request({
+                    url: '/user/main/login',
+                    data: {
+                        token: data.token
+                    }
+                }).then(res => {
+                    if (res.code == 1) {
+                        localStorage.setItem('userInfo', JSON.stringify(res.data));
+                        isRelogin = false
+                        // 视情况打开
+                        location.reload()
+                    }
+                })
+            }
 
-    } else if (code !== '1') {
-      Message.error(msg)
+        } else if (code !== '1') {
+            Message.error(msg)
+        }
+        // console.log('response', response.data)
+        // console.groupEnd()
+        return response.data
+    },
+    (error) => {
+        console.error('err' + error) // for debug
+        return Promise.reject(error)
     }
-    // console.log('response', response.data)
-    // console.groupEnd()
-    return response.data
-  },
-  (error) => {
-    console.error('err' + error) // for debug
-    return Promise.reject(error)
->>>>>>> master
-  }
-    // console.log('response', response.data)
-    // console.groupEnd()
-    return response.data
-  },
-(error) => {
-  console.error('err' + error) // for debug
-  return Promise.reject(error)
-}
 )
 
 // 上传
 export const request = axios.create({
-  baseURL: window.globalVariables.api,
-  method: 'post',
-  timeout: 5000,
-  headers: {
-    'Content-Type': 'application/x-www-form-urlencoded',
-  },
+    baseURL: window.globalVariables.api,
+    method: 'post',
+    timeout: 5000,
+    headers: {
+        'Content-Type': 'application/x-www-form-urlencoded',
+    },
 })
 request.interceptors.response.use(
-  (response) => {
-    const { code, msg } = response.data
-    if (code !== '1') {
-      Message.error(msg)
+    (response) => {
+        const { code, msg } = response.data
+        if (code !== '1') {
+            Message.error(msg)
+        }
+        return response.data
+    },
+    (error) => {
+        console.log('err' + error) // for debug
+        return Promise.reject(error)
     }
-    return response.data
-  },
-  (error) => {
-    console.log('err' + error) // for debug
-    return Promise.reject(error)
-  }
 )
 
-<<<<<<< HEAD
-export function download(url, data) {
-  const params = Object.assign({ token, limit: 10000, page: 1, api: 'xls' }, data)
-  const paramsStr = Object.entries(params).map(([k, v]) => `${k}=${v}`).join('&')
-  const el = document.createElement('a')
-  const href = `${window.globalVariables.api}${url}?${paramsStr}`
-  el.setAttribute('href', href)
-  el.click()
-=======
 export function download(url, data, name) {
     const params = Object.assign({ token, limit: 10000, page: 1, api: 'xls' }, data)
     const paramsStr = Object.entries(params).map(([k, v]) => `${k}=${v}`).join('&')
@@ -187,20 +116,19 @@ export function download(url, data, name) {
     el.setAttribute('href', href)
     name && el.setAttribute('download', name)
     el.click()
->>>>>>> master
 }
 
 export function download2(url, data, name) {
-  const el = document.createElement('a')
-  const href = `${window.globalVariables.api}/openapi/download.php?path=${url}&name=${name}`
-  el.setAttribute('href', href)
-  name && el.setAttribute('download', name)
-  el.click()
+    const el = document.createElement('a')
+    const href = `${window.globalVariables.api}/openapi/download.php?path=${url}&name=${name}`
+    el.setAttribute('href', href)
+    name && el.setAttribute('download', name)
+    el.click()
 }
 
 export default (...args) => {
-  if (!isRelogin)
-    return service(...args)
-  else
-    return Promise.reject({})
+    if (!isRelogin)
+        return service(...args)
+    else
+        return Promise.reject({})
 }

+ 14 - 4
src/views/cjxt/tjdj/bjck/index.vue

@@ -245,6 +245,7 @@ export default {
         ],
       },
       multipleSelection: [],
+      multipleSelection1: [],
     }
   },
   methods: {
@@ -295,9 +296,7 @@ export default {
         }
       })
     },
-    handleSelectionChange(val) {
-      this.multipleSelection = val;
-    },
+
     handleCurrentChange(val) {
       this.cur_page = val;
       this.getListData();
@@ -368,6 +367,17 @@ export default {
         }
       })
     },
+    handleSelectionChange(val) {
+
+      this.multipleSelection = val;
+
+      this.multipleSelection1 = [];
+
+      for (let i in val) {
+        this.multipleSelection1.push(val[i].xdct_id);
+        console.log(this.multipleSelection1, 123);
+      }
+    },
     exportData() {
       let time = '';
       if (this.searchForm.tjrq.length > 1) {
@@ -378,7 +388,7 @@ export default {
       let link =
         window.globalVariables.api +
         "/xddy/dygl_cjxt_tjdj/index?api=xls&page=1&limit=10000&token=" +
-        token + '&xdct_xsxm=' + this.searchForm.xsxm + '&xdct_xsxh=' + this.searchForm.xsxh + '&xdct_xslx=' + this.searchForm.tjlx + '&xdct_tjrq' + time;
+        token + '&xdct_xsxm=' + this.searchForm.xsxm + '&xdct_id=' + this.multipleSelection1.join(',') + '&xdct_xslx=' + this.searchForm.tjlx + '&xdct_tjrq' + time;
       window.open(link, "_self");
     },
     checkSign(item) {

+ 11 - 3
src/views/cjxt/tjdj/index.vue

@@ -17,7 +17,7 @@
       </el-form-item>
     </el-form>
     <el-button type="primary" @click="exportData">导出</el-button>
-    <el-table :data="firstTable" v-loading="loading" tooltip-effect="dark" class="mt20" style="width: 100%">
+    <el-table @selection-change="handleSelectionChange" :data="firstTable" v-loading="loading" tooltip-effect="dark" class="mt20" style="width: 100%">
       <el-table-column type="selection" align="center" width="55">
       </el-table-column>
       <el-table-column label="晨午检" prop="xdcbj_tjlx" width="100"></el-table-column>
@@ -78,10 +78,18 @@ export default {
         value: 2,
       }],
       firstTable: [],
-      curDate: ''
+      curDate: '',
+      multipleSelection: [],
     }
   },
   methods: {
+    handleSelectionChange(val) {
+      this.multipleSelection = [];
+      val.forEach(item => {
+        this.multipleSelection.push(item.grade_id)
+      })
+      console.log(this.multipleSelection, 1111);
+    },
     getTimeFormat() {
       var date = new Date()
       var month = date.getMonth() + 1
@@ -156,7 +164,7 @@ export default {
       let link =
         window.globalVariables.api +
         "/xddy/dygl_cjxt_nj/index?api=xls&page=1&limit=10000&token=" +
-        token + '&grade_id=' + this.firstForm.grade + '&xdcbj_tjlx=' + this.firstForm.type + '&xdcbj_tjrq' + time;
+        token + '&grade_id=' + this.multipleSelection.join(',') + '&xdcbj_tjlx=' + this.firstForm.type + '&xdcbj_tjrq' + time;
       window.open(link, "_self");
     },
     toGrade(id) {

+ 10 - 3
src/views/cjxt/tjdj/njck/index.vue

@@ -17,7 +17,7 @@
       </el-form-item>
     </el-form>
     <el-button type="primary" @click="exportData">导出</el-button>
-    <el-table :data="firstTable" v-loading="loading" tooltip-effect="dark" class="mt20" style="width: 100%">
+    <el-table @selection-change="handleSelectionChange" :data="firstTable" v-loading="loading" tooltip-effect="dark" class="mt20" style="width: 100%">
       <el-table-column type="selection" align="center" width="55">
       </el-table-column>
       <el-table-column label="晨午检" prop="xdcbj_tjlx" width="100"></el-table-column>
@@ -79,10 +79,17 @@ export default {
         value: 2,
       }],
       firstTable: [],
-      curDate: ''
+      curDate: '',
+      multipleSelection: [],
     }
   },
   methods: {
+    handleSelectionChange(val) {
+      this.multipleSelection = [];
+      val.forEach(item => {
+        this.multipleSelection.push(item.class_id)
+      })
+    },
     getTimeFormat() {
       var date = new Date()
       var month = date.getMonth() + 1
@@ -159,7 +166,7 @@ export default {
       let link =
         window.globalVariables.api +
         "/xddy/dygl_cjxt_bj/index?api=xls&page=1&limit=10000&token=" +
-        token + '&grade_id=' + this.grade_id + '&class_id=' + this.firstForm.class + '&xdcbj_tjlx=' + this.firstForm.type + '&xdcbj_tjrq' + time;
+        token + '&grade_id=' + this.grade_id + '&class_id=' + this.multipleSelection.join(',') + '&xdcbj_tjlx=' + this.firstForm.type + '&xdcbj_tjrq' + time;
       window.open(link, "_self");
     },
     toClass(item) {

+ 16 - 3
src/views/cjxt/ycxs/index.vue

@@ -28,7 +28,10 @@
     <div class="pl5">
       <el-button type="primary" @click="exportData">导出</el-button>
     </div>
-    <el-table :data="tableData" v-loading="loading" tooltip-effect="dark" class="mt20" style="width: 100%">
+    <el-table @selection-change="handleSelectionChange" :data="tableData" v-loading="loading" tooltip-effect="dark" class="mt20" style="width: 100%">
+      <el-table-column type="selection" align="center" width="55">
+      </el-table-column>
+
       <el-table-column label="晨午检" prop="xdct_xslx" width="100"></el-table-column>
       <el-table-column label="班级" prop="class_name" width="150">
       </el-table-column>
@@ -175,7 +178,8 @@ export default {
         value: 3,
       }],
       checkDialogVisible: false,
-      detailInfo: {}
+      detailInfo: {},
+      multipleSelection1: [],
     }
   },
   methods: {
@@ -217,6 +221,15 @@ export default {
       this.cur_page = val;
       this.getListData();
     },
+    handleSelectionChange(val) {
+
+
+      this.multipleSelection1 = [];
+      for (let i in val) {
+        this.multipleSelection1.push(val[i].xdct_id);
+        console.log(this.multipleSelection1, 123);
+      }
+    },
     exportData() {
       let time = '';
       if (this.searchForm.tjrq.length > 0) {
@@ -227,7 +240,7 @@ export default {
       let link =
         window.globalVariables.api +
         "/xddy/dygl_cjxt_tjdj/index?api=xls&page=1&limit=10000&token=" +
-        token + '&xdct_xsxm=' + this.searchForm.xsxm + '&xdct_xsxh=' + this.searchForm.xsxh + '&xdct_xslx=' + this.searchForm.tjlx + '&xdct_tjrq' + time;
+        token + '&xdct_id=' + this.multipleSelection1.join(',');
       window.open(link, "_self");
     },
     showDetail(item) {

+ 3 - 3
src/views/xsczda/xslb/bjlb/xslbxq/index.vue

@@ -178,7 +178,7 @@ export default {
       commentDialogVisible: false,
       loading: false,
       multipleSelection: [],
-      delSelection:[],
+      delSelection: [],
       // 导入导出
       import_type_url:
         window.globalVariables.api +
@@ -352,7 +352,7 @@ export default {
       this.multipleSelection = [];
       this.delSelection = [];
       for (let i in val) {
-        this.multipleSelection.push(val[i].xdxx_xsxh);
+        this.multipleSelection.push(val[i].xdxx_id);
         this.delSelection.push(val[i].xdxx_id);
       }
     },
@@ -433,7 +433,7 @@ export default {
       let link =
         window.globalVariables.api +
         "/xddy/dygl_xsczda_xs/index?api=xls&page=1&limit=10000&token=" +
-        token + '&xdxx_xsxh='+ this.multipleSelection.join(',');
+        token + '&xdxx_id=' + this.multipleSelection.join(',');
       window.open(link, "_blank");
     },
     gradeListData() {