From 5e779cf782fa3bfd3de4cfc4dc88af56b171b501 Mon Sep 17 00:00:00 2001
From: louyinlei <398221207@qq.com>
Date: 星期二, 05 三月 2024 17:57:31 +0800
Subject: [PATCH] 验收提交

---
 src/views/notCoalMine/nTrainManage/components/trainPlanDialog.vue |  677 ++++++++++++++++++++++++++++---------------------------
 1 files changed, 345 insertions(+), 332 deletions(-)

diff --git a/src/views/notCoalMine/nTrainManage/components/trainPlanDialog.vue b/src/views/notCoalMine/nTrainManage/components/trainPlanDialog.vue
index 5b2c8ca..e577b90 100644
--- a/src/views/notCoalMine/nTrainManage/components/trainPlanDialog.vue
+++ b/src/views/notCoalMine/nTrainManage/components/trainPlanDialog.vue
@@ -1,334 +1,347 @@
-<template>
-  <el-dialog
-    :title="title"
-    :visible.sync="open"
-    append-to-body
-    width="50%"
-    :before-close="handleClose"
-  >
-    <el-form ref="ruleForm" :model="form"  :rules="rules" label-position="right" label-width="150px" style="padding-right: 50px" element-loading-text="保存中...">
-      <el-form-item label="计划名称:" prop="name">
-        <el-input v-model.trim="form.name" :readonly="disable" type="textarea"/>
-      </el-form-item>
-      <el-form-item label="培训单位:" prop="dep">
-        <el-input v-model.trim="form.dep" :readonly="disable"/>
-      </el-form-item>
-      <el-form-item label="培训方式:" prop="trainWay">
-        <el-radio-group v-model="form.trainWay" :disabled="disable">
-          <el-radio :label="0">面授</el-radio>
-          <el-radio :label="1">线上</el-radio>
-        </el-radio-group>
-      </el-form-item>
-      <el-form-item label="发证单位:" prop="cardDep">
-        <el-input v-model.trim="form.cardDep" :readonly="disable"/>
-      </el-form-item>
-      <el-form-item label="课程管理:" prop="classes">
-        <el-table :data="form.classes" border>
-          <el-table-column label="课程名称" align="center" prop="name" />
-          <el-table-column label="标准学时" align="center" prop="time" />
-          <el-table-column label="上课教师" align="center" prop="teacher" />
-          <el-table-column label="操作" align="center" class-name="small-padding fixed-width" v-if="!disable">
-            <template #default="scope">
-              <el-button
-                size="mini"
-                type="text"
-                style="color: red"
-                @click="delClass(scope.$index)"
-              >删除</el-button>
-            </template>
-          </el-table-column>
-        </el-table>
-        <el-button type="primary" size="mini" @click="addClass" style="margin-top: 20px" v-if="!disable">添加课程</el-button>
-      </el-form-item>
-      <el-form-item label="学员管理:" prop="students">
-        <el-table :data="form.students" border>
-          <el-table-column label="报名人员" align="center" prop="name" />
-          <el-table-column label="身份证号" align="center" prop="idCard" />
-          <el-table-column label="性别" align="center" prop="sex" />
-          <el-table-column label="实际总学时" align="center" prop="time"/>
-          <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
-            <template #default="scope">
-              <el-button
-                size="mini"
-                type="text"
-                @click="openStudyRecord(scope.row,'view')"
-              >查看学时档案</el-button>
-            </template>
-          </el-table-column>
-        </el-table>
-        <el-button type="primary" size="mini" @click="addStudent" style="margin-top: 20px" v-if="!disable">导入报名人员</el-button>
-      </el-form-item>
-      <el-form-item label="历史记录(过程追溯):" prop="history">
-        <el-table :data="form.history" border>
-          <el-table-column label="时间" align="center" prop="time" />
-          <el-table-column label="课程" align="center" prop="class" />
-          <el-table-column label="教师" align="center" prop="teacher" />
-          <el-table-column label="缺课学员" align="center" prop="missStudent" />
-        </el-table>
-      </el-form-item>
-    </el-form>
-    <span slot="footer" class="dialog-footer">
-      <el-button @click="handleClose">取消</el-button>
-      <el-button v-if="disable == false" type="primary" @click="submit">提交</el-button>
-      <el-button v-else type="primary" @click="handleClose">确定</el-button>
-    </span>
-    <el-dialog
-      :title="classTitle"
-      :visible.sync="classDialog"
-      append-to-body
-      width="50%"
-    >
-      <el-form ref="ruleAddForm" :model="addForm"  :rules="addRules" label-position="right" label-width="150px" style="padding-right: 50px" element-loading-text="保存中...">
-        <el-form-item label="课程名称:" prop="name">
-          <el-input v-model.trim="addForm.name"/>
-        </el-form-item>
-        <el-form-item label="标准学时:" prop="time">
-          <el-input v-model.trim="addForm.time"/>
-        </el-form-item>
-        <el-form-item label="上课教师:" prop="teacher">
-          <el-input v-model.trim="addForm.teacher"/>
-        </el-form-item>
-      </el-form>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="closeAdd">取消</el-button>
-        <el-button type="primary" @click="confirmAdd">确定</el-button>
-      </span>
-    </el-dialog>
-    <el-dialog
-      title="学时档案"
-      :visible.sync="recordDialog"
-      append-to-body
-      width="50%"
-    >
-      <el-table :data="record" border>
-        <el-table-column label="课程名称" align="center" prop="name" />
-        <el-table-column label="标准学时" align="center" prop="time" />
-        <el-table-column label="实际学时" align="center" prop="actualTime" />
-      </el-table>
-      <span slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="recordDialog = false">确定</el-button>
-      </span>
-    </el-dialog>
-  </el-dialog>
-</template>
-
-<script >
-import {addViolation, editViolation, uploadFile} from "@/api/coalMine/violation";
-import {verifyIdCard} from "@/utils/validate";
-import {MessageBox} from "element-ui";
-
-export default {
-  name: 'trainPlanDialog',
-  components: {
-  },
-  props: ['typeList'],
-  data() {
-    return {
-      disable: false,
-      title: '新增计划',
-      classTitle: '新增课程',
-      open: false,
-      classDialog: false,
-      recordDialog: false,
-      form:{
-        id: null,
-        isCm: 0,
-        name: '',
-        dep: '',
-        trainWay: '',
-        cardDep: '',
-        classes: [],
-        students: [],
-        history: []
-      },
-      rules:{
-        name:[{ required: true, message: '请填写计划名称', trigger: 'blur' }],
-        dep: [{ required: true, message: '请填写培训单位', trigger: 'blur' }],
-        trainWay: [{ required: true, message: '请选择培训方式', trigger: 'blur' }],
-        cardDep: [{ required: true, message: '请填写发证单位', trigger: 'blur' }]
-      },
-      addForm: {
-        name: '',
-        time: '',
-        teacher: ''
-      },
-      addRules: {
-        name:[{ required: true, message: '请填写课程名称', trigger: 'blur' }],
-        time: [{ required: true, message: '请填写标准学时', trigger: 'blur' }],
-        teacher: [{ required: true, message: '请填写上课教师', trigger: 'blur' }],
-      },
-      record:[
-        {
-          name:'--',
-          time: '5',
-          actualTime:'5'
-        },
-        {
-          name:'--',
-          time: '4',
-          actualTime:'4'
-        }
-      ]
-    }
-  },
-  created() {
-
-  },
-  methods: {
-    openDialog (val,type) {
-      const t = this
-      if(type == 'add'){
-        t.title = '新增计划'
-        t.disable = false
-        t.form = {
-          id: null,
-          isCm: 0,
-          name: '',
-          dep: '',
-          trainWay: '',
-          cardDep: '',
-          classes: [],
-          students: [],
-          history: []
-        }
-      }else{
-        if(type == 'view'){
-          t.title = '计划详情'
-          t.disable = true
-        }else{
-          t.title = '编辑计划'
-          t.disable = false
-        }
-        t.form = val
-      }
-      t.open = true
-    },
-    isValidKey(key,obj){
-      return key in obj
-    },
-
-    addClass(){
-      this.classDialog = true
-    },
-
-    delClass(index){
-      MessageBox.confirm('删除该条信息,是否继续?', '系统提示', { confirmButtonText: '确认', cancelButtonText: '取消', type: 'warning' }).then(() => {
-        this.form.classes.splice(index,1);
-        this.$message.success('删除成功')
-      }).catch(() => {
-        console.log('取消')
-      });
-    },
-
-    openStudyRecord(){
-      this.recordDialog = true
-    },
-
-    confirmAdd(){
-      this.$refs["ruleAddForm"].validate(async(valid) =>{
-        if(valid) {
-          this.form.classes.push(this.addForm)
-          this.closeAdd()
-        }else{
-          this.$message({
-            type:'warning',
-            message:'请完善必填信息'
-          })
-        }
-      })
-    },
-    addStudent(){
-      this.$message({
-        type:'warning',
-        message: '导入格式较严格,请联系技术人员批量导入'
-      })
-    },
-
-    handleClose() {
-      this.open = false;
-      this.resetForm();
-    },
-
-    closeAdd(){
-      this.classDialog = false
-      this.addForm = {
-        name: '',
-        time: '',
-        teacher: ''
-      }
-    },
-    async submit(){
-      this.$refs["ruleForm"].validate(async(valid) =>{
-        if(valid) {
-          if(this.title == '新增计划'){
-            // const {id,...data} = this.form
-            // const res= await addViolation(data)
-            // if(res.code == 200){
-            //   this.$message({
-            //     type:'success',
-            //     message: res.msg
-            //   })
-            //   this.fileList = []
-            //   this.open = false
-            //   this.$emit('getList')
-            // }else{
-            //   this.$message({
-            //     type:'warning',
-            //     message: res.msg
-            //   })
-            // }
-            this.form['info'] =  '--'
-            this.form['startTime'] = '2024-02-24'
-            this.form['endTime'] ='2024-03-05'
-            this.form['sheet'] = '19'
-            this.form['num'] ='19'
-            this.form['passNum'] = '19'
-            this.$emit('addRecord',this.form)
-          }else{
-            // const res= await editViolation(this.form)
-            // if(res.code == 200){
-            //   this.$message({
-            //     type:'success',
-            //     message: res.msg
-            //   })
-            //   this.fileList = []
-            //   this.open = false
-            //   this.$emit('getList')
-            // }else{
-            //   this.$message({
-            //     type:'warning',
-            //     message: res.msg
-            //   })
-            // }
-          }
-          this.handleClose()
-        }else{
-          this.$message({
-            type:'warning',
-            message:'请完善必填信息'
-          })
-        }
-      })
-    },
-    resetForm() {
-      this.form = {
-        id: null,
-        isCm: 0,
-        name: '',
-        idCard: '',
-        icNum: '',
-        electNum: '',
-        dept: '',
-        violationTime: '',
-        operateTypeId: null,
-        violationPath: '',
-        remark: ''
-      }
-    },
-  }
-}
-
-</script>
-<style scoped>
+<template>
+  <el-dialog :title="title" :visible.sync="open" append-to-body width="50%" :before-close="handleClose">
+    <el-form ref="ruleForm" :model="form" :rules="rules" label-position="right" label-width="150px"
+      style="padding-right: 50px" element-loading-text="保存中...">
+      <el-form-item label="计划名称:" prop="name">
+        <el-input v-model.trim="form.name" :readonly="disable" type="textarea" />
+      </el-form-item>
+      <el-form-item label="培训单位:" prop="dep">
+        <el-input v-model.trim="form.dep" :readonly="disable" />
+      </el-form-item>
+      <el-form-item label="培训方式:" prop="trainWay">
+        <el-radio-group v-model="form.trainWay" :disabled="disable">
+          <el-radio :label="0">面授</el-radio>
+          <el-radio :label="1">线上</el-radio>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="发证单位:" prop="cardDep">
+        <el-input v-model.trim="form.cardDep" :readonly="disable" />
+      </el-form-item>
+      <el-form-item label="课程管理:" prop="classes">
+        <el-table :data="form.classes" border>
+          <el-table-column label="课程名称" align="center" prop="name" />
+          <el-table-column label="标准学时" align="center" prop="time" />
+          <el-table-column label="上课教师" align="center" prop="teacher" />
+          <el-table-column label="操作" align="center" class-name="small-padding fixed-width" v-if="!disable">
+            <template #default="scope">
+              <el-button size="mini" type="text" style="color: red" @click="delClass(scope.$index)">删除</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+        <el-button type="primary" size="mini" @click="addClass" style="margin-top: 20px"
+          v-if="!disable">添加课程</el-button>
+      </el-form-item>
+      <el-form-item label="学员管理:" prop="students">
+        <el-table :data="form.students" border>
+          <el-table-column label="报名人员" align="center" prop="name" />
+          <el-table-column label="身份证号" align="center" prop="idCard" />
+          <el-table-column label="性别" align="center" prop="sex" />
+          <el-table-column label="实际总学时" align="center" prop="time" />
+          <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+            <template #default="scope">
+              <el-button size="mini" type="text" @click="openStudyRecord(scope.row,'view')">查看学时档案</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+        <el-button type="primary" size="mini" @click="addStudent" style="margin-top: 20px"
+          v-if="!disable">导入报名人员</el-button>
+      </el-form-item>
+      <el-form-item label="历史记录(过程追溯):" prop="history">
+        <el-table :data="form.history" border>
+          <el-table-column label="时间" align="center" prop="time" />
+          <el-table-column label="课程" align="center" prop="class" />
+          <el-table-column label="教师" align="center" prop="teacher" />
+          <el-table-column label="缺课学员" align="center" prop="missStudent" />
+        </el-table>
+      </el-form-item>
+    </el-form>
+    <span slot="footer" class="dialog-footer">
+      <el-button @click="handleClose">取消</el-button>
+      <el-button v-if="disable == false" type="primary" @click="submit">提交</el-button>
+      <el-button v-else type="primary" @click="handleClose">确定</el-button>
+    </span>
+    <el-dialog :title="classTitle" :visible.sync="classDialog" append-to-body width="50%">
+      <el-form ref="ruleAddForm" :model="addForm" :rules="addRules" label-position="right" label-width="150px"
+        style="padding-right: 50px" element-loading-text="保存中...">
+        <el-form-item label="课程名称:" prop="name">
+          <el-input v-model.trim="addForm.name" />
+        </el-form-item>
+        <el-form-item label="标准学时:" prop="time">
+          <el-input v-model.trim="addForm.time" />
+        </el-form-item>
+        <el-form-item label="上课教师:" prop="teacher">
+          <el-input v-model.trim="addForm.teacher" />
+        </el-form-item>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="closeAdd">取消</el-button>
+        <el-button type="primary" @click="confirmAdd">确定</el-button>
+      </span>
+    </el-dialog>
+    <el-dialog title="学时档案" :visible.sync="recordDialog" append-to-body width="50%">
+      <el-table :data="record" border>
+        <el-table-column label="课程名称" align="center" prop="name" />
+        <el-table-column label="标准学时" align="center" prop="time" />
+        <el-table-column label="实际学时" align="center" prop="actualTime" />
+      </el-table>
+      <span slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="recordDialog = false">确定</el-button>
+      </span>
+    </el-dialog>
+  </el-dialog>
+</template>
+
+<script>
+  import {
+    addViolation,
+    editViolation,
+    uploadFile
+  } from "@/api/coalMine/violation";
+  import {
+    verifyIdCard
+  } from "@/utils/validate";
+  import {
+    MessageBox
+  } from "element-ui";
+
+  export default {
+    name: 'trainPlanDialog',
+    components: {},
+    props: ['typeList'],
+    data() {
+      return {
+        disable: false,
+        title: '新增计划',
+        classTitle: '新增课程',
+        open: false,
+        classDialog: false,
+        recordDialog: false,
+        form: {
+          id: null,
+          isCm: 0,
+          name: '',
+          dep: '',
+          trainWay: '',
+          cardDep: '',
+          classes: [],
+          students: [],
+          history: [],
+        },
+        rules: {
+          name: [{
+            required: true,
+            message: '请填写计划名称',
+            trigger: 'blur'
+          }],
+          dep: [{
+            required: true,
+            message: '请填写培训单位',
+            trigger: 'blur'
+          }],
+          trainWay: [{
+            required: true,
+            message: '请选择培训方式',
+            trigger: 'blur'
+          }],
+          cardDep: [{
+            required: true,
+            message: '请填写发证单位',
+            trigger: 'blur'
+          }]
+        },
+        addForm: {
+          name: '',
+          time: '',
+          teacher: ''
+        },
+        addRules: {
+          name: [{
+            required: true,
+            message: '请填写课程名称',
+            trigger: 'blur'
+          }],
+          time: [{
+            required: true,
+            message: '请填写标准学时',
+            trigger: 'blur'
+          }],
+          teacher: [{
+            required: true,
+            message: '请填写上课教师',
+            trigger: 'blur'
+          }],
+        },
+
+        record: [{
+            name: '高处安装、维护、拆除作业',
+            time: '5',
+            actualTime: '5'
+          },
+          {
+            name: '基础理论',
+            time: '4',
+            actualTime: '4'
+          }
+        ]
+      }
+    },
+    created() {
+
+    },
+    methods: {
+      openDialog(val, type) {
+        const t = this
+        if (type == 'add') {
+          t.title = '新增计划'
+          t.disable = false
+          t.form = {
+            id: null,
+            isCm: 0,
+            name: '',
+            dep: '',
+            trainWay: '',
+            cardDep: '',
+            classes: [],
+            students: [],
+            history: [],
+          }
+        } else {
+          if (type == 'view') {
+            t.title = '计划详情'
+            t.disable = true
+          } else {
+            t.title = '编辑计划'
+            t.disable = false
+          }
+          t.form = val
+        }
+        t.open = true
+      },
+      isValidKey(key, obj) {
+        return key in obj
+      },
+
+      addClass() {
+        this.classDialog = true
+      },
+
+      delClass(index) {
+        MessageBox.confirm('删除该条信息,是否继续?', '系统提示', {
+          confirmButtonText: '确认',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+          this.form.classes.splice(index, 1);
+          this.$message.success('删除成功')
+        }).catch(() => {
+          console.log('取消')
+        });
+      },
+
+      openStudyRecord() {
+        this.recordDialog = true
+      },
+
+      confirmAdd() {
+        this.$refs["ruleAddForm"].validate(async (valid) => {
+          if (valid) {
+            this.form.classes.push(this.addForm)
+            this.closeAdd()
+          } else {
+            this.$message({
+              type: 'warning',
+              message: '请完善必填信息'
+            })
+          }
+        })
+      },
+      addStudent() {
+        this.$message({
+          type: 'warning',
+          message: '导入格式较严格,请联系技术人员批量导入'
+        })
+      },
+
+      handleClose() {
+        this.open = false;
+        this.resetForm();
+      },
+
+      closeAdd() {
+        this.classDialog = false
+        this.addForm = {
+          name: '',
+          time: '',
+          teacher: ''
+        }
+      },
+      async submit() {
+        this.$refs["ruleForm"].validate(async (valid) => {
+          if (valid) {
+            await this.submitUpload()
+            if (this.title == '新增计划') {
+              const {
+                id,
+                ...data
+              } = this.form
+              const res = await addViolation(data)
+              if (res.code == 200) {
+                this.$message({
+                  type: 'success',
+                  message: res.msg
+                })
+                this.fileList = []
+                this.open = false
+                this.$emit('getList')
+              } else {
+                this.$message({
+                  type: 'warning',
+                  message: res.msg
+                })
+              }
+            } else {
+              const res = await editViolation(this.form)
+              if (res.code == 200) {
+                this.$message({
+                  type: 'success',
+                  message: res.msg
+                })
+                this.fileList = []
+                this.open = false
+                this.$emit('getList')
+              } else {
+                this.$message({
+                  type: 'warning',
+                  message: res.msg
+                })
+              }
+            }
+          } else {
+            this.$message({
+              type: 'warning',
+              message: '请完善必填信息'
+            })
+          }
+        })
+      },
+      resetForm() {
+        this.form = {
+          id: null,
+          isCm: 0,
+          name: '',
+          idCard: '',
+          icNum: '',
+          electNum: '',
+          dept: '',
+          violationTime: '',
+          operateTypeId: null,
+          violationPath: '',
+          remark: ''
+        }
+      },
+    }
+  }
+</script>
+<style scoped>
 
 </style>

--
Gitblit v1.9.2