浏览代码

英文研报列表配置审批

cxmo 1 年之前
父节点
当前提交
b7ceda6f22

+ 1 - 1
src/views/approve_manage/approveList.vue

@@ -81,7 +81,7 @@
                             </template>
                             <template v-if="activeTab==='processed'">
                                 <el-button type="text" style="padding:0;" @click="toApproveDetail(row,'detail')">详情</el-button>
-                                <el-button type="text" style="padding:0" @click="handleShowDetail(row)">驳回理由</el-button>
+                                <el-button type="text" style="padding:0" @click="handleShowDetail(row)" v-if="row.State===3">驳回理由</el-button>
                             </template>
                             <template v-if="activeTab==='originate'">
                                 <el-button type="text" style="padding:0;" @click="toApproveDetail(row,'myself')">详情</el-button>

+ 2 - 3
src/views/report_manage/mixins/messagePush.js

@@ -5,7 +5,6 @@ export default {
   data() {
     return {
       isMessagePost: false,
-      //isApprove:false,//是否走审批流
       isRightFormShow:true,
     };
   },
@@ -154,7 +153,7 @@ export default {
     },
     //提交审批
     submitReport(type){
-        if(type==='submit'){
+        /* if(type==='submit'){ */
             approveInterence.reportCnSubmit({
                 ReportId:Number(this.submitId)
             }).then(res=>{
@@ -163,7 +162,7 @@ export default {
                 this.isPublishloading = false;
                 this.$router.push({ path: '/reportlist' });
             })
-        }
+        /* } */
     }
   },
 };

+ 34 - 15
src/views/report_manage/reportEn/reportEditor.vue

@@ -31,7 +31,7 @@
     </div>
 		
 		<div id="rightitems" v-show="isRightFormShow">
-			<div
+			<div v-if="!pageLoading"
 				style="
 					text-align: right;
 					padding: 0px 0 15px 0;
@@ -63,19 +63,25 @@
 					@click.native="clickreportadd('cg')"
 					>存草稿</el-button
 				>
-				<el-button v-permission="permissionBtn.enReportManageBtn.enReport_publish"
-					type="primary"
-					size="medium"
-					@click.native="clickreportadd('dsfb')"
-					>定时发布</el-button
-				>
-				<el-button
-					type="primary"
-					size="medium"
-					@click.native="clickreportadd('fb')"
-					:loading="isPublishloading"
-					>发布</el-button
-				>
+				<template v-if="!isApprove">
+					<el-button v-permission="permissionBtn.enReportManageBtn.enReport_publish"
+						type="primary"
+						size="medium"
+						@click.native="clickreportadd('dsfb')"
+						>定时发布</el-button
+					>
+					<el-button v-permission="permissionBtn.enReportManageBtn.enReport_publish"
+						type="primary"
+						size="medium"
+						@click.native="clickreportadd('fb')"
+						:loading="isPublishloading"
+						>发布</el-button
+					>
+				</template>
+				<template v-if="isApprove">
+					<el-button v-permission="permissionBtn.enReportManageBtn.enReport_publish"
+						type="primary" size="medium" @click="clickreportadd('submit')">提交</el-button>
+				</template>
 			</div>
 			<div
 				style="margin: 0px 0 0 20px;padding: 10px 20px;box-sizing: border-box;background: #fff;border: 1px solid #3464e0;"
@@ -370,14 +376,16 @@ import {
 } from 'api/api.js';
 import {authorEn} from '@/api/modules/reportAuthorApi.js';
 import * as reportEnInterface from '@/api/modules/reportEnApi';
+import {approveInterence} from '@/api/modules/approve.js';
 import http from '@/api/http.js';
 import mixinMsg from '../mixins/messagePush'
 import reportMixin from '../mixins/reportMixin';
