Ver código fonte

Merge branch 'dev' of http://10.87.10.227:4000/jzyd_yyds/soc_web into dev

jiawuxian 2 anos atrás
pai
commit
b6f7d80b6b

+ 4 - 7
src/api/system/extend.js

@@ -1,5 +1,5 @@
 import request from '@/utils/request'
-import {upload} from '@/utils/request'
+// import {uploadFileNew} from '@/utils/request'
 // 查询机构扩展列表
 export function listExtend(query) {
   return request({
@@ -24,12 +24,9 @@ export function getExtendByOrgId(id) {
   })
 }
 // 文件上传
-export function uploadFile(formDatas) {
-  return upload({
-    url: '/file/file/upload',
-    FormData: formDatas
-  })
-}
+// export function uploadFile(formDatas,busType) {
+//   return uploadFileNew('/file/file/uploadFile', formDatas,busType)
+// }
 // 新增机构扩展
 export function addExtend(data) {
   return request({

+ 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);
       })
 
     },

+ 10 - 0
src/views/resumption/plan/index.vue

@@ -162,6 +162,8 @@
           v-loading="loading"
           :data="pageData"
           @selection-change="handleSelectionChange"
+          row-key="id"
+          :tree-props="{ children: 'children' }"
         >
           <el-table-column
             type="index"
@@ -288,6 +290,7 @@
                 size="mini"
                 type="text"
                 icon="el-icon-delete"
+                v-if="checkCanPublish(r.row)"
                 @click="showDialogDistribute(r.row)"
                 v-hasPermi="['system:user:remove']"
                 >下发</el-button>
@@ -388,6 +391,13 @@ export default {
   },
   methods: {
     ...mapMutations([]),
+        //已完成下发的计划不显示下发按钮
+    checkCanPublish(row) {
+      if (row.orgType === 1) {
+        return true
+      }
+      return false;
+    },
     sel(selectList){
       this.loading = true;
       api.distribute(selectList).then((response) => {

+ 5 - 5
src/views/system/dept/extend.vue

@@ -882,7 +882,7 @@ export default {
         orgId: this.$route.params.id,
         id: this.extendId,
       };
-      console.log(dat);
+      // console.log(dat);
       if (this.extendId) {
         updateExtend(dat).then((res) => {
           this.$modal.msgSuccess("保存成功");
@@ -905,13 +905,13 @@ export default {
       const file = event.target.files[0];
       if (!file) return;
 
-      // 创建 FormData 对象并添加文件
-      const formData = new FormData();
-      formData.append("file", file);
+      // // 创建 FormData 对象并添加文件
+      // const formData = new FormData();
+      // formData.append("file", file);
 
       // // 发送文件到您的文件上传 API
       try {
-        uploadFile(formData).then((res) => {
+        uploadFile(file,"org").then((res) => {
           console.log(res);
           // this.orgform.certificateEvidence = res.data;
         });