Просмотр исходного кода

风险控制模块优化改进

luoaoxuan 1 год назад
Родитель
Сommit
b51928647e

+ 10 - 6
src/views/component/shiftHandover/earlyHandover.vue

@@ -424,7 +424,7 @@ export default {
                     this.closeDialog(true)
                     break
                 case 'save':
-                    this.goSave()
+                    this.goSave('close')
                     break
                 case 'registerInfo':
                     this.goRegisterInfo()
@@ -681,7 +681,7 @@ export default {
                 this.$message.warning('添加失败')
             }
         },
-        async goEdit () {
+        async goEdit (flag) {
             try {
                 // 首先判断状态是否结束
                 await this.getIsFinish()
@@ -764,19 +764,23 @@ export default {
                         }
                     })
                 }
-                this.init()
-                this.$message.success('修改成功')
+                if (flag === 'close') {
+                    this.closeDialog(true)
+                    this.$message.success('修改成功')
+                } else {
+                    this.init()
+                }
             } catch (error) {
                 this.$message.warning(error.message)
                 throw new Error(error.message)
             }
         },
-        goSave () {
+        goSave (flag) {
             this.$refs.form.validate((valid) => {
                 if (valid) {
                     if (!this.checkRequired(this.isEdit ? null : true)) return
                     if (this.isEdit) {
-                        this.goEdit()
+                        this.goEdit(flag)
                     } else {
                         this.goAdd()
                     }

+ 42 - 20
src/views/platform/risk/riskDetail.vue

@@ -43,7 +43,7 @@
                         <el-date-picker
                             v-model="time"
                             type="datetime"
-                            placeholder="选择日期时间"
+                            placeholder="未编制"
                             :readonly="true"
                             value-format="yyyy-MM-dd HH:mm:ss"
                             size="mini"
@@ -93,7 +93,7 @@
                             prop=""
                             label="序号"
                             type="index"
-                            width="100"
+                            width="50"
                             :index="showIndex"
                         />
                         <el-table-column
@@ -110,7 +110,7 @@
                                 <el-input v-model="row.gong_zuo_huan_jie" type="textarea" :rows="2" size="mini" :readonly="readonly" />
                             </template>
                         </el-table-column>
-                        <el-table-column
+                        <!-- <el-table-column
                             prop="gong_zuo_miao_shu"
                             label="工作描述"
                             width="150"
@@ -118,6 +118,15 @@
                             <template slot-scope="{row}">
                                 <el-input v-model="row.gong_zuo_miao_shu" type="textarea" :rows="2" size="mini" :readonly="readonly" />
                             </template>
+                        </el-table-column> -->
+                        <el-table-column
+                            prop="ni_cai_qu_cuo_shi"
+                            label="拟采取控制措施"
+                            width="150"
+                        >
+                            <template slot-scope="{row}">
+                                <el-input v-model="row.ni_cai_qu_cuo_shi" type="textarea" :rows="2" size="mini" :readonly="readonly" />
+                            </template>
                         </el-table-column>
                         <el-table-column
                             prop="feng_xian_miao_sh"
@@ -173,7 +182,7 @@
                         <el-table-column
                             prop="feng_xian_zhi_shu"
                             label="风险指数"
-                            width="100"
+                            width="70"
                         />
                         <el-table-column
                             prop="feng_xian_deng_ji"
@@ -213,20 +222,6 @@
                                 />
                             </template>
                         </el-table-column>
-                        <el-table-column
-                            prop="ni_cai_qu_cuo_shi"
-                            label="拟采取控制措施"
-                            width="120"
-                        >
-                            <template slot-scope="{row}">
-                                <el-input v-model="row.ni_cai_qu_cuo_shi" type="textarea" :rows="2" size="mini" :readonly="readonly" />
-                            </template>
-                        </el-table-column>
-                        <!-- <el-table-column prop="" label="操作" width="100" fixed="right">
-                            <template slot-scope="{row}">
-                                <el-button type="primary" size="mini">编辑</el-button>
-                            </template>
-                        </el-table-column> -->
                     </el-table>
                 </div>
 
@@ -355,11 +350,11 @@ export default {
                                     shi_bie_xiang_: item.id_,
                                     yao_su_tiao_kuan_: item.tiao_kuan_,
                                     gong_zuo_huan_jie: item.huan_jie_,
-                                    gong_zuo_miao_shu: item.gong_zuo_miao_shu,
+                                    // gong_zuo_miao_shu: item.gong_zuo_miao_shu,
                                     feng_xian_miao_sh: item.feng_xian_miao_sh,
 
                                     xian_xing_kong_zh: '',
-                                    ni_cai_qu_cuo_shi: '',
+                                    ni_cai_qu_cuo_shi: item.gong_zuo_miao_shu,
                                     zhi_ding_ren_: ''
                                 })
                             }
@@ -390,11 +385,19 @@ export default {
             const { variables: { data }} = await this.$common.request('sql', sql)
             if (data.length > 0) {
                 // console.log('data', data)
+                this.position = data[0].bian_zhi_bu_men_
+                this.userId = data[0].bian_zhi_ren_
+                this.time = data[0].bian_zhi_shi_jian
                 this.form.xuan_ze_feng_xian = data[0].xuan_ze_feng_xian
                 this.tableList = data
                 // 存储原始数据的 id 数组
                 this.Ids = this.tableList.map(item => item.shi_bie_xiang_)
             } else {
+                if (this.rowParams.bian_zhi_ren_) {
+                    this.position = this.rowParams.bian_zhi_bu_men_
+                    this.userId = this.rowParams.bian_zhi_ren_
+                    this.time = ''
+                }
                 this.tableList = []
                 this.Ids = []
             }
@@ -561,6 +564,25 @@ export default {
                 }
                 console.log(params)
                 await this.$common.request('update', params)
+                // 判断是否是最后一个提交的评估人
+                const pinGuRenNum = this.params.ping_gu_ren_yuan_.split(',').length
+                const sql = `select * from t_fxsbpgb2 where parent_id_='${this.params.id_}'`
+                const { variables: { data }} = await this.$common.request('sql', sql)
+                const submitNum = new Set(data.map(item => item.bian_zhi_ren_)).size
+                if (submitNum === pinGuRenNum && data.every(item => item.shi_fou_guo_shen_ === '已完成')) {
+                    // 提醒组长
+                    await this.$common.sendMsg({
+                        subject: '风险评估与措施表单待提交',
+                        content: `您有一份评估与措施表单待提交,请前往-风险控制-风险评估与措施页面提交,计划编号:${this.params.ji_hua_bian_hao_}。`,
+                        receiverId: this.params.zu_chang_id_,
+                        canreplay: '0',
+                        skipTypeMsg: JSON.stringify({
+                            skipType: 3,
+                            pathInfo: '/tygl/fxkzV2/fxpgycslb' // 路由
+                        })
+                    })
+                    console.log('通知组长成功')
+                }
                 console.log('提交成功')
                 this.$message({
                     type: 'success',

+ 6 - 2
src/views/platform/risk/riskPeopleTable.vue

@@ -42,7 +42,7 @@
             </el-table-column>
             <el-table-column prop="" label="操作" width="200">
                 <template slot-scope="{row}">
-                    <el-button type="primary" size="mini" :disabled="row.shi_fou_guo_shen_!=='已完成' || (params&&params.shi_fou_guo_shen_==='已完成')" @click="goBack(row)">退回</el-button>
+                    <el-button v-if="isZuZhang" type="primary" size="mini" :disabled="row.shi_fou_guo_shen_!=='已完成' || (params&&params.shi_fou_guo_shen_==='已完成')" @click="goBack(row)">退回</el-button>
                     <el-button type="primary" size="mini" @click="goDetail(row)">详情</el-button>
                 </template>
             </el-table-column>
@@ -71,9 +71,12 @@ export default {
         }
     },
     data () {
+        const { userId } = this.$store.getters
         return {
             tableList: [],
-            detail: []
+            detail: [],
+            isZuZhang: false,
+            userId: userId
         }
     },
     watch: {
@@ -125,6 +128,7 @@ export default {
         async getPeopleList () {
             // console.log('zi', data)
             // this.tableList = data
+            this.isZuZhang = this.userId === this.params.zu_chang_id_
             if (this.peopleIds) {
                 const sql = `select * from t_fxsbpgb2 where parent_id_='${this.params.id_}'`
                 const { variables: { data }} = await this.$common.request('sql', sql)

+ 14 - 10
src/views/platform/risk/riskV2.vue

@@ -165,7 +165,7 @@
                             placeholder="选择日期时间"
                             default-time="12:00:00"
                             :readonly="readonly"
-                            value-format="yyyy-MM-dd HH:mm:ss"
+                            value-format="yyyy-MM-dd HH:mm"
                             size="mini"
                         />
 
@@ -215,7 +215,7 @@
                     </el-descriptions-item>
                 </el-descriptions>
 
-                <div v-if="isEdit && isZuZhang" style="margin-top:20px">
+                <div v-if="isEdit" style="margin-top:20px">
                     <el-alert
                         title="根据评估人员选定的风险识别项给每个措施制定人推送风险改进流程"
                         type="success"
@@ -464,7 +464,7 @@ export default {
                                         gai_jin_bian_hao_: ('FXGJ-' + dayjs().format('YYYYMMDDHHmmss')) + count,
                                         yao_su_tiao_kuan_: item.yao_su_tiao_kuan_,
                                         gong_zuo_huan_jie: item.gong_zuo_huan_jie,
-                                        gong_zuo_miao_shu: item.gong_zuo_miao_shu,
+                                        // gong_zuo_miao_shu: item.gong_zuo_miao_shu,
                                         feng_xian_miao_sh: item.feng_xian_miao_sh,
                                         zu_chang_: this.infoFxssbData.zu_chang_,
                                         zu_chang_id_: this.infoFxssbData.zu_chang_id_,
@@ -559,7 +559,7 @@ export default {
                     this.goRecord()
                     break
                 case 'save':
-                    this.goSave()
+                    this.goSave('close')
                     break
                 case 'submit':
                     this.goSubmit()
@@ -670,7 +670,7 @@ export default {
                 this.$message.warning('添加失败')
             }
         },
-        async goEdit () {
+        async goEdit (flag) {
             try {
                 // 先检查状态
                 await this.getIsFinish()
@@ -713,18 +713,22 @@ export default {
                         console.log('删除成功')
                     }
                 }
-                await this.goRefresh() // 修改之后刷新
-                this.$message.success('修改成功')
+                if (flag === 'close') {
+                    this.closeDialog(true)
+                    this.$message.success('修改成功')
+                } else {
+                    await this.goRefresh() // 修改之后刷新
+                }
             } catch (error) {
                 this.$message.warning(error.message)
                 throw new Error(error.message)
             }
         },
-        async goSave () {
+        async goSave (flag) {
             try {
                 this.checkRequired()
                 if (this.isEdit) {
-                    await this.goEdit()
+                    await this.goEdit(flag)
                 } else {
                     await this.goAdd()
                 }
@@ -814,7 +818,7 @@ export default {
                 this.infoFxssbData.fan_wei_ = '本实验室与质量相关所有活动'
                 this.infoFxssbData.fang_fa_ = '定量风险评估法'
                 this.infoFxssbData.mu_di_ = '通过对实验室(质量活动)进行风险评估,识别实验室在(质量活动)方面存在的潜在风险,评估风险影响程度,制定风险管理策略,减少不利后果发生的概率和影响程度。'
-                this.infoFxssbData.hui_yi_shi_jian_ = dayjs().format('YYYY-MM-DD HH:mm:ss')
+                this.infoFxssbData.hui_yi_shi_jian_ = dayjs().format('YYYY-MM-DD HH:mm')
                 this.$nextTick(() => {
                     this.infoFxssbData.shi_wu_shuo_ming_ = `年度:${this.infoFxssbData.nian_du_};组长:${this.infoFxssbData.zu_chang_};评估开始日期:${this.infoFxssbData.kai_shi_ri_qi_};风险类型:${this.infoFxssbData.feng_xian_lei_xin}`
                 })