Browse Source

添加每日安排时间按课表模板校准

lrf402788946 4 years ago
parent
commit
1b12be1b61
2 changed files with 100 additions and 77 deletions
  1. 23 0
      src/views/train-plan/term-lesson.vue
  2. 77 77
      vue.config.js

+ 23 - 0
src/views/train-plan/term-lesson.vue

@@ -5,6 +5,9 @@
         <el-col :span="2">
         <el-col :span="2">
           <el-button type="primary" size="mini" plain @click="toArrange">按模板排课</el-button>
           <el-button type="primary" size="mini" plain @click="toArrange">按模板排课</el-button>
         </el-col>
         </el-col>
+        <el-col :span="2">
+          <el-button type="primary" size="mini" plain @click="toCollateTime">校对每日时间安排</el-button>
+        </el-col>
         <el-col :span="2">
         <el-col :span="2">
           <!-- <el-button type="primary" size="mini" @click="allSave">保存期课表</el-button> -->
           <!-- <el-button type="primary" size="mini" @click="allSave">保存期课表</el-button> -->
         </el-col>
         </el-col>
@@ -124,6 +127,7 @@ export default {
       autoArrange: 'arrange',
       autoArrange: 'arrange',
       confirmLesson: 'confirmLesson',
       confirmLesson: 'confirmLesson',
       newArrange: 'newArrange',
       newArrange: 'newArrange',
+      timeCollate: 'timeCollate',
     }),
     }),
     ...classes({ getClass: 'query', pcupdate: 'pluralUpdate', classUpdate: 'update' }),
     ...classes({ getClass: 'query', pcupdate: 'pluralUpdate', classUpdate: 'update' }),
     ...ct({ getCt: 'query' }),
     ...ct({ getCt: 'query' }),
@@ -452,6 +456,25 @@ export default {
       const res = await this.getNoticeList({ planid, termid, type: '4' });
       const res = await this.getNoticeList({ planid, termid, type: '4' });
       if (this.$checkRes(res)) this.$set(this, `noticeList`, res.data);
       if (this.$checkRes(res)) this.$set(this, `noticeList`, res.data);
     },
     },
