Sfoglia il codice sorgente

SAI开项申请流程:操作按钮显示判断

wangggziwen 2 anni fa
parent
commit
c15ae9a0f1

+ 20 - 4
ui/src/views/approve/approveDetail/sai-apply-detail.vue

@@ -434,10 +434,13 @@
     </div>
     </div>
     <!-- 流程操作 -->
     <!-- 流程操作 -->
     <div slot="footer" class="dialog-footer">
     <div slot="footer" class="dialog-footer">
-      <el-button v-if="taskName != null && dataForm.applyStatus != 4 && dataForm.applyStatus != 5" @click="dataFormSave()">{{ $t('保存') }}</el-button>
-      <el-button type="success" v-if="taskName != null && dataForm.veResult != '0'" @click="dataFormSubmit(1)">{{ $t('通过') }}</el-button>
-      <el-button type="danger" v-if="taskName == '验收' && dataForm.veResult == '0'" @click="dataFormSubmit(2)">{{ $t('驳回') }}</el-button>
-      <el-button type="info" v-if="taskName == '评估'" @click="dataFormSubmit(0)">{{ $t('中止') }}</el-button>
+      <!-- 当前登录用户为处理人(之一)或张力飞 -->
+      <span v-if="scope.row.handler.indexOf(loginStaffInfo.userId) != -1 || loginStaffInfo.userId == '20276'">
+        <el-button v-if="taskName != null && dataForm.applyStatus != 4 && dataForm.applyStatus != 5" @click="dataFormSave()">{{ $t('保存') }}</el-button>
+        <el-button type="success" v-if="taskName != null && dataForm.veResult != '0'" @click="dataFormSubmit(1)">{{ $t('通过') }}</el-button>
+        <el-button type="danger" v-if="taskName == '验收' && dataForm.veResult == '0'" @click="dataFormSubmit(2)">{{ $t('驳回') }}</el-button>
+        <el-button type="info" v-if="taskName == '评估'" @click="dataFormSubmit(0)">{{ $t('中止') }}</el-button>
+      </span>
       <el-button @click="visible = false">{{ $t('返回') }}</el-button>
       <el-button @click="visible = false">{{ $t('返回') }}</el-button>
     </div>
     </div>
   </el-dialog>
   </el-dialog>
@@ -492,6 +495,8 @@ export default {
       }
       }
     };
     };
     return {
     return {
+      // 当前登录员工
+      loginStaffInfo: {},
       //图片集合   打开关闭按钮 等等
       //图片集合   打开关闭按钮 等等
       imgs:[],
       imgs:[],
       jpgList:[],
       jpgList:[],
@@ -803,6 +808,17 @@ export default {
       this.getDicts("SAI_UNSAFE_ACTION").then(response => {
       this.getDicts("SAI_UNSAFE_ACTION").then(response => {
         this.unsafeActionOptions = response.data;
         this.unsafeActionOptions = response.data;
       });
       });
+      // 加载当前登录员工信息
+      this.getLoginStaffInfo();
+    },
+    /** 加载当前登录员工信息 */
+    getLoginStaffInfo() {
+      getLoginStaffInfo().then(response => {
+        let staff = response.data;
+        if (staff != null) {
+          this.loginStaffInfo = response.data;
+        }
+      });
     },
     },
     /** 文件下载处理 */
     /** 文件下载处理 */
     handleDownload(row) {
     handleDownload(row) {

+ 11 - 3
ui/src/views/production/apply/all/index.vue

@@ -166,19 +166,27 @@
       <el-table-column label="开项编号" align="center" prop="recordNo" :show-overflow-tooltip="true"/>
       <el-table-column label="开项编号" align="center" prop="recordNo" :show-overflow-tooltip="true"/>
       <el-table-column label="操作" align="center" fixed="right" width="120" class-name="small-padding fixed-width">
       <el-table-column label="操作" align="center" fixed="right" width="120" class-name="small-padding fixed-width">
         <template slot-scope="scope">
         <template slot-scope="scope">
+          <!-- 申请已提交操作 -->
+          <!-- 申请状态为进行中/待验收 -->
+          <!-- 当前登录用户为张力飞 -->
           <el-button
           <el-button
             size="mini"
             size="mini"
             type="text"
             type="text"
             @click="handleDelay(scope.row)"
             @click="handleDelay(scope.row)"
-            v-if="(scope.row.applyStatus == 2 || scope.row.applyStatus == 3) && loginStaffInfo.userId == '20276'"
+            v-if="(scope.row.applyStatus == 2 || scope.row.applyStatus == 3)
+            && loginStaffInfo.userId == '20276'"
           >延期</el-button>
           >延期</el-button>
+          <!-- 申请状态为待评估/进行中/待验收 -->
+          <!-- 当前登录用户为处理人(之一)或张力飞 -->
           <el-button
           <el-button
             size="mini"
             size="mini"
             type="text"
             type="text"
             @click="handleDetail(scope.row)"
             @click="handleDetail(scope.row)"
             icon="el-icon-edit-outline"
             icon="el-icon-edit-outline"
-            v-if="scope.row.applyStatus != 0 && scope.row.applyStatus != 4 && scope.row.applyStatus != 5"
+            v-if="(scope.row.applyStatus ==1 || scope.row.applyStatus == 2 || scope.row.applyStatus == 3)
+            && (scope.row.handler.indexOf(loginStaffInfo.userId) != -1) || loginStaffInfo.userId == '20276'"
           >处理</el-button>
           >处理</el-button>
+          <!-- 申请状态为已完成/已中止-->
           <el-button
           <el-button
             size="mini"
             size="mini"
             type="text"
             type="text"
@@ -192,6 +200,7 @@
             @click="processImg(scope.row.processId)"
             @click="processImg(scope.row.processId)"
             v-if="scope.row.applyStatus != 0"
             v-if="scope.row.applyStatus != 0"
           >{{ $t('流程图') }}</el-button>
           >{{ $t('流程图') }}</el-button>
+          <!-- 申请未提交操作 -->
           <el-button
           <el-button
             size="mini"
             size="mini"
             type="text"
             type="text"
@@ -501,7 +510,6 @@
         <el-button @click="cancel">取 消</el-button>
         <el-button @click="cancel">取 消</el-button>
       </div>
       </div>
     </el-dialog>
     </el-dialog>
-
     <!-- 预览对话框 -->
     <!-- 预览对话框 -->
     <el-dialog  v-loading="loadingFlash"     element-loading-background="rgba(0,0,0,0.2)"                 v-dialogDrag :title="pdf.title" :visible.sync="pdf.open"  width="1300px" :center="true" append-to-body>
     <el-dialog  v-loading="loadingFlash"     element-loading-background="rgba(0,0,0,0.2)"                 v-dialogDrag :title="pdf.title" :visible.sync="pdf.open"  width="1300px" :center="true" append-to-body>
       <div style="margin-top: -60px;float: right;margin-right: 40px;">
       <div style="margin-top: -60px;float: right;margin-right: 40px;">