Jelajahi Sumber

重新上报

zhuangyunsheng 1 tahun lalu
induk
melakukan
fcdf060258

+ 3 - 5
src/layout/components/Main/index.vue

@@ -10,11 +10,9 @@ const props = defineProps({
 <template>
     <section :class="['tjm_main_content_container', hasPadding && 'content-has-padding']">
         <router-view v-slot="{ Component, route }">
-            <transition-group appear name="fade-transform" mode="out-in">
-                <keep-alive :include="cachedViews">
-                    <component :is="Component" :key="route.path" />
-                </keep-alive>  
-            </transition-group>
+            <keep-alive :include="cachedViews">
+                <component :is="Component" :key="route.path" />
+            </keep-alive>
         </router-view>
     </section>
 </template>

+ 1 - 1
src/router/constantRoutes.js

@@ -53,7 +53,7 @@ export const staticRoutes = [
                 meta: {
                     title: "首页",
                     icon: "ep-home-filled",
-                    affix: true
+                    affix: false
                 },
                 children: []
             }, {

+ 11 - 10
src/views/caseShare/dialog.vue

@@ -9,52 +9,52 @@
                 </el-col>
                 <el-col :span="12">
                     <el-form-item label="项目名称" prop="policyStrive.name">
-                        <el-input v-model="form.policyStrive.name" readonly placeholder="点击选择政策争取" @click="showStrive"></el-input>
+                        <el-input v-model="form.policyStrive.name" readonly :disabled="mode != 'add'" placeholder="点击选择政策争取" @click="showStrive"></el-input>
                     </el-form-item>
                 </el-col>
                 <el-col :span="12">
                     <el-form-item label="填报人">
-                        <el-input v-model="form.policyStrive.createName" readonly placeholder="自动带出"></el-input>
+                        <el-input v-model="form.policyStrive.createName" readonly :disabled="form.striveId" placeholder="自动带出"></el-input>
                     </el-form-item>
                 </el-col>
                 <el-col :span="12">
                     <el-form-item label="填报部门">
-                        <el-input v-model="form.policyStrive.deptName" readonly placeholder="自动带出"></el-input>
+                        <el-input v-model="form.policyStrive.deptName" readonly :disabled="form.striveId" placeholder="自动带出"></el-input>
                     </el-form-item>
                 </el-col>
                 <el-col :span="12">
                     <el-form-item label="填报单位">
-                        <el-input v-model="form.policyStrive.companyName" readonly placeholder="自动带出"></el-input>
+                        <el-input v-model="form.policyStrive.companyName" readonly :disabled="form.striveId" placeholder="自动带出"></el-input>
                     </el-form-item>
                 </el-col>
                 <el-col v-if="form.id" :span="12">
                     <el-form-item label="填报日期">
-                        <el-date-picker v-model="form.createTime" readonly format="YYYY-MM-DD"></el-date-picker>
+                        <el-date-picker v-model="form.createTime" readonly :disabled="form.striveId" format="YYYY-MM-DD"></el-date-picker>
                     </el-form-item>
                 </el-col>
                 <el-col :span="12">
                     <el-form-item label="项目等级" required>
-                        <el-input v-model="form.policyStrive.zcLevel" readonly placeholder="自动带出"></el-input>
+                        <el-input v-model="form.policyStrive.zcLevel" readonly :disabled="form.striveId" placeholder="自动带出"></el-input>
                     </el-form-item>
                 </el-col>
                 <el-col :span="12">
                     <el-form-item label="项目类别" required>
-                        <el-input v-model="form.policyStrive.zcType" readonly placeholder="自动带出"></el-input>
+                        <el-input v-model="form.policyStrive.zcType" readonly :disabled="form.striveId" placeholder="自动带出"></el-input>
                     </el-form-item>
                 </el-col>
                 <el-col :span="12">
                     <el-form-item label="政策文号" required>
-                        <el-input v-model="form.policyStrive.docNo" readonly placeholder="自动带出"></el-input>
+                        <el-input v-model="form.policyStrive.docNo" readonly :disabled="form.striveId" placeholder="自动带出"></el-input>
                     </el-form-item>
                 </el-col>
                 <el-col :span="12">
                     <el-form-item label="联系方式" required>
-                        <el-input v-model="form.policyStrive.contactPhone" readonly placeholder="自动带出"></el-input>
+                        <el-input v-model="form.policyStrive.contactPhone" readonly :disabled="form.striveId" placeholder="自动带出"></el-input>
                     </el-form-item>
                 </el-col>
                 <el-col :span="24">
                     <el-form-item label="项目概要" required>
-                        <el-input v-model="form.policyStrive.abstractContent" type="textarea" :rows="4" readonly placeholder="自动带出"></el-input>
+                        <el-input v-model="form.policyStrive.abstractContent" type="textarea" :rows="4" readonly :disabled="form.striveId" placeholder="自动带出"></el-input>
                     </el-form-item>
                 </el-col>
                 <el-col :span="24">
@@ -68,6 +68,7 @@
                         <yhUpload v-model="form.policyStrive.fileList" disabled :limit="10">
                             <el-button type="primary" icon="upload" size="small"></el-button>
                         </yhUpload>
+                        <el-text v-if="!form.policyStrive.fileList.length" type="info">自动带出</el-text>
                     </el-form-item>
                 </el-col>
             </el-row>

+ 22 - 16
src/views/myAffairs/case.vue

@@ -1,65 +1,65 @@
 <template>
-    <el-dialog v-model="visible" title="详情" width="680" @closed="$emit('closed')">
-        <el-form ref="formRef" :model="form" :rules="rules" :disabled="mode == 'agree' || mode == 'refuse'"  label-width="110px">
+    <el-dialog v-model="visible" :title="isResubmit && '重新上报' || '详情'" width="680" @closed="$emit('closed')">
+        <el-form ref="formRef" :model="form" :rules="rules" label-width="110px">
             <el-row>
                 <el-col v-if="form.id" :span="12">
                     <el-form-item label="案例编号" prop="businessNo">
-                        <el-input v-model="form.businessNo" readonly :disabled="mode != 'add'"></el-input>
+                        <el-input v-model="form.businessNo" disabled></el-input>
                     </el-form-item>
                 </el-col>
                 <el-col :span="12">
                     <el-form-item label="项目名称" prop="policyStrive.name">
-                        <el-input v-model="form.policyStrive.name" readonly placeholder="点击选择政策争取"></el-input>
+                        <el-input v-model="form.policyStrive.name" disabled placeholder="点击选择政策争取"></el-input>
                     </el-form-item>
                 </el-col>
                 <el-col :span="12">
                     <el-form-item label="填报人">
-                        <el-input v-model="form.policyStrive.createName" readonly placeholder="自动带出"></el-input>
+                        <el-input v-model="form.policyStrive.createName" disabled placeholder="自动带出"></el-input>
                     </el-form-item>
                 </el-col>
                 <el-col :span="12">
                     <el-form-item label="填报部门">
-                        <el-input v-model="form.policyStrive.deptName" readonly placeholder="自动带出"></el-input>
+                        <el-input v-model="form.policyStrive.deptName" disabled placeholder="自动带出"></el-input>
                     </el-form-item>
                 </el-col>
                 <el-col :span="12">
                     <el-form-item label="填报单位">
-                        <el-input v-model="form.policyStrive.companyName" readonly placeholder="自动带出"></el-input>
+                        <el-input v-model="form.policyStrive.companyName" disabled placeholder="自动带出"></el-input>
                     </el-form-item>
                 </el-col>
                 <el-col v-if="form.id" :span="12">
                     <el-form-item label="填报日期">
-                        <el-date-picker v-model="form.createTime" readonly format="YYYY-MM-DD"></el-date-picker>
+                        <el-date-picker v-model="form.createTime" disabled format="YYYY-MM-DD"></el-date-picker>
                     </el-form-item>
                 </el-col>
                 <el-col :span="12">
                     <el-form-item label="项目等级" required>
-                        <el-input v-model="form.policyStrive.zcLevel" readonly placeholder="自动带出"></el-input>
+                        <el-input v-model="form.policyStrive.zcLevel" disabled placeholder="自动带出"></el-input>
                     </el-form-item>
                 </el-col>
                 <el-col :span="12">
                     <el-form-item label="项目类别" required>
-                        <el-input v-model="form.policyStrive.zcType" readonly placeholder="自动带出"></el-input>
+                        <el-input v-model="form.policyStrive.zcType" disabled placeholder="自动带出"></el-input>
                     </el-form-item>
                 </el-col>
                 <el-col :span="12">
                     <el-form-item label="政策文号" required>
-                        <el-input v-model="form.policyStrive.docNo" readonly placeholder="自动带出"></el-input>
+                        <el-input v-model="form.policyStrive.docNo" disabled placeholder="自动带出"></el-input>
                     </el-form-item>
                 </el-col>
                 <el-col :span="12">
                     <el-form-item label="联系方式" required>
-                        <el-input v-model="form.policyStrive.contactPhone" readonly placeholder="自动带出"></el-input>
+                        <el-input v-model="form.policyStrive.contactPhone" disabled placeholder="自动带出"></el-input>
                     </el-form-item>
                 </el-col>
                 <el-col :span="24">
                     <el-form-item label="项目概要" required>
-                        <el-input v-model="form.policyStrive.abstractContent" type="textarea" :rows="4" readonly placeholder="自动带出"></el-input>
+                        <el-input v-model="form.policyStrive.abstractContent" type="textarea" :rows="4" disabled placeholder="自动带出"></el-input>
                     </el-form-item>
                 </el-col>
                 <el-col :span="24">
                     <el-form-item label="经验分享" prop="expContent">
-                        <el-input v-model="form.expContent" type="textarea" :rows="4" placeholder="请输入经验"></el-input>
+                        <el-input v-model="form.expContent" type="textarea" :rows="4" :disabled="!isResubmit" placeholder="请输入经验"></el-input>
                     </el-form-item>
                 </el-col>
 
@@ -85,7 +85,7 @@
 
         <template #footer>
             <template v-if="form.processDefinitionId">
-                <el-button v-if="mode == 'resubmit'" :loading="isSaving" type="primary" @click="submit">重新上报</el-button>
+                <el-button v-if="isResubmit" :loading="isSaving" type="primary" @click="submit">重新上报</el-button>
                 <el-button v-else :loading="isSaving" type="primary" @click="submit">确 定</el-button>
             </template>
         </template>
@@ -144,6 +144,12 @@ export default {
         }
     },
 
+    computed: {
+        isResubmit() {
+            return this.mode == "resubmit";
+        }
+    },
+
     methods: {
         open(mode = "agree") {
             this.mode = mode;
@@ -172,7 +178,7 @@ export default {
         // 表单提交方法
         submit() {
             const promiseArray = [this.$refs.approveRef.validate()];
-            this.mode == "resubmit" && promiseArray.push(this.$refs.formRef.validate());
+            this.isResubmit && promiseArray.push(this.$refs.formRef.validate());
 
             Promise.all(promiseArray).then(() => {
                 this.isSaving = true;

+ 24 - 10
src/views/myAffairs/share.vue

@@ -1,6 +1,6 @@
 <template>
-    <el-dialog v-model="visible" title="详情" width="680" @closed="$emit('closed')">
-        <el-form ref="formRef" :model="form" :rules="rules" :disabled="mode == 'agree' || mode == 'refuse'" label-width="110px">
+    <el-dialog v-model="visible" :title="isResubmit && '重新上报' || '详情'" width="680" @closed="$emit('closed', fileIsDel)">
+        <el-form ref="formRef" :model="form" :rules="rules" :disabled="!isResubmit" label-width="110px">
             <el-row>
                 <el-col :span="12">
                     <el-form-item label="政策编号" prop="businessNo">
@@ -34,12 +34,16 @@
                 </el-col>
                 <el-col :span="12">
                     <el-form-item label="政策等级" prop="zcLevel">
-                        <el-input v-model="form.zcLevel" readonly></el-input>
+                        <el-select v-model="form.zcLevel" placeholder="请选择政策等级">
+                            <el-option v-for="item in levelDic" :key="item" :label="item" :value="item"></el-option>
+                        </el-select>
                     </el-form-item>
                 </el-col>
                 <el-col :span="12">
                     <el-form-item label="政策类别" prop="zcType">
-                        <el-input v-model="form.zcType" readonly></el-input>
+                        <el-select v-model="form.zcType" placeholder="请选择政策类别">
+                            <el-option v-for="item in typeDic" :key="item" :label="item" :value="item"></el-option>
+                        </el-select>
                     </el-form-item>
                 </el-col>
                 <el-col :span="12">
@@ -58,8 +62,8 @@
                     </el-form-item>
                 </el-col>
                 <el-col :span="24">
-                    <el-form-item class="no-upload-btn" label="附件">
-                        <yhUpload v-model="form.fileList" :limit="10">
+                    <el-form-item :class="!isResubmit && 'no-upload-btn'" label="附件">
+                        <yhUpload v-model="form.fileList" v-model:isUpload="isUpload" :limit="10" @updateTable="fileIsDel = true">
                             <el-button type="primary" icon="upload" size="small"></el-button>
                         </yhUpload>
                     </el-form-item>
@@ -101,7 +105,7 @@
 
         <template #footer>
             <template v-if="form.processDefinitionId">
-                <el-button v-if="mode == 'resubmit'" :loading="isSaving" type="primary" @click="submit">重新上报</el-button>
+                <el-button v-if="isResubmit" :loading="isSaving" :disabled="isUpload" type="primary" @click="submit">重新上报</el-button>
                 <el-button v-else :loading="isSaving" type="primary" @click="submit">确 定</el-button>
             </template>
         </template>
@@ -111,7 +115,7 @@
 <script>
 import API from "@/api/policy/share";
 import Workflow from "@/api/workflow";
-import { storageTypeDic, whetherDic } from "@/views/policyShare/main";
+import { levelDic, typeDic, storageTypeDic, whetherDic } from "@/views/policyShare/main";
 
 import yhUpload from "@/components/Upload/index.vue";
 
@@ -124,10 +128,13 @@ export default {
 
     data() {
         return {
-            storageTypeDic, whetherDic,
+            levelDic, typeDic, storageTypeDic, whetherDic,
 
             visible: false,
             isSaving: false,
+            isUpload: false,
+            fileIsDel: false,
+
             mode: "agree",
             form: {
                 id: null,
@@ -171,6 +178,12 @@ export default {
         }
     },
 
+    computed: {
+        isResubmit() {
+            return this.mode == "resubmit";
+        }
+    },
+
     methods: {
         open(mode = "agree") {
             this.mode = mode;
@@ -200,7 +213,7 @@ export default {
         // 表单提交方法
         submit() {
             const promiseArray = [this.$refs.approveRef.validate()];
-            this.mode == "resubmit" && promiseArray.push(this.$refs.formRef.validate());
+            this.isResubmit && promiseArray.push(this.$refs.formRef.validate());
 
             Promise.all(promiseArray).then(() => {
                 this.isSaving = true;
@@ -209,6 +222,7 @@ export default {
                     if (res.code === 200) {
                         ElMessage.success("操作成功");
                         this.visible = false;
+                        this.fileIsDel = false;
                         this.$emit("success");
                     } else ElMessage.error(res.msg);
                 }).catch(() => this.isSaving = false);

+ 24 - 9
src/views/myAffairs/strive.vue

@@ -1,6 +1,6 @@
 <template>
-    <el-dialog v-model="visible" title="详情" width="680" @closed="$emit('closed')">
-        <el-form ref="formRef" :model="form" :rules="rules" :disabled="mode == 'agree' || mode == 'refuse'" label-width="110px">
+    <el-dialog v-model="visible" :title="isResubmit && '重新上报' || '详情'" width="680" @closed="$emit('closed', fileIsDel)">
+        <el-form ref="formRef" :model="form" :rules="rules" :disabled="!isResubmit" label-width="110px">
             <el-row>
                 <el-col v-if="form.id" :span="12">
                     <el-form-item label="政策编号" prop="businessNo">
@@ -34,12 +34,16 @@
                 </el-col>
                 <el-col :span="12">
                     <el-form-item label="项目等级" prop="zcLevel">
-                        <el-input v-model="form.zcLevel" placeholder="请选择项目等级"></el-input>
+                        <el-select v-model="form.zcLevel" placeholder="请选择项目等级">
+                            <el-option v-for="item in levelDic" :key="item" :label="item" :value="item"></el-option>
+                        </el-select>
                     </el-form-item>
                 </el-col>
                 <el-col :span="12">
                     <el-form-item label="项目类别" prop="zcType">
-                        <el-input v-model="form.zcType" placeholder="请选择项目类别"></el-input>
+                        <el-select v-model="form.zcType" placeholder="请选择项目类别">
+                            <el-option v-for="item in typeDic" :key="item" :label="item" :value="item"></el-option>
+                        </el-select>
                     </el-form-item>
                 </el-col>
                 <el-col :span="12">
@@ -80,8 +84,8 @@
                     </el-form-item>
                 </el-col>
                 <el-col :span="24">
-                    <el-form-item class="no-upload-btn" label="附件">
-                        <yhUpload v-model="form.fileList" :limit="10">
+                    <el-form-item :class="!isResubmit && 'no-upload-btn'" label="附件">
+                        <yhUpload v-model="form.fileList" v-model:isUpload="isUpload" :limit="10" @updateTable="fileIsDel = true">
                             <el-button type="primary" icon="upload" size="small"></el-button>
                         </yhUpload>
                     </el-form-item>
@@ -101,7 +105,7 @@
 
         <template #footer>
             <template v-if="form.processDefinitionId">
-                <el-button v-if="mode == 'resubmit'" :loading="isSaving" type="primary" @click="submit">重新上报</el-button>
+                <el-button v-if="isResubmit" :loading="isSaving" :disabled="isUpload" type="primary" @click="submit">重新上报</el-button>
                 <el-button v-else :loading="isSaving" type="primary" @click="submit">确 定</el-button>
             </template>
         </template>
@@ -111,6 +115,7 @@
 <script>
 import API from "@/api/policy/strive";
 import Workflow from "@/api/workflow";
+import { levelDic, typeDic } from "@/views/policyShare/main";
 import { rewardTypeDic } from "@/views/policyStrive/main";
 
 import yhUpload from "@/components/Upload/index.vue";
@@ -124,10 +129,13 @@ export default {
 
     data() {
         return {
-            rewardTypeDic,
+            levelDic, typeDic, rewardTypeDic,
 
             visible: false,
             isSaving: false,
+            isUpload: false,
+            fileIsDel: false,
+
             mode: "agree",
             form: {
                 id: null,
@@ -171,6 +179,12 @@ export default {
         }
     },
 
+    computed: {
+        isResubmit() {
+            return this.mode == "resubmit";
+        }
+    },
+
     methods: {
         open(mode = "agree") {
             this.mode = mode;
@@ -195,7 +209,7 @@ export default {
         // 表单提交方法
         submit() {
             const promiseArray = [this.$refs.approveRef.validate()];
-            this.mode == "resubmit" && promiseArray.push(this.$refs.formRef.validate());
+            this.isResubmit && promiseArray.push(this.$refs.formRef.validate());
 
             Promise.all(promiseArray).then(() => {
                 this.isSaving = true;
@@ -204,6 +218,7 @@ export default {
                     if (res.code === 200) {
                         ElMessage.success("操作成功");
                         this.visible = false;
+                        this.fileIsDel = false;
                         this.$emit("success");
                     } else ElMessage.error(res.msg);
                 }).catch(() => this.isSaving = false);

+ 4 - 4
src/views/policyShare/index.vue

@@ -100,9 +100,9 @@
         </div>
     </el-card>
 
-    <policy-dialog v-if="dialog.update" ref="policyDialog" @success="reloadTable" @closed="closed"></policy-dialog>
+    <policy-dialog v-if="dialog.update" ref="policyDialog" @success="reloadTable" @closed="closed('update', $event)"></policy-dialog>
     <policy-detail v-if="dialog.detail" ref="policyDetail" @closed="dialog.detail = false"></policy-detail>
-    <policy-process-dialog v-if="dialog.process" ref="processDialog" @success="reloadTable" @closed="dialog.process = false"></policy-process-dialog>
+    <policy-process-dialog v-if="dialog.process" ref="processDialog" @success="reloadTable" @closed="closed('process', $event)"></policy-process-dialog>
     <yh-workflow v-if="dialog.workflow" ref="yhWorkflow" @closed="dialog.workflow = false"></yh-workflow>
 </template>
 
@@ -302,9 +302,9 @@ export default {
             }).catch(() => ElMessage.info("已取消"));
         },
 
-        closed(e) {
+        closed(key, e) {
             e && this.reloadTable();
-            this.dialog.update = false;
+            this.dialog[key] = false;
         },
 
         table_process(row) {

+ 4 - 4
src/views/policyStrive/index.vue

@@ -113,9 +113,9 @@
         </div>
     </el-card>
 
-    <policy-detail v-if="dialog.detail" ref="policyDetail" @success="reloadTable" @closed="closed"></policy-detail>
+    <policy-detail v-if="dialog.detail" ref="policyDetail" @success="reloadTable" @closed="closed('detail', $event)"></policy-detail>
     <policy-explain v-if="dialog.explain" ref="policyExplain" @success="reloadTable" @closed="dialog.explain = false"></policy-explain>
-    <policy-process-dialog v-if="dialog.process" ref="processDialog" @success="reloadTable" @closed="dialog.process = false"></policy-process-dialog>
+    <policy-process-dialog v-if="dialog.process" ref="processDialog" @success="reloadTable" @closed="closed('process', $event)"></policy-process-dialog>
     <yh-workflow v-if="dialog.workflow" ref="yhWorkflow" @closed="dialog.workflow = false"></yh-workflow>
 </template>
 
@@ -284,9 +284,9 @@ export default {
             }).catch(() => ElMessage.success("已取消"));
         },
 
-        closed(e) {
+        closed(key, e) {
             e && this.reloadTable();
-            this.dialog.detail = false;
+            this.dialog[key] = false;
         },
 
         table_process(row) {

+ 4 - 10
src/views/system/userInfo.vue

@@ -2,7 +2,7 @@
     <div class="userInfoWarp">
         <div class="left">
             <el-upload v-if="isEdit" class="avatar-upload" :show-file-list="false" accept=".jpg, .png" :limit="1" :before-upload="beforeAvatarUpload" :http-request="customRequest">
-                <el-icon><Plus /></el-icon>
+                <tjm-icon-ep-plus width="1em" height="1em" fill="currentcolor" />
             </el-upload>
             <el-avatar v-else :size="113" src="https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png" @error="errorHandler">
                 <img :src="originForm.avatar" />
@@ -295,18 +295,12 @@ function beforeAvatarUpload(rawFile) {
       height: 113px;
       border-radius: 50%;
       border: 1px dashed var(--el-border-color);
-
-      .el-icon {
-        font-size: 28px;
-        color: #8c939d;
-      }
+      font-size: 24px;
+      color: #8c939d;
 
       &:hover {
         border-color: var(--el-color-primary);
-
-        .el-icon {
-          color: var(--el-color-primary);
-        }
+        color: var(--el-color-primary);
       }
     }