shj
2022-09-06 d1a430e88df40d76558a14f890ac0dbd3181f3a0
src/views/goalManagement/performanceAppraisal/component/DailogAq.vue
@@ -79,23 +79,9 @@
         </el-row>
         <el-row>
            <el-col :span="24">
               <el-form-item label="考核模板">
                  <el-upload
                     v-model:file-list="fileList"
                     class="upload-demo"
                     action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
                     multiple
                     :on-preview="handlePreview"
                     :on-remove="handleRemove"
                     :before-remove="beforeRemove"
                     :limit="3"
                     :on-exceed="handleExceed"
                  >
                     <el-button type="primary">点击上传</el-button>
                     <template #tip>
                        <div class="el-upload__tip">添加相关附件</div>
                     </template>
                  </el-upload>
               <el-form-item label="附件">
                  <uploaderFile :fileList="fileList" :systemName="'GOAL_MANAGE'" :disabled="disabled"
                             @successUploader="successUploader" @deleteFile="deleteFile"></uploaderFile>
               </el-form-item>
            </el-col>
         </el-row>
@@ -154,8 +140,9 @@
import { goalManagementApi } from '/@/api/goalManagement';
import type { UploadProps, UploadUserFile } from 'element-plus';
import type { FormInstance, FormRules } from 'element-plus';
import uploaderFile from '/@/components/uploaderFile/index.vue';
export default defineComponent({
   components: { DailogSearchUser, DailogSearch },
   components: { DailogSearchUser, DailogSearch,uploaderFile },
   setup(props, { emit }) {
      const dialogVisible = ref<boolean>(false);
      const ruleFormRef = ref<FormInstance>();
@@ -173,19 +160,21 @@
         examineTemplateName: '',
         examineTotalNumber: '', ////总分
         acceptanceNumber: '', ///合格分数
         extraFile: '9', //责任书附件
         extraFile: '', //责任书附件
         itemDetail: '', ////考核项目
         memo: '', ////备注信息
         numberDetailJson: [], ////各个考核项目的具体得分,json格式。形式为:[{“id”:"123","number":"123"}]
         title: '', ////考核标题
      });
      const titles = ref();
      const titleT = ref();
      const disabled = ref(false);
      // 打开弹窗
      const openDailog = (title: string, value: any, id: number) => {
         department();
         dialogVisible.value = true;
         titles.value = `${title}安全考核管理`;
         titleT.value=title
         disabled.value = title == '查看' ? true : false;
         if (title == '查看' || title == '修改')
            goalManagementApi()
@@ -195,11 +184,55 @@
                     form.value = res.data.data;
                     form.value.examineDate = timeC(form.value.examineDate);
                     form.value.numberDetailJson = form.value.currentExamineDtoList;
                     if(res.data.data.extraFile!=null&&res.data.data.extraFile!=''){
                        var extraFileList = res.data.data.extraFile.split(',')
                        for(var a = 0;a<extraFileList.length;a++){
                           fileList.value.push(
                                 {
                                    name:extraFileList[a]
                                 }
                           )
                        }
                     }else {
                        fileList.value = []
                     }
                     // fileList.value = (res.data.data.fileList?res.data.data.fileList:[])
                  } else {
                     ElMessage.error(res.data.msg);
                  }
               });
      };
      // 上传成功组装数据
      const successUploader = (list) =>{
         console.log('successUploader',list)
         fileList.value = list
         var formFileList = ''
         for(var a = 0;a<fileList.value.length;a++){
            if(a==fileList.value.length-1){
               formFileList+=fileList.value[a].name
            }else {
               formFileList+=fileList.value[a].name+','
            }
         }
         form.value.extraFile = formFileList
      }
      const deleteFile = (list) =>{
         console.log('deleteFile',list)
         fileList.value = list
         const formFileList = ''
         for(var a = 0;a<fileList.value.length;a++){
            if(a==fileList.value.length-1){
               formFileList.value+=fileList.value[a].name
            }else {
               formFileList.value+=fileList.value[a].name+','
            }
         }
         form.value.extraFile = formFileList
      }
      const timeC = (timestamp: any) => {
         let a = new Date(timestamp).getTime();
         const date = new Date(a);
@@ -251,6 +284,9 @@
         if (!formEl) return;
         await formEl.validate((valid, fields) => {
            if (valid) {
               if(titleT.value=='新建'){
                  delete form.value.id
               }
               dialogVisible.value = false;
               let arr = [];
               for (let i = 0; i < form.value.numberDetailJson.length; i++) {
@@ -287,6 +323,7 @@
      const handleClose = (formEl: FormInstance | undefined) => {
         if (!formEl) return;
         formEl.resetFields();
         fileList.value=[]
      };
      const activeName = ref('1');
      // 新增弹窗
@@ -371,6 +408,7 @@
         console.log(form.value);
      };
      return {
         titleT,
         rules,
         timeC,
         numberC,
@@ -404,6 +442,8 @@
         full,
         toggleFullscreen,
         FullScreen,
         successUploader,
         deleteFile
      };
   },
});