Parcourir la source

SAI开项申请流程

wangggziwen il y a 2 ans
Parent
commit
0f5311a724

+ 23 - 0
master/src/main/java/com/ruoyi/project/plant/controller/TStaffmgrController.java

@@ -93,6 +93,20 @@ public class TStaffmgrController extends BaseController
     @Autowired
     private ITStPlanService tStPlanService;
 
+    /**
+     * 获取人员管理详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('plant:staffmgr:query')")
+    @GetMapping(value = "/loginStaffInfo")
+    public AjaxResult getLoginStaffInfo()
+    {
+        Long userId = getUserId();
+        SysUser sysUser = sysUserService.selectUserById(userId);
+        String staffId = sysUser.getStaffId();
+        TStaffmgr staffmgr = tStaffmgrService.selectTStaffmgrByStaffId(staffId);
+        return AjaxResult.success(staffmgr);
+    }
+
     /**
      * 获取当前用户id
      * @return 当前用户id
@@ -171,6 +185,15 @@ public class TStaffmgrController extends BaseController
         return getDataTable(list);
     }
 
+    @PreAuthorize("@ss.hasPermi('plant:staffmgr:list')")
+    @GetMapping("/listByDeptAndTeam")
+    public TableDataInfo listByDeptAndTeam(TStaffmgr tStaffmgr)
+    {
+        startPage();
+        List<TStaffmgr> list = tStaffmgrService.selectTStaffmgrListByDeptAndTeam(tStaffmgr);
+        return getDataTable(list);
+    }
+
     /**
      * 查询人员管理列表(包含离职)
      */

+ 2 - 0
master/src/main/java/com/ruoyi/project/plant/mapper/TStaffmgrMapper.java

@@ -52,6 +52,8 @@ public interface TStaffmgrMapper
     @DataScope(deptAlias = "d")
     public List<TStaffmgr> selectAllTStaffmgrList(TStaffmgr tStaffmgr);
 
+    public List<TStaffmgr> selectTStaffmgrListByDeptAndTeam(TStaffmgr tStaffmgr);
+
     /**
      * 查询人员管理列表
      *

+ 1 - 0
master/src/main/java/com/ruoyi/project/plant/service/ITStaffmgrService.java

@@ -47,6 +47,7 @@ public interface ITStaffmgrService
      */
     public List<TStaffmgr> selectTStaffmgrList(TStaffmgr tStaffmgr);
     public List<TStaffmgr> selectAllTStaffmgrList(TStaffmgr tStaffmgr);
