From 335e8bebc173bd2fbf5fdfcbc3a4d307be9187c5 Mon Sep 17 00:00:00 2001
From: Admin <978517621@qq.com>
Date: 星期一, 05 十二月 2022 09:56:25 +0800
Subject: [PATCH] 修改等级名称

---
 src/views/specialCheck/components/sendWork.vue |  170 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 163 insertions(+), 7 deletions(-)

diff --git a/src/views/specialCheck/components/sendWork.vue b/src/views/specialCheck/components/sendWork.vue
index 66f1716..f90a7a0 100644
--- a/src/views/specialCheck/components/sendWork.vue
+++ b/src/views/specialCheck/components/sendWork.vue
@@ -6,8 +6,27 @@
         :close-on-click-modal="false"
         width="60%"
         center
+        :show-close="false"
         @close="resetForm('workForm')"
     >
+        <el-upload
+            class="upload-demo"
+            action
+            :http-request="uploadFile"
+            :on-preview="handlePreview"
+            :on-remove="handleRemove"
+            :before-upload="beforeUpload"
+            :before-remove="beforeRemove"
+            multiple
+            :limit="1"
+            :on-exceed="handleExceed"
+            accept=".pdf, .doc, .docx"
+            :file-list="fileList">
+            <div style="display: flex;align-items: center">
+                <el-button type="primary" style="margin-right: 80px">检查内容上传</el-button>
+                <div slot="tip" class="el-upload__tip">只能上传doc/docx文件</div>
+            </div>
+        </el-upload>
         <el-form :model="workForm" :rules="rules" ref="workForm" label-width="80px">
             <el-form-item label="专项检查任务名称:" label-width="180px" prop="taskName">
                 <el-input v-model="workForm.taskName"></el-input>
@@ -64,7 +83,7 @@
                 </el-row>
             </div>
             <div class="form-part">
-                <h3>市州级检查指标</h3>
+                <h3>地(州、市)级检查指标</h3>
 <!--                <p>批发企业:</p>-->
                 <el-divider content-position="left">批发企业</el-divider>
                 <el-row>
@@ -163,6 +182,7 @@
             </el-form-item>
         </el-form>
         <span slot="footer" class="dialog-footer">
+          <el-button type="warning" @click="cancleSend" plain>取消</el-button>
           <el-button @click="resetForm('workForm')">重置</el-button>
           <el-button type="primary" v-stop-re-click @click="confirmSend('workForm')">确认下发</el-button>
         </span>
@@ -171,12 +191,14 @@
 
 <script>
     import {computePageCount} from "@/utils";
