ソースを参照

教育培训页面 页面调整

jingyuanchao 2 年 前
コミット
02a0eae2be
2 ファイル変更77 行追加71 行削除
  1. 2 2
      src/components/ImageUpload/index.vue
  2. 75 69
      src/views/core/edu/plan/index.vue

+ 2 - 2
src/components/ImageUpload/index.vue

@@ -51,7 +51,7 @@
       :class="{ hide: fileList.length >0  }"
     >
       <i class="el-icon-plus"></i>
-      
+
       <!-- 上传提示 -->
       <div  class="el-upload__tip" slot="tip" >
         请上传
@@ -219,7 +219,7 @@ export default {
           else{
             this.fileList = arr;
           }
-          
+
           //emit完整图片URL路径
           this.$emit("input", this.listToString(this.fileList));
           // //非完整图片URL路径

+ 75 - 69
src/views/core/edu/plan/index.vue

@@ -4,38 +4,40 @@
       <!--机构数据-->
       <el-col :span="4" :xs="24">
         <org-tree v-model="queryParams.belongOrgId" @defaultKey="getDefaultKey" @checkChange="checkChange"
-          @click="clickTreeNode"></org-tree>
+                  @click="clickTreeNode"></org-tree>
       </el-col>
       <!--搜索栏-->
       <el-col :span="20" :xs="24">
-        <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+        <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
+                 label-width="68px">
 
           <el-form-item label="机构类型" prop="execOrgType">
             <el-select v-model="queryParams.execOrgType" placeholder="请选择执行机构类型" clearable>
               <el-option v-for="dict in dict.type.sys_org_type" :key="dict.value" :label="dict.label"
-                :value="dict.value" />
+                         :value="dict.value"/>
             </el-select>
           </el-form-item>
           <el-form-item label="计划周期" prop="planCycle">
             <el-select v-model="queryParams.planCycle" placeholder="请选择计划周期" clearable>
               <el-option v-for="dict in dict.type.edu_plan_cycle" :key="dict.value" :label="dict.label"
-                :value="dict.value" />
+                         :value="dict.value"/>
             </el-select>
           </el-form-item>
           <el-form-item label="计划状态" prop="planStatus">
             <el-select v-model="queryParams.planStatus" placeholder="请选择计划状态" clearable>
               <el-option v-for="dict in dict.type.plan_status" :key="dict.value" :label="dict.label"
-                :value="dict.value" />
+                         :value="dict.value"/>
             </el-select>
           </el-form-item>
           <el-form-item label="培训角色" prop="planRoleId">
             <el-select v-model="form.planRoleId" placeholder="请选择" clearable>
               <el-option v-for="item in planRoleList" :key="item.roleId" :label="item.roleName"
-                :value="item.roleId"></el-option>
+                         :value="item.roleId"></el-option>
             </el-select>
           </el-form-item>
           <el-form-item label="计划名称" prop="planName">
-            <el-input v-model="queryParams.planName" placeholder="请输入计划名称" clearable @keyup.enter.native="handleQuery" />
+            <el-input v-model="queryParams.planName" placeholder="请输入计划名称" clearable
+                      @keyup.enter.native="handleQuery"/>
           </el-form-item>
 
           <el-form-item>
@@ -47,17 +49,17 @@
         <el-row :gutter="10" class="mb8">
           <el-col :span="1.5">
             <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
-              v-hasPermi="['core:plan:add']">新增
+                       v-hasPermi="['core:plan:add']">新增
             </el-button>
           </el-col>
           <el-col :span="1.5">
             <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
-              v-hasPermi="['core:plan:edit']">修改
+                       v-hasPermi="['core:plan:edit']">修改
             </el-button>
           </el-col>
           <el-col :span="1.5">
             <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
-              v-hasPermi="['core:plan:remove']">删除
+                       v-hasPermi="['core:plan:remove']">删除
             </el-button>
           </el-col>
           <!--        <el-col :span="1.5">
@@ -75,26 +77,27 @@
         </el-row>
 
         <el-table :data="planList" @selection-change="handleSelectionChange" row-key="id"
-          :tree-props="{ children: 'children' }">
-          <el-table-column label="序号" align="center" prop="no" />
-          <el-table-column label="计划名称" align="center" prop="planName" />
-          <el-table-column label="计划创建机构" align="center" prop="createOrgName" />
-          <el-table-column label="计划所属机构" align="center" prop="belongOrgName" />
+                  :tree-props="{ children: 'children' }">
+          <el-table-column label="序号" align="center" prop="no"/>
+          <el-table-column label="计划名称" align="center" prop="planName"/>
+          <el-table-column label="计划创建机构" align="center" prop="createOrgName"/>
+          <el-table-column label="计划所属机构" align="center" prop="belongOrgName"/>
           <el-table-column label="培训机构类型" align="center" prop="execOrgType">
             <template slot-scope="scope">
-              <dict-tag :options="dict.type.sys_org_type" :value="scope.row.execOrgType" />
+              <dict-tag :options="dict.type.sys_org_type" :value="scope.row.execOrgType"/>
             </template>
           </el-table-column>
           <el-table-column label="计划周期" align="center" prop="planCycle">
             <template slot-scope="scope">
-              <dict-tag :options="dict.type.edu_plan_cycle" :value="scope.row.planCycle" />
+              <dict-tag :options="dict.type.edu_plan_cycle" :value="scope.row.planCycle"/>
             </template>
           </el-table-column>
           <el-table-column prop="planRoleNameList" label="培训角色">
             <template slot-scope="scope">
               <template v-if="scope.row.planRoleNameList">
-                <el-tag size="mini" type="success" v-for="(item, index) in (scope.row.planRoleNameList || '').split(',')"
-                  :key="index">
+                <el-tag size="mini" type="success"
+                        v-for="(item, index) in (scope.row.planRoleNameList || '').split(',')"
+                        :key="index">
                   {{ item }}
                 </el-tag>
               </template>
@@ -103,31 +106,32 @@
               </template>
             </template>
           </el-table-column>
-          <el-table-column label="培训次数" align="center" prop="execTimes" />
-          <el-table-column label="备注" align="center" prop="remark" />
-          <el-table-column label="修改人" align="center" prop="updateBy" />
+          <el-table-column label="培训次数" align="center" prop="execTimes"/>
+          <el-table-column label="备注" align="center" prop="remark"/>
+          <el-table-column label="修改人" align="center" prop="updateBy"/>
           <el-table-column label="计划状态" align="center" prop="planStatus">
             <template slot-scope="scope">
-              <dict-tag :options="dict.type.plan_status" :value="scope.row.planStatus" />
+              <dict-tag :options="dict.type.plan_status" :value="scope.row.planStatus"/>
             </template>
           </el-table-column>
           <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
             <template slot-scope="scope">
               <el-button v-if="checkCanPublish(scope.row)" size="mini" type="text" icon="el-icon-edit"
-                @click="handlePublish(scope.row)" v-hasPermi="['core:plan:publish']">下发
+                         @click="handlePublish(scope.row)" v-hasPermi="['core:plan:publish']">下发
               </el-button>
               <el-button v-if="checkCanEdit(scope.row)" size="mini" type="text" icon="el-icon-edit"
-                @click="handleUpdate(scope.row)" v-hasPermi="['core:plan:edit']">修改
+                         @click="handleUpdate(scope.row)" v-hasPermi="['core:plan:edit']">修改
               </el-button>
               <el-button v-if="checkCanDel(scope.row)" size="mini" type="text" icon="el-icon-delete"
-                @click="handleDelete(scope.row)" v-hasPermi="['core:plan:remove']">删除
+                         @click="handleDelete(scope.row)" v-hasPermi="['core:plan:remove']">删除
               </el-button>
             </template>
           </el-table-column>
         </el-table>
 
-        <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
-          @pagination="getList" />
+        <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
+                    :limit.sync="queryParams.pageSize"
+                    @pagination="getList"/>
       </el-col>
     </el-row>
     <!-- 添加或修改教育培训计划对话框 -->
@@ -136,14 +140,14 @@
         <el-row>
           <el-col :span="12">
             <el-form-item label="计划名称" prop="planName">
-              <el-input v-model="form.planName" placeholder="请输入计划名称" />
+              <el-input v-model="form.planName" placeholder="请输入计划名称"/>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="计划周期" prop="planCycle">
               <el-select v-model="form.planCycle" placeholder="请选择计划周期">
                 <el-option v-for="dict in dict.type.edu_plan_cycle" :key="dict.value" :label="dict.label"
-                  :value="parseInt(dict.value)"></el-option>
+                           :value="parseInt(dict.value)"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
@@ -151,15 +155,16 @@
         <el-row>
           <el-col :span="12" v-show="form.planCycle == 0">
             <el-form-item prop="startDate" label="开始日期">
-              <el-date-picker v-model="form.startDate" @change="startDateChanged" :picker-options="startDatepickerOptions"
-                align="right" type="date" placeholder="选择开始日期">
+              <el-date-picker v-model="form.startDate" @change="startDateChanged"
+                              :picker-options="startDatepickerOptions"
+                              align="right" type="date" placeholder="选择开始日期">
               </el-date-picker>
             </el-form-item>
           </el-col>
           <el-col :span="12" v-show="form.planCycle == 0">
             <el-form-item prop="endDate" label="结束日期">
               <el-date-picker v-model="form.endDate" :picker-options="endDatepickerOptions" align="right" type="date"
-                placeholder="选择结束日期">
+                              placeholder="选择结束日期">
               </el-date-picker>
             </el-form-item>
           </el-col>
@@ -177,7 +182,7 @@
             <el-form-item label="计划状态" prop="planStatus">
               <el-select v-model="form.planStatus" placeholder="请选择计划状态">
                 <el-option v-for="dict in dict.type.plan_status" :key="dict.value" :label="dict.label"
-                  :value="parseInt(dict.value)"></el-option>
+                           :value="parseInt(dict.value)"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
@@ -194,7 +199,7 @@
             <el-form-item label="培训机构类型" prop="execOrgType">
               <el-select v-model="form.execOrgType" placeholder="请选择执行机构类型" @change="execOrgTypeChanged()">
                 <el-option v-for="dict in dict.type.sys_org_type" :key="dict.value" :label="dict.label"
-                  :value="parseInt(dict.value)"></el-option>
+                           :value="parseInt(dict.value)"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
@@ -207,29 +212,30 @@
               </el-select>
             </el-form-item>
           </el-col>
-           <el-col :span="12">
+          <el-col :span="12">
             <el-form-item label="培训机构" prop="planExecOrgIdList">
               <tree-select v-model="form.planExecOrgIdList" :options="deptOptions" :show-count="true"
-                :normalizer="tenantIdnormalizer" :props="{ checkStrictly: true, label: 'name' }" placeholder="请选择培训机构" />
+                           :normalizer="tenantIdnormalizer" :props="{ checkStrictly: true, label: 'name' }"
+                           placeholder="请选择培训机构"/>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="12">
             <el-form-item label="备注" prop="remark">
-              <el-input v-model="form.remark" placeholder="请输入备注" />
+              <el-input v-model="form.remark" placeholder="请输入备注"/>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="12">
             <el-form-item label="上传文件" prop="fileList">
-              <K-file-upload ref="upload" v-model="form.fileList" @input="getKUploadFileList" />
+              <K-file-upload ref="upload" v-model="form.fileList" @input="getKUploadFileList"/>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="">
-              <el-button type="primary" @click="showSelectFile" >从学习资料中选择</el-button>
+              <el-button type="primary" @click="showSelectFile">从学习资料中选择</el-button>
             </el-form-item>
           </el-col>
         </el-row>
@@ -241,36 +247,36 @@
       </div>
     </el-dialog>
     <DialogSelectFile
-          ref="DialogSelectFile"
-          :defaultSelect=defaultSelect
-          @select="fileSelected"
-          :orgId="orgId"
-        ></DialogSelectFile>
+      ref="DialogSelectFile"
+      :defaultSelect=defaultSelect
+      @select="fileSelected"
+      :orgId="orgId"
+    ></DialogSelectFile>
 
   </div>
 </template>
 
 <script>
 import {
-  listPlan,
-  getPlan,
-  delPlan,
   addPlan,
-  updatePlan,
+  delPlan,
+  getPlan,
+  listPlan,
   listPlanRole,
+  publishPlan,
   roleList,
-  publishPlan
+  updatePlan
 } from "@/api/core/edu/plan";
 import tableList from "@/mixins/tableList";
 import OrgTree from "@/components/orgTree";
-import { deptTreeSelect } from "@/api/system/public";
+import {deptTreeSelect} from "@/api/system/public";
 import KFileUpload from "@/components/K-FileUpload/index.vue";
 import DialogSelectFile from "./dialog.select.file.vue";
 
 export default {
   name: "Plan",
   dicts: ['plan_cycle', 'sys_org_type', 'plan_status', 'edu_plan_cycle'],
-  components: { OrgTree, KFileUpload,DialogSelectFile },
+  components: {OrgTree, KFileUpload, DialogSelectFile},
   mixins: [tableList],
   data() {
     return {
@@ -293,8 +299,8 @@ export default {
       // 是否显示弹出层
       open: false,
       isUnfold: false,
-      defaultSelect:[],
-      orgId:null,
+      defaultSelect: [],
+      orgId: null,
       // 查询参数
       queryParams: {
         execOrgType: null,
@@ -312,22 +318,22 @@ export default {
       // 表单校验
       rules: {
         planName: [
-          { required: true, message: "计划名称不能为空", trigger: "blur" }
+          {required: true, message: "计划名称不能为空", trigger: "blur"}
         ],
         planCycle: [
-          { required: true, message: "计划周期不能为空", trigger: "blur" }
+          {required: true, message: "计划周期不能为空", trigger: "blur"}
         ],
         execTimes: [
-          { required: true, message: "培训次数不能为空", trigger: "blur" }
+          {required: true, message: "培训次数不能为空", trigger: "blur"}
         ],
         planStatus: [
-          { required: true, message: "计划状态不能为空", trigger: "blur" }
+          {required: true, message: "计划状态不能为空", trigger: "blur"}
         ],
         execOrgType: [
-          { required: true, message: "培训机构类型不能为空", trigger: "blur" }
+          {required: true, message: "培训机构类型不能为空", trigger: "blur"}
         ],
         planRoleId: [
-          { required: true, message: "培训角色不能为空", trigger: "blur" }
+          {required: true, message: "培训角色不能为空", trigger: "blur"}
         ],
       },
       planRoleList: [],
@@ -349,7 +355,7 @@ export default {
   created() {
     this.getList();
     this.initPlanRoleList();
-    this.orgId=this.$store.getters.orgId;
+    this.orgId = this.$store.getters.orgId;
   },
   methods: {
     /** 查询教育培训计划列表 */
@@ -410,7 +416,7 @@ export default {
     },
     execOrgTypeChanged(row) {
       this.initRoleList(this.form.execOrgType);
-     // this.form.planExecOrgIdList = [];
+      // this.form.planExecOrgIdList = [];
     },
     /** 查询机构树数据 */
     getDeptTree() {
@@ -511,6 +517,7 @@ export default {
     submitForm() {
       this.$refs["form"].validate(valid => {
         if (valid) {
+          this.form.planExecOrgIdList = [this.form.planExecOrgIdList];
           if (this.form.id != null) {
             updatePlan(this.form).then(response => {
               this.$modal.msgSuccess("修改成功");
@@ -556,16 +563,15 @@ export default {
         ...this.queryParams
       }, `plan_${new Date().getTime()}.xlsx`)
     },
-    showSelectFile(){
+    showSelectFile() {
       // this.$refs.DialogSelectFile.show();
       this.$refs["DialogSelectFile"].show();
     },
-    fileSelected(list)
-    {
-      console.log("fileSelected",list);
-      if(!list) return;
-      list.forEach(x=>{
-        this.form.fileList= this.form.fileList.concat(x.fileList);
+    fileSelected(list) {
+      console.log("fileSelected", list);
+      if (!list) return;
+      list.forEach(x => {
+        this.form.fileList = this.form.fileList.concat(x.fileList);
       })
 
     },