+    public List<TStaffmgr> selectTStaffmgrListByDeptAndTeam(TStaffmgr tStaffmgr);
 
     /**
      * 定时任务查询人员管理列表

+ 5 - 0
master/src/main/java/com/ruoyi/project/plant/service/impl/TStaffmgrServiceImpl.java

@@ -63,6 +63,11 @@ public class TStaffmgrServiceImpl implements ITStaffmgrService
     {
         return tStaffmgrMapper.selectAllTStaffmgrList(tStaffmgr);
     }
+    @Override
+    public List<TStaffmgr> selectTStaffmgrListByDeptAndTeam(TStaffmgr tStaffmgr)
+    {
+        return tStaffmgrMapper.selectTStaffmgrListByDeptAndTeam(tStaffmgr);
+    }
 
     /**
      * 定时任务查询人员管理列表

+ 9 - 0
master/src/main/resources/mybatis/plant/TStaffmgrMapper.xml

@@ -77,6 +77,15 @@
         ${params.dataScope}
     </select>
 
+    <select id="selectTStaffmgrListByDeptAndTeam" parameterType="TStaffmgr" resultMap="TStaffmgrResult">
+        <include refid="selectTStaffmgrVo"/>
+        <where>
+            <if test="deptId != null and deptId != ''"> and d.dept_id = #{deptId} </if>
+            <if test="team != null  and team != ''"> and d.team = #{team} </if>
+            and d.del_flag = 0
+        </where>
+    </select>
+
     <select id="selectTStaffmgrList" parameterType="TStaffmgr" resultMap="TStaffmgrResult">
         <include refid="selectTStaffmgrVo"/>
         Left join SYS_DICT_DATA s0 on d.UNIT = s0.DICT_VALUE and s0.DICT_TYPE ='STAFF_UNIT'

+ 2 - 0
master/src/main/resources/mybatis/production/TSaiApplyMapper.xml

@@ -188,7 +188,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="applicantTeam != null">applicant_team = #{applicantTeam},</if>
             <if test="description != null">description = #{description},</if>
             <if test="unsafeStatus != null">unsafe_status = #{unsafeStatus},</if>
+            <if test="unsafeStatus == null">unsafe_status = null,</if>
             <if test="unsafeAction != null">unsafe_action = #{unsafeAction},</if>
+            <if test="unsafeAction == null">unsafe_action = null,</if>
             <if test="applyDate != null">apply_date = #{applyDate},</if>
             <if test="taskId != null">task_id = #{taskId},</if>
             <if test="taskId == null">task_id = null,</if>

+ 15 - 0
ui/src/api/plant/staffmgr.js

@@ -1,5 +1,13 @@
 import request from '@/utils/request'
 
+// 获取当前登录员工信息
+export function getLoginStaffInfo() {
+  return request({
+    url: '/plant/staffmgr/loginStaffInfo',
+    method: 'get'
+  })
+}
+
 // 获取当前用户id
 export function getStaffId() {
   return request({
@@ -40,6 +48,13 @@ export function listAllStaffmgr(query) {
     params: query
   })
 }
+export function listStaffmgrByDeptAndTeam(query) {
+  return request({
+    url: '/plant/staffmgr/listByDeptAndTeam',
+    method: 'get',
+    params: query
+  })
+}
 
 // 查询人员管理列表
 export function listStaffmgrAll(query) {

+ 130 - 30
ui/src/views/approve/approveDetail/sai-apply-detail.vue

@@ -7,53 +7,82 @@
     width="60%">
     <!-- SAI开项管理详细 -->
     <el-form ref="form" :model="dataForm" :rules="rules" label-width="0px">
-      <div>
+      <div id="apply-div">
         <h4>申请详情</h4>
         <el-descriptions title="" :column="3" border>
           <el-descriptions-item label="登记人部门">
-            <el-form-item label="" prop="applicantDept">
-              <el-input v-model="dataForm.applicantDept" placeholder="请输入登记人部门" />
-            </el-form-item>
+            <el-select
+              v-model="dataForm.applicantDept"
+              placeholder="请选择部门">
+              <el-option
+                v-for="dict in applicantDeptOptions"
+                :key="dict.dictValue"
+                :label="dict.dictLabel"
+                :value="dict.dictValue"
+              ></el-option>
+            </el-select>
           </el-descriptions-item>
           <el-descriptions-item label="登记人班组">
-            <el-form-item label="" prop="applicantTeam">
-              <el-input v-model="dataForm.applicantTeam" placeholder="请输入登记人班组" />
-            </el-form-item>
+            <el-select
+              v-model="dataForm.applicantTeam"
+              placeholder="请选择班组">
+              <el-option
+                v-for="dict in applicantTeamOptions"
+                :key="dict.dictValue"
+                :label="dict.dictLabel"
+                :value="dict.dictValue"
+              ></el-option>
+            </el-select>
           </el-descriptions-item>
           <el-descriptions-item label="登记人">
-            <el-form-item label="" prop="applicant">
-              <el-input v-model="dataForm.applicant" placeholder="请输入登记人" />
-            </el-form-item>
+            <el-select
+              v-model="dataForm.applicant"
+              placeholder="请选择登记人">
+              <el-option
+                v-for="dict in applicantOptions"
+                :key="dict.dictValue"
+                :label="dict.dictLabel"
+                :value="dict.dictValue"
+              ></el-option>
+            </el-select>
           </el-descriptions-item>
           <el-descriptions-item label="问题描述" :span="3">
-            <el-form-item label="" prop="description">
-              <el-input v-model="dataForm.description" placeholder="请输入问题描述" />
-            </el-form-item>
+            <el-input v-model="dataForm.description" placeholder="请输入问题描述" type="textarea" autosize/>
           </el-descriptions-item>
           <el-descriptions-item label="附件" :span="3">
 
           </el-descriptions-item>
           <el-descriptions-item label="隐患" :span="3">
-            <el-form-item label="" prop="unsafeStatus">
-              <el-input v-model="dataForm.unsafeStatus" placeholder="请输入不安全状态" />
-            </el-form-item>
-            <el-form-item label="" prop="unsafeAction">
-              <el-input v-model="dataForm.unsafeAction" placeholder="请输入不安全行为" />
-            </el-form-item>
+            <el-radio v-model="unsafeChoice" label="1" style="margin-right: 10px;">不安全状态</el-radio>
+            <el-select v-model="dataForm.unsafeStatus" placeholder="请选择不安全状态" style="margin-right: 20px;">
+              <el-option
+                v-for="dict in unsafeStatusOptions"
+                :key="dict.dictValue"
+                :label="dict.dictLabel"
+                :value="dict.dictValue"
+              ></el-option>
+            </el-select>
+            <el-radio v-model="unsafeChoice" label="2" style="margin-right: 10px;">不安全行为</el-radio>
+            <el-select v-model="dataForm.unsafeAction" placeholder="请选择不安全行为">
+              <el-option
+                v-for="dict in unsafeActionOptions"
+                :key="dict.dictValue"
+                :label="dict.dictLabel"
+                :value="dict.dictValue"
+              ></el-option>
+            </el-select>
           </el-descriptions-item>
           <el-descriptions-item label="记录日期">
-            <el-form-item label="" prop="applyDate">
-              <el-date-picker clearable size="small" style="width: 200px"
-                              v-model="dataForm.applyDate"
-                              type="date"
-                              value-format="yyyy-MM-dd"
-                              placeholder="选择记录日期">
-              </el-date-picker>
-            </el-form-item>
+            <el-date-picker clearable size="small" style="width: 200px"
+                            v-model="dataForm.applyDate"
+                            type="date"
+                            value-format="yyyy-MM-dd"
+                            placeholder="选择记录日期">
+            </el-date-picker>
           </el-descriptions-item>
         </el-descriptions>
       </div>
-      <div v-if="showAssess">
+      <div id="assess-div" v-if="showAssess">
         <h4>评估详情</h4>
         <el-descriptions title="" :column="3" border>
           <el-descriptions-item label="预计完成时间" :span="3">
@@ -106,7 +135,7 @@
           </el-descriptions-item>
         </el-descriptions>
       </div>
-      <div v-if="showExecute">
+      <div id="execute-div" v-if="showExecute">
         <h4>执行详情</h4>
         <el-descriptions title="" :column="3" border>
           <el-descriptions-item label="附件">
@@ -114,7 +143,7 @@
           </el-descriptions-item>
         </el-descriptions>
       </div>
-      <div v-if="showInspect">
+      <div id="inspect-div" v-if="showInspect">
         <h4>验收详情</h4>
         <el-descriptions title="" :column="3" border>
           <el-descriptions-item label="VC/VE验证成果" :span="3">
@@ -162,6 +191,8 @@
 import { getApply, handleApply } from "@/api/production/apply";
 import { getHistorylist } from "@/api/ehs/approvedanger";
 import { listUserPost } from "@/api/system/user";
+import { treeselect, listDept } from "@/api/system/dept";
+import { listStaffmgrByDeptAndTeam, getLoginStaffInfo } from "@/api/plant/staffmgr";
 
 export default {
   name: "sai-apply-detail",
@@ -213,6 +244,18 @@ export default {
       showAssess: false,
       showExecute: false,
       showInspect: false,
+      // 登记人班组字典
+      applicantTeamOptions: [],
+      // 登记人部门列表
+      applicantDeptOptions: [],
+      // 登记人列表
+      applicantOptions: [],
+      // 不安全状态字典
+      unsafeStatusOptions: [],
+      // 不安全行为字典
+      unsafeActionOptions: [],
+      // 不安全状态/行为选项
+      unsafeChoice: null,
     }
   },
   methods: {
@@ -232,6 +275,15 @@ export default {
       // 查询SAI开项管理详细
       getApply(id).then(response => {
         this.dataForm = response.data;
+        this.dataForm.applicantDept = Number(this.dataForm.applicantDept);
+        if (this.dataForm.unsafeStatus != null && this.dataForm.unsafeStatus != "") {
+          this.unsafeChoice = '1';
+          this.dataForm.unsafeStatus = this.dataForm.unsafeStatus.toString();
+        }
+        if (this.dataForm.unsafeAction != null && this.dataForm.unsafeAction != "") {
+          this.unsafeChoice = '2';
+          this.dataForm.unsafeAction = this.dataForm.unsafeAction.toString();
+        }
         let applyStatus = this.dataForm.applyStatus;
         switch (applyStatus) {
           case 1:
@@ -261,6 +313,54 @@ export default {
         this.historyList = response.rows;
         this.historyLoading = false
       });
+      // 加载登记人班组字典
+      this.getDicts("TEAM_DIVIDE").then(response => {
+        this.applicantTeamOptions = response.data;
+      });
+      // 加载登记人部门列表
+      this.getApplicantDeptOptions();
+      // 加载登记人列表
+      this.listStaffmgrByDeptAndTeam(null, null);
+      // 加载不安全状态字典
+      this.getDicts("SAI_UNSAFE_STATUS").then(response => {
+        this.unsafeStatusOptions = response.data;
+      });
+      // 加载不安全行为字典
+      this.getDicts("SAI_UNSAFE_ACTION").then(response => {
+        this.unsafeActionOptions = response.data;
+      });
+    },
+    /** 加载登记人部门列表 */
+    getApplicantDeptOptions() {
+      listDept(null).then(response => {
+        let deptList = response.data;
+        this.applicantDeptOptions = [];
+        for (let i = 0; i < deptList.length; i++) {
+          if (deptList[i].ancestors.indexOf("100") != -1 || deptList[i].id == 100) {
+            this.applicantDeptOptions.push({
+              dictLabel: deptList[i].deptName,
+              dictValue: deptList[i].deptId
+            });
+          }
+        }
+      });
+    },
+    /** 加载登记人列表 */
+    listStaffmgrByDeptAndTeam(applicantDept, applicantTeam) {
+      listStaffmgrByDeptAndTeam({
+        deptId: applicantDept,
+        team: applicantTeam
+      }).then(response => {
+        let staffList = response.rows;
+        this.applicantOptions = [];
+        for (let i = 0; i < staffList.length; i++) {
+          let staffOption = {
+            dictLabel: staffList[i].name,
+            dictValue: staffList[i].staffid
+          }
+          this.applicantOptions.push(staffOption);
+        }
+      });
     },
     // 重置
     reset() {

+ 176 - 28
ui/src/views/production/apply/all/index.vue

@@ -200,45 +200,77 @@
       <el-form ref="form" :model="form" :rules="rules" label-width="0px">
         <el-descriptions title="" :column="3" border>
           <el-descriptions-item label="登记人部门">
-            <el-form-item label="" prop="applicantDept">
-              <el-input v-model="form.applicantDept" placeholder="请输入登记人部门" />
-            </el-form-item>
+            <el-select
+              v-model="form.applicantDept"
+              @change="handleDeptOrTeamChange"
+              placeholder="请选择部门">
+              <el-option
+                v-for="dict in applicantDeptOptions"
+                :key="dict.dictValue"
+                :label="dict.dictLabel"
+                :value="dict.dictValue"
+              ></el-option>
+            </el-select>
           </el-descriptions-item>
           <el-descriptions-item label="登记人班组">
-            <el-form-item label="" prop="applicantTeam">
-              <el-input v-model="form.applicantTeam" placeholder="请输入登记人班组" />
-            </el-form-item>
+            <el-select
+              v-model="form.applicantTeam"
+              @change="handleDeptOrTeamChange"
+              :disabled="applicantTeamDisabled"
+              placeholder="请选择班组">
+              <el-option
+                v-for="dict in applicantTeamOptions"
+                :key="dict.dictValue"
+                :label="dict.dictLabel"
+                :value="dict.dictValue"
+              ></el-option>
+            </el-select>
           </el-descriptions-item>
           <el-descriptions-item label="登记人">
-            <el-form-item label="" prop="applicant">
-              <el-input v-model="form.applicant" placeholder="请输入登记人" />
-            </el-form-item>
+            <el-select
+              v-model="form.applicant"
+              placeholder="请选择登记人">
+              <el-option
+                v-for="dict in applicantOptions"
+                :key="dict.dictValue"
+                :label="dict.dictLabel"
+                :value="dict.dictValue"
+              ></el-option>
+            </el-select>
           </el-descriptions-item>
           <el-descriptions-item label="问题描述" :span="3">
-            <el-form-item label="" prop="description">
-              <el-input v-model="form.description" placeholder="请输入问题描述" />
-            </el-form-item>
+            <el-input v-model="form.description" placeholder="请输入问题描述" type="textarea" autosize/>
           </el-descriptions-item>
           <el-descriptions-item label="附件" :span="3">
 
           </el-descriptions-item>
           <el-descriptions-item label="隐患" :span="3">
-            <el-form-item label="" prop="unsafeStatus">
-              <el-input v-model="form.unsafeStatus" placeholder="请输入不安全状态" />
-            </el-form-item>
-            <el-form-item label="" prop="unsafeAction">
-              <el-input v-model="form.unsafeAction" placeholder="请输入不安全行为" />
-            </el-form-item>
+            <el-radio v-model="unsafeChoice" label="1" @change="handleUnsafeChoiceChange" style="margin-right: 10px;">不安全状态</el-radio>
+            <el-select v-model="form.unsafeStatus" placeholder="请选择不安全状态" :disabled="unsafeStatusDisabled" style="margin-right: 20px;">
+              <el-option
+                v-for="dict in unsafeStatusOptions"
+                :key="dict.dictValue"
+                :label="dict.dictLabel"
+                :value="dict.dictValue"
+              ></el-option>
+            </el-select>
+            <el-radio v-model="unsafeChoice" label="2" @change="handleUnsafeChoiceChange" style="margin-right: 10px;">不安全行为</el-radio>
+            <el-select v-model="form.unsafeAction" placeholder="请选择不安全行为" :disabled="unsafeActionDisabled">
+              <el-option
+                v-for="dict in unsafeActionOptions"
+                :key="dict.dictValue"
+                :label="dict.dictLabel"
+                :value="dict.dictValue"
+              ></el-option>
+            </el-select>
           </el-descriptions-item>
           <el-descriptions-item label="记录日期">
-            <el-form-item label="" prop="applyDate">
-              <el-date-picker clearable size="small" style="width: 200px"
-                              v-model="form.applyDate"
-                              type="date"
-                              value-format="yyyy-MM-dd"
-                              placeholder="选择记录日期">
-              </el-date-picker>
-            </el-form-item>
+            <el-date-picker clearable size="small" style="width: 200px"
+                            v-model="form.applyDate"
+                            type="date"
+                            value-format="yyyy-MM-dd"
+                            placeholder="选择记录日期">
+            </el-date-picker>
           </el-descriptions-item>
         </el-descriptions>
       </el-form>
@@ -286,12 +318,13 @@
 
 <script>
 import { submitApply, listApply, getApply, delApply, addApply, updateApply, exportApply, importTemplate} from "@/api/production/apply";
-import { treeselect } from "@/api/system/dept";
+import { treeselect, listDept } from "@/api/system/dept";
 import { getToken } from "@/utils/auth";
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 import SaiApplyDetail from "@/views/approve/approveDetail/sai-apply-detail";
 import ProcessImg from '@/views/approve/processImg/index';
+import { listStaffmgrByDeptAndTeam, getLoginStaffInfo } from "@/api/plant/staffmgr";
 
 export default {
   name: "Apply",
@@ -373,10 +406,28 @@ export default {
       },
       // 申请状态字典
       applyStatusOptions: [],
+      // 登记人班组字典
+      applicantTeamOptions: [],
+      // 登记人部门列表
+      applicantDeptOptions: [],
+      // 登记人列表
+      applicantOptions: [],
+      // 不安全状态字典
+      unsafeStatusOptions: [],
+      // 不安全行为字典
+      unsafeActionOptions: [],
       // 是否显示SAI开项申请详情对话框
       saiApplyVisible: false,
       // 是否显示流程图对话框
       processImgVisible: null,
+      // 不安全状态/行为选项
+      unsafeChoice: '1',
+      // 是否禁用不安全状态下拉框
+      unsafeStatusDisabled: false,
+      // 是否禁用不安全行为下拉框
+      unsafeActionDisabled: true,
+      // 是否禁用班组下拉框
+      applicantTeamDisabled: false,
     };
   },
   watch: {
@@ -396,8 +447,96 @@ export default {
     this.getDicts("SAI_APPLY_STATUS").then(response => {
       this.applyStatusOptions = response.data;
     });
+    // 加载登记人班组字典
+    this.getDicts("TEAM_DIVIDE").then(response => {
+      this.applicantTeamOptions = response.data;
+    });
+    // 加载登记人部门列表
+    this.getApplicantDeptOptions();
+    // 加载登记人列表
+    this.listStaffmgrByDeptAndTeam(null, null);
+    // 加载不安全状态字典
+    this.getDicts("SAI_UNSAFE_STATUS").then(response => {
+      this.unsafeStatusOptions = response.data;
+    });
+    // 加载不安全行为字典
+    this.getDicts("SAI_UNSAFE_ACTION").then(response => {
+      this.unsafeActionOptions = response.data;
+    });
   },
   methods: {
+    /** 加载当前登录员工信息 */
+    getLoginStaffInfo() {
+      getLoginStaffInfo().then(response => {
+        let staff = response.data;
+        if (staff != null) {
+          this.form.applicantDept = staff.deptId;
+          if (staff.deptId == '103') {
+            this.form.applicantTeam = staff.team;
+          }
+          this.form.applicant = staff.staffid;
+        }
+      });
+    },
+    /** 加载登记人部门列表 */
+    getApplicantDeptOptions() {
+      listDept(null).then(response => {
+        let deptList = response.data;
+        this.applicantDeptOptions = [];
+        for (let i = 0; i < deptList.length; i++) {
+          if (deptList[i].ancestors.indexOf("100") != -1 || deptList[i].id == 100) {
+            this.applicantDeptOptions.push({
+              dictLabel: deptList[i].deptName,
+              dictValue: deptList[i].deptId
+            });
+          }
+        }
+      });
+    },
+    /** 部门/班组值改变事件 */
+    handleDeptOrTeamChange() {
+      this.applicantOptions = [];
+      this.form.applicant = null;
+      let applicantDept = this.form.applicantDept;
+      if (applicantDept != '103') {
+        this.applicantTeamDisabled = true;
+        this.form.applicantTeam = null;
+      } else {
+        this.applicantTeamDisabled = false;
+      }
+      let applicantTeam = this.form.applicantTeam;
+      // 加载登记人列表
+      this.listStaffmgrByDeptAndTeam(applicantDept, applicantTeam);
+    },
+    /** 加载登记人列表 */
+    listStaffmgrByDeptAndTeam(applicantDept, applicantTeam) {
+      listStaffmgrByDeptAndTeam({
+        deptId: applicantDept,
+        team: applicantTeam
+      }).then(response => {
+        let staffList = response.rows;
+        this.applicantOptions = [];
+        for (let i = 0; i < staffList.length; i++) {
+          let staffOption = {
+            dictLabel: staffList[i].name,
+            dictValue: staffList[i].staffid
+          }
+          this.applicantOptions.push(staffOption);
+        }
+      });
+    },
+    /** 不安全行为/状态单选按钮值改变事件 */
+    handleUnsafeChoiceChange() {
+      if (this.unsafeChoice == '1') {
+        this.form.unsafeAction = null;
+        this.unsafeStatusDisabled = false;
+        this.unsafeActionDisabled = true;
+      } else if (this.unsafeChoice == '2') {
+        this.form.unsafeStatus = null;
+        this.unsafeStatusDisabled = true;
+        this.unsafeActionDisabled = false;
+      }
+    },
     /** 流程图 */
     processImg (processId) {
       this.processImgVisible = true;
@@ -471,7 +610,7 @@ export default {
         description: null,
         unsafeStatus: null,
         unsafeAction: null,
-        applyDate: null,
+        applyDate: new Date(),
         taskId: null,
         handler: null,
         taskName: null,
@@ -508,6 +647,8 @@ export default {
       this.reset();
       this.open = true;
       this.title = "添加SAI开项申请";
+      // 加载当前登录员工信息
+      this.getLoginStaffInfo();
     },
     /** 修改按钮操作 */
     handleUpdate(row) {
@@ -515,6 +656,13 @@ export default {
       const saiApplyId = row.saiApplyId || this.ids
       getApply(saiApplyId).then(response => {
         this.form = response.data;
+        this.form.applicantDept = Number(this.form.applicantDept);
+        if (this.form.unsafeStatus != null && this.form.unsafeStatus != "") {
+          this.form.unsafeStatus = this.form.unsafeStatus.toString();
+        }
+        if (this.form.unsafeAction != null && this.form.unsafeAction != "") {
+          this.form.unsafeAction = this.form.unsafeAction.toString();
+        }
         this.open = true;
         this.title = "修改SAI开项申请";
       });