-    import{sendCheckTask} from "@/api/specialCheck"
+    import{sendCheckTask, uploadFile, delateFile} from "@/api/specialCheck"
     export default {
         name: "sendWork",
         data(){
             return{
                 dialogVisible:false,
+                fileList: [],
+                fileType: ['pdf','doc','docx'],
                 workForm: {
                     taskName: '',
                     provinceWholesaleCheckTarget: null,
@@ -193,7 +215,8 @@
                     areaWholesaleCheckDeadline: '',
                     areaRetailCheckTarget: null,
                     areaRetailCheckDeadline: '',
-                    enterpriseSelfCheckDeadline: ''
+                    enterpriseSelfCheckDeadline: '',
+                    taskDescFileName: null
                 },
                 rules: {
                     taskName: [{ required: true, message: '请输入任务名称', trigger: 'blur' }],
@@ -216,6 +239,102 @@
         watch: {
         },
         methods:{
+            //上传文件的事件
+            async uploadFile(item){
+                const t = this
+                const loading = this.$loading({
+                    lock: true,
+                    text: '正在上传文件...',
+                    spinner: 'el-icon-loading'
+                });
+                //上传文件的需要formdata类型;所以要转
+                let FormDatas = new FormData()
+                FormDatas.append('taskDescFile',item.file);
+                const res = await uploadFile(FormDatas)
+                if(res.data.code == '200'){
+                    loading.close();
+                    t.$message({
+                        type:'success',
+                        message: '上传成功'
+                    })
+                    t.fileList.push(item.file)
+                    console.log(t.fileList,'fileList')
+                    t.workForm.taskDescFileName = res.data.result
+                }else{
+                    loading.close();
+                    t.$message({
+                        type:'warning',
+                        message:res.data.message
+                    })
+                }
+                // axios({
+                //     method: 'post',
+                //     url: 'http://192.168.0.29:8100/checkTask/upload/taskDescFile',
+                //     headers:this.headers,
+                //     timeout: 30000,
+                //     data: FormDatas
+                // }).then(res=>{
+                //     if(res.data.id != '' || res.data.id != null){
+                //         this.fileList.push(item.file);//成功过后手动将文件添加到展示列表里
+                //         let i = this.fileList.indexOf(item.file)
+                //         this.fileList[i].id = res.data.id;//id也添加进去,最后整个大表单提交的时候需要的
+                //         if(this.fileList.length > 0){//如果上传了附件就把校验规则给干掉
+                //             this.fileflag = false;
+                //             this.$set(this.rules.url,0,'')
+                //         }
+                //         //this.handleSuccess();
+                //     }
+                // })
+            },
+            //上传文件之前
+            beforeUpload(file){
+                // const t = this
+                // if (file.type != "" || file.type != null || file.type != undefined){
+                //     //截取文件的后缀,判断文件类型
+                //     console.log(t.fileType,file.name,'666')
+                //     const FileExt = file.name.replace(/.+\./, "").toLowerCase();
+                //     // //计算文件的大小
+                //     // const isLt5M = file.size / 1024 / 1024 < 50; //这里做文件大小限制
+                //     // //如果大于50M
+                //     // if (!isLt5M) {
+                //     //     this.$showMessage('上传文件大小不能超过 50MB!');
+                //     //     return false;
+                //     // }
+                //     //如果文件类型不在允许上传的范围内
+                //     if(t.fileType.indexOf(FileExt) !== -1){
+                //         return true;
+                //     }
+                //     else {
+                //         t.$message.error("上传文件格式不正确!");
+                //         return false;
+                //     }
+                // }
+            },
+            async handleRemove(file, fileList) {
+                const t = this
+                const res = await delateFile({taskDescFileName: t.workForm.taskDescFileName})
+                if(res.data.code == '200'){
+                    t.$message({
+                        type:'success',
+                        message: '删除成功'
+                    })
+                    t.fileList = []
+                }else{
+                    t.$message({
+                        type:'warning',
+                        message:res.data.message
+                    })
+                }
+            },
+            handlePreview(file) {
+                console.log(file);
+            },
+            handleExceed(files, fileList) {
+                this.$message.warning(`当前限制选择 1 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`);
+            },
+            beforeRemove(file, fileList) {
+                return this.$confirm(`确定移除 ${ file.name }?`);
+            },
             confirmSend(formName){
                 const t = this
                 t.$refs[formName].validate((valid) => {
@@ -230,22 +349,24 @@
                         }).then(async () => {
                             const loading = this.$loading({
                                 lock: true,
-                                text: '正在下发',
+                                text: '正在下发...',
                                 spinner: 'el-icon-loading'
                             });
                             let res = await sendCheckTask(t.workForm)
                             if(res.data.code === "200"){
+                                loading.close();
                                 t.$message({
                                     type:'success',
                                     message: '任务下发成功'
                                 })
                             }else{
+                                loading.close();
                                 t.$message({
                                     type:'warning',
                                     message:res.data.message
                                 })
                             }
-                            loading.close();
+                            t.fileList = []
                             t.dialogVisible = false
                             t.$parent.getSpecialCheckTask();
                         }).catch(() => {
@@ -259,8 +380,28 @@
                     }
                 });
             },
-            resetForm(formName) {
-                this.$refs[formName].resetFields();
+            cancleSend(){
+               this.resetForm('workForm')
+                this.dialogVisible = false
+            },
+            async resetForm(formName) {
+                const t = this
+                if(t.workForm.taskDescFileName !== null){
+                    const res = await delateFile({taskDescFileName: t.workForm.taskDescFileName})
+                    if(res.data.code == '200'){
+                        t.$message({
+                            type:'success',
+                            message: '已取消下发'
+                        })
+                    }else{
+                        t.$message({
+                            type:'warning',
+                            message:res.data.message
+                        })
+                    }
+                }
+                t.$refs[formName].resetFields()
+                t.fileList = []
             }
         },
     }
@@ -279,6 +420,21 @@
         background-color: #fafafa;
         color: #034EA2;
     }
+    .upload-demo{
+        margin-bottom: 20px;
+        background: #fafafa;
+        padding: 20px 15px;
+        border-radius: 8px;
+
+        .el-upload__tip{
+            font-size: 14px;
+            color: #999;
+        }
+
+        .el-upload-list{
+            background-color: #ccc !important;
+        }
+    }
     .form-part{
         background: #fafafa;
         padding: 10px 15px;

--
Gitblit v1.9.2