+import reportApproveConfig from "@/mixins/reportApproveConfig.js"
 import importMyChart from '../components/importMyChart.vue'
 import setEnNameDia from '@/views/dataEntry_manage/components/setEnNameDia.vue'
 import importSemantics from '../components/importSemantics.vue';
 export default {
-	mixins:[mixinMsg,reportMixin],
+	mixins:[mixinMsg,reportMixin,reportApproveConfig],
 	data() {
 		return {
 			//批量导入图表
@@ -753,6 +761,8 @@ export default {
 				}else if(tp==='dsfb'){
 					//定时发布
 					this.showDSFB=true
+				}else if(tp==='submit'){
+					this.submitReport()
 				}
 			// if (tp == 'yl') { //预览
 			// 	sessionStorage.setItem('reportdtl', JSON.stringify(params));
@@ -766,6 +776,15 @@ export default {
 			// 	this.reporteditMsg(params,tp)
 			// }
 		},
+		submitReport(){
+			approveInterence.reportSmartSubmit({
+				ReportId:Number(this.report_id)
+			}).then(res=>{
+				if(res.Ret!==200) return
+				this.$message.success("提交成功")
+				this.$router.push({ path: '/reportEnList' });
+			})
+		},
 
 		publishreport(id) {
 			//发布报告

+ 99 - 88
src/views/report_manage/reportEn/reportlist.vue

@@ -75,8 +75,12 @@
                             clearable
                             style="width:100%;"
                         >
-                            <el-option label="已发布" :value="2"></el-option>
                             <el-option label="未发布" :value="1"></el-option>
+                            <el-option label="已发布" :value="2"></el-option>
+                            <el-option label="待提交" :value="3"></el-option>
+                            <el-option label="待审批" :value="4"></el-option>
+                            <el-option label="已驳回" :value="5"></el-option>
+                            <el-option label="已通过" :value="6"></el-option>
                         </el-select>
                     </div>
                     <div class="select-item">
@@ -100,17 +104,6 @@
                 </div>
             </el-popover>
           </el-form-item>
-          <!-- <el-form-item label="">
-            <el-select
-              v-model="searchform.timeType"
-              placeholder="选择时间类型"
-              size="medium"
-              style="width:110px"
-            >
-              <el-option label="发布时间" value="publish_time"></el-option>
-              <el-option label="更新时间" value="modify_time"></el-option>
-            </el-select>
-          </el-form-item> -->
           <el-form-item label="">
             <el-date-picker
               v-model="searchform.dateValue"
@@ -124,56 +117,6 @@
               style="width: 280px"
             ></el-date-picker>
           </el-form-item>
-          <!-- <el-form-item label="">
-            <el-select
-              v-model="searchform.frequency"
-              placeholder="更新频度筛选"
-              size="medium"
-              clearable
-              style="width: 140px"
-            >
-              <el-option v-for="item in frequencyArr" :key="item" :label="item" :value="item"></el-option>
-            </el-select>
-          </el-form-item> -->
-          <!-- <el-form-item label="">
-            <el-cascader
-              :options="optionsArr"
-              :props="{
-                value:'Id',
-                label:'ClassifyName',
-                children:'Child'
-              }"
-              v-model="searchform.classifynameArr"
-              clearable
-              placeholder="类型筛选"
-              size="medium"
-            ></el-cascader>
-          </el-form-item> -->
-          <!-- <el-form-item label="">
-            <el-select
-              v-model.number="searchform.publishState"
-              placeholder="发布筛选"
-              size="medium"
-              clearable
-              style="width: 140px"
-            >
-              <el-option label="已发布" :value="2"></el-option>
-              <el-option label="未发布" :value="1"></el-option>
-            </el-select>
-          </el-form-item> -->
-          <!-- <el-form-item label="">
-            <el-select
-              v-permission="permissionBtn.enReportManageBtn.enReport_sendEmail"
-              v-model.number="searchform.EmailState"
-              placeholder="群发状态筛选"
-              size="medium"
-              clearable
-              style="width: 140px"
-            >
-              <el-option label="未群发邮件" :value="1"></el-option>
-              <el-option label="已群发邮件" :value="2"></el-option>
-            </el-select>
-          </el-form-item> -->
           <el-form-item style="margin-left:auto;">
             <el-input
               placeholder="标题 / 创建人"
@@ -241,33 +184,72 @@
               </span>
 
               <span v-else-if="item.key==='handle'">
-                <template v-if="row.State===1">
-                    <span class="editsty" v-permission="permissionBtn.enReportManageBtn.enReport_publish"
-                        @click="reportHandle(row,'publish')" v-if="row.CanEdit">发布</span>
-                    <span v-permission="permissionBtn.enReportManageBtn.enReport_reportEdit"
-                        class="editsty" @click="reportHandle(row,'edit')" v-if="row.CanEdit">编辑</span>
-                  <!-- <span class="editsty" @click="reportHandle(row,'editing')" v-else>{{row.Editor||''}}编辑中...</span> -->
-                  <span v-permission="permissionBtn.enReportManageBtn.enReport_reportEdit"
-                    class="editsty" @click="reportHandle(row,'edit')" v-else>{{row.Editor||''}}编辑中...</span>
-                  <span v-permission="permissionBtn.enReportManageBtn.enReport_reportDel"
-                    class="deletesty" @click="reportHandle(row,'del')" v-if="row.CanEdit">删除</span>
-                </template>
-                <template v-else>
-                    <span v-if="permissionBtn.checkPermissionBtn(permissionBtn.enReportManageBtn.enReport_cancelPublish)"
-                        @click="reportHandle(row,'cancelPublish')" class="deletesty">取消发布</span>
-                    <span v-if="row.EmailState===0&&row.EmailAuth&&permissionBtn.checkPermissionBtn(permissionBtn.enReportManageBtn.enReport_sendEmail)"
-                        class="editsty copylink" @click="reportHandle(row,'sendEmail')">群发邮件</span>
+                    <!-- 操作:未发布——发布、编辑、删除
+                    已发布——取消发布、群发邮件/群发日志
+                    待提交——提交、编辑、删除
+                    待审批——撤销
+                    已通过——撤销、群发邮件/群发日志
+                    已驳回——撤销 -->
+                    <template v-if="[1,3].includes(row.State)">
+                        <span class="editsty" @click="reportHandle(row,'publish')" v-if="row.CanEdit&&row.State===1
+                                &&permissionBtn.isShowBtn('enReportManageBtn','enReport_publish')">发布</span>
+                        <span class="editsty" @click="handleSubmitReport(row)" v-if="row.CanEdit&&row.State===3
+                                &&permissionBtn.isShowBtn('enReportManageBtn','enReport_publish')">提交</span>
+                        <span v-permission="permissionBtn.enReportManageBtn.enReport_reportEdit" class="editsty"
+                            @click="reportHandle(row,'edit')" v-if="row.CanEdit">编辑</span>
+                        <span v-permission="permissionBtn.enReportManageBtn.enReport_reportEdit" class="editsty"
+                            @click="reportHandle(row,'edit')" v-else>{{row.Editor||''}}编辑中...</span>
+                        <span v-permission="permissionBtn.enReportManageBtn.enReport_reportDel" class="deletesty"
+                            @click="reportHandle(row,'del')" v-if="row.CanEdit">删除</span>
+                    </template>
+                    <template v-if="[2,6].includes(row.State)">
+                        <span
+                            v-if="permissionBtn.isShowBtn('enReportManageBtn','enReport_cancelPublish')&&row.State===2"
+                            @click="reportHandle(row,'cancelPublish')" class="deletesty">取消发布</span>
+                        <span
+                            v-if="permissionBtn.isShowBtn('enReportManageBtn','enReport_cancelPublish')&&row.State===6"
+                            @click="cancelReport(row)" class="deletesty">撤销</span>
+                        <span
+                            v-if="row.EmailState===0&&row.EmailAuth&&permissionBtn.checkPermissionBtn(permissionBtn.enReportManageBtn.enReport_sendEmail)"
+                            class="editsty copylink" @click="reportHandle(row,'sendEmail')">群发邮件</span>
+
+                        <span class="editsty copylink"
+                            v-if="row.EmailState===1&&row.EmailAuth&&permissionBtn.checkPermissionBtn(permissionBtn.enReportManageBtn.enReport_sendEmail)"
+                            @click="reportHandle(row,'view-log')" style="position: relative;">
+                            群发日志
+                            <span class="warn-tag" v-if="row.EmailHasFail"></span>
+                        </span>
+                    </template>
+                    <template v-if="[4,5].includes(row.State)">
+                        <span v-if="permissionBtn.isShowBtn('enReportManageBtn','enReport_cancelPublish')"
+                            @click="cancelReport(row)" class="deletesty">撤销</span>
+                    </template>
 
-                  <span
-                    class="editsty copylink" 
-                    v-if="row.EmailState===1&&row.EmailAuth&&permissionBtn.checkPermissionBtn(permissionBtn.enReportManageBtn.enReport_sendEmail)" 
-                    @click="reportHandle(row,'view-log')"
-                    style="position: relative;"
-                  >
-                    群发日志 
-                    <span class="warn-tag" v-if="row.EmailHasFail"></span>
-                  </span>
-								</template>
+                  <!-- <template v-if="row.State===1">
+                      <span class="editsty" v-permission="permissionBtn.enReportManageBtn.enReport_publish"
+                          @click="reportHandle(row,'publish')" v-if="row.CanEdit">发布</span>
+                      <span v-permission="permissionBtn.enReportManageBtn.enReport_reportEdit" class="editsty"
+                          @click="reportHandle(row,'edit')" v-if="row.CanEdit">编辑</span>
+                      <span v-permission="permissionBtn.enReportManageBtn.enReport_reportEdit" class="editsty"
+                          @click="reportHandle(row,'edit')" v-else>{{row.Editor||''}}编辑中...</span>
+                      <span v-permission="permissionBtn.enReportManageBtn.enReport_reportDel" class="deletesty"
+                          @click="reportHandle(row,'del')" v-if="row.CanEdit">删除</span>
+                  </template>
+                  <template v-else>
+                      <span
+                          v-if="permissionBtn.checkPermissionBtn(permissionBtn.enReportManageBtn.enReport_cancelPublish)"
+                          @click="reportHandle(row,'cancelPublish')" class="deletesty">取消发布</span>
+                      <span
+                          v-if="row.EmailState===0&&row.EmailAuth&&permissionBtn.checkPermissionBtn(permissionBtn.enReportManageBtn.enReport_sendEmail)"
+                          class="editsty copylink" @click="reportHandle(row,'sendEmail')">群发邮件</span>
+
+                      <span class="editsty copylink"
+                          v-if="row.EmailState===1&&row.EmailAuth&&permissionBtn.checkPermissionBtn(permissionBtn.enReportManageBtn.enReport_sendEmail)"
+                          @click="reportHandle(row,'view-log')" style="position: relative;">
+                          群发日志
+                          <span class="warn-tag" v-if="row.EmailHasFail"></span>
+                      </span>
+                  </template> -->
               </span>
 
 							<span v-else>{{ row[item.key] || '' }}</span>
@@ -456,9 +438,12 @@
 <script>
 import * as reportEnInterface from '@/api/modules/reportEnApi';
 import {strategyReportInterence,reportVarietyENInterence,customInterence} from '@/api/api.js'
+import {approveInterence} from '@/api/modules/approve.js';
+import reportApproveConfig from "@/mixins/reportApproveConfig.js"
 import mPage from '@/components/mPage.vue';
 import strategyReportEdit from '../components/strategyReportEdit.vue'
 export default {
+  mixins:[reportApproveConfig],
   watch: {
     searchform: {
       handler() {
@@ -675,6 +660,32 @@ export default {
 
       handleMap[key](row);
     },
+    /* 提交报告 */
+    handleSubmitReport(row){
+        approveInterence.reportEnSubmit({
+            ReportId:Number(row.Id)
+        }).then(res=>{
+            if(res.Ret!==200) return 
+            this.$message.success("提交成功")
+            this.getTableData()
+
+        })
+    },
+    //撤销提交报告
+    cancelReport(item){
+        this.$confirm("你确定要撤销申请吗?","提示",{
+            confirmButtonText:'确定',
+            cancelButtonText:'取消'
+        }).then(()=>{
+            approveInterence.reportEnCancel({
+                ReportId:Number(item.Id)
+            }).then(res=>{
+                if(res.Ret!==200) return 
+                this.$message.success("撤销成功")
+                this.getTableData()
+            })
+        })
+    },
 
     /* 发布报告 */
     publishReport(item) {

+ 2 - 2
src/views/report_manage/reportlist.vue

@@ -1044,7 +1044,7 @@ export default {
     },
     submitReport(type){
         //both:提交&推送
-        if(type==='submit'){
+        /* if(type==='submit'){ */
             approveInterence.reportCnSubmit({
                 ReportId:Number(this.submitId)
             }).then(res=>{
@@ -1052,7 +1052,7 @@ export default {
                 this.$message.success("提交成功")
                 this.getlist()
             })
-        }
+        /* } */
     },
     //撤销提交报告
     cancelReport(item){