+    // 校对时间
+    async toCollateTime() {
+      let termid = _.get(this.defaultOption, `termid`);
+      this.$confirm('此操作将会将把 本期的 每天时间的安排 按 "系统管理->课表模板" 中对应的模板进行覆盖,请确认好 课表模板 中的时间是否正确!', '提示', {
+        confirmButtonText: '确认覆盖',
+        cancelButtonText: '取消',
+        type: 'warning',
+      })
+        .then(async () => {
+          const res = await this.timeCollate({ termid });
+          if (this.$checkRes(res)) {
+            this.$message.success('校对成功');
+            this.search();
+          }
+        })
+        .catch(async () => {
+          console.log('已取消');
+        });
+    },
   },
   },
   computed: {
   computed: {
     ...mapState(['user', 'defaultOption']),
     ...mapState(['user', 'defaultOption']),

+ 77 - 77
vue.config.js

@@ -1,77 +1,77 @@
-const path = require('path');
-const frame = path.resolve(__dirname, '../frame');
-const school = path.resolve(__dirname, '../train-school');
-module.exports = {
-  publicPath: process.env.NODE_ENV === 'development' ? '/' : '/center',
-  outputDir: 'center',
-  productionSourceMap: false,
-  chainWebpack: config => {
-    // if (process.env.NODE_ENV === 'production') {
-    //   config
-    //     .plugin('webpack-bundle-analyzer')
-    //     .use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin)
-    //     .end();
-    //   config.plugins.delete('prefetch');
-    // }
-  },
-  configureWebpack: {
-    // externals: {
-    //   // 'element-ui': 'Element',
-    //   // vue: 'Vue',
-    // },
-    // 开发生产共同配置
-    resolve: {
-      alias: {
-        '@': path.resolve(__dirname, './src'),
-        '@c': path.resolve(__dirname, './src/components'),
-        '@a': path.resolve(__dirname, './src/assets'),
-        '@frame': frame,
-        '@school': school,
-      },
-    },
-  },
-  devServer: {
-    port: '8002',
-    //api地址前缀
-    proxy: {
-      '/api/train': {
-        target: 'http://127.0.0.1:2001', ///api/train http://free.liaoningdoupo.com http://jytz.jilinjobs.cn
-        changeOrigin: true,
-        ws: true,
-      },
-      '/api/mission': {
-        target: 'http://127.0.0.1:7004', ///api/train http://free.liaoningdoupo.com http://jytz.jilinjobs.cn
-        changeOrigin: true,
-        ws: true,
-      },
-      '/api/auth': {
-        target: 'http://127.0.0.1:7006', ///api/train http://free.liaoningdoupo.com http://jytz.jilinjobs.cn
-        changeOrigin: true,
-        ws: true,
-      },
-      '/files': {
-        target: 'http://free.liaoningdoupo.com',
-        changeOrigin: true,
-        ws: true,
-      },
-      '/ws': {
-        target: 'http://127.0.0.1:15674', //http://free.liaoningdoupo.com
-        ws: true,
-      },
-      '/weixin': {
-        target: 'http://smart.cc-lotus.info',
-        changeOrigin: true,
-        ws: true,
-      },
-      '/jh': {
-        //聚合科技API
-        target: 'http://v.juhe.cn',
-        changeOrigin: true,
-        ws: true,
-        pathRewrite: {
-          '^/jh': '',
-        },
-      },
-    },
-  },
-};
+const path = require('path');
+const frame = path.resolve(__dirname, '../frame');
+const school = path.resolve(__dirname, '../train-school');
+module.exports = {
+  publicPath: process.env.NODE_ENV === 'development' ? '/' : '/center',
+  outputDir: 'center',
+  productionSourceMap: false,
+  chainWebpack: config => {
+    // if (process.env.NODE_ENV === 'production') {
+    //   config
+    //     .plugin('webpack-bundle-analyzer')
+    //     .use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin)
+    //     .end();
+    //   config.plugins.delete('prefetch');
+    // }
+  },
+  configureWebpack: {
+    // externals: {
+    //   // 'element-ui': 'Element',
+    //   // vue: 'Vue',
+    // },
+    // 开发生产共同配置
+    resolve: {
+      alias: {
+        '@': path.resolve(__dirname, './src'),
+        '@c': path.resolve(__dirname, './src/components'),
+        '@a': path.resolve(__dirname, './src/assets'),
+        '@frame': frame,
+        '@school': school,
+      },
+    },
+  },
+  devServer: {
+    port: '8002',
+    //api地址前缀
+    proxy: {
+      '/api/train': {
+        target: 'http://192.168.1.19:2001', ///api/train http://free.liaoningdoupo.com http://jytz.jilinjobs.cn
+        changeOrigin: true,
+        ws: true,
+      },
+      '/api/mission': {
+        target: 'http://jytz.jilinjobs.cn', ///api/train http://free.liaoningdoupo.com http://jytz.jilinjobs.cn
+        changeOrigin: true,
+        ws: true,
+      },
+      '/api/auth': {
+        target: 'http://jytz.jilinjobs.cn', ///api/train http://free.liaoningdoupo.com http://jytz.jilinjobs.cn
+        changeOrigin: true,
+        ws: true,
+      },
+      '/files': {
+        target: 'http://jytz.jilinjobs.cn',
+        changeOrigin: true,
+        ws: true,
+      },
+      '/ws': {
+        target: 'http://jytz.jilinjobs.cn', //http://free.liaoningdoupo.com
+        ws: true,
+      },
+      '/weixin': {
+        target: 'http://smart.cc-lotus.info',
+        changeOrigin: true,
+        ws: true,
+      },
+      '/jh': {
+        //聚合科技API
+        target: 'http://v.juhe.cn',
+        changeOrigin: true,
+        ws: true,
+        pathRewrite: {
+          '^/jh': '',
+        },
+      },
+    },
+  },
+};