huangxw 7 maanden geleden
bovenliggende
commit
738c25a242
2 gewijzigde bestanden met toevoegingen van 83 en 6 verwijderingen
  1. 8 0
      src/api/authority/index.ts
  2. 75 6
      src/views/authority/choose-detail/index.vue

+ 8 - 0
src/api/authority/index.ts

@@ -76,3 +76,11 @@ export const expertChooseDetail = (id: any): AxiosPromise => {
         method: 'get'
     });
 };
+// 事项审批
+export const expertChooseApprove = (data: any): AxiosPromise => {
+    return request({
+        url: '/dgtmedicine/expertChoose/approvalChoose',
+        method: 'post',
+        data
+    });
+};

+ 75 - 6
src/views/authority/choose-detail/index.vue

@@ -2,7 +2,10 @@
     <div class="p-3">
         <div class="bg-fff flex1 ov-hd d-flex flex-cln">
             <div class="d-flex a-c pd-16 border-bottom">
-                <div class="f-s-20 c-333 f-w-7 mr-10">抽取专家审核</div>
+                <div class="f-s-20 c-333 f-w-7 mr-10">
+                    <template v-if="form?.res === '0'">抽取专家审核</template>
+                    <template v-if="['1', '2'].includes(form?.res)">抽取专家详情</template>
+                </div>
                 <el-button @click="router.go(-1)" type="primary" text>
                     <el-icon>
                         <Back />
@@ -21,16 +24,34 @@
                         <el-descriptions-item v-if="!+form?.joinType" label="线下地点:">{{ form?.detailedAddress || form?.address || '-' }}</el-descriptions-item>
                         <el-descriptions-item label="联系人:">{{ form?.contact || '-' }}</el-descriptions-item>
                         <el-descriptions-item label="联系电话:">{{ form?.tel || '-' }}</el-descriptions-item>
-                        <el-descriptions-item label="提交人:">Suzhou</el-descriptions-item>
-                        <el-descriptions-item label="提交时间:">Suzhou</el-descriptions-item>
+                        <el-descriptions-item label="提交人:">{{ form?.createByName || '-' }}</el-descriptions-item>
+                        <el-descriptions-item label="提交时间:">{{ form?.createTime || '-' }}</el-descriptions-item>
                         <el-descriptions-item label="备注:">{{ form?.remark || '-' }}</el-descriptions-item>
                         <el-descriptions-item label="事项详情:">{{ form?.content || '-' }}</el-descriptions-item>
                     </el-descriptions>
+                    <el-divider />
+                    <div class="info-title f-w-5 mb-10">抽取专家要求</div>
+                    <el-descriptions :column="4">
+                        <el-descriptions-item label="领域人员是否可重复:">{{ selectDictLabel(yes_no, form?.repeatType) || '-' }}</el-descriptions-item>
+                    </el-descriptions>
+                    <div>
+                        <el-tag v-for="(item, index) in form?.personInfo" :key="index" class="mr-10">{{ selectDictLabel(dm_person_type, item?.personType) }}({{ item?.personCount }})</el-tag>
+                    </div>
+                    <el-divider />
+                    <div class="info-title f-w-5 mb-10">审核记录</div>
+                    <template v-if="form?.res === '1'">
+                        <el-divider />
+                        <div class="info-title f-w-5 mb-10">
+                            <span>抽取专家公示信息</span>
+                            <span class="c-999 f-s-12">(公示时间:{{ form?.auditTime }})</span>
+                        </div>
+                    </template>
                 </div>
             </div>
-            <div class="d-flex a-c j-c pd-16">
+            <div v-if="form?.res === '0'" class="d-flex a-c j-c pd-16">
                 <el-button @click="router.go(-1)">取消</el-button>
-                <!-- <el-button @click="save" type="primary">提交</el-button> -->
+                <el-button type="danger" @click="noPass">不通过</el-button>
+                <el-button type="primary">通过</el-button>
             </div>
         </div>
     </div>
@@ -40,7 +61,8 @@
 import { ref, reactive, onMounted } from 'vue';
 import { debounce } from 'lodash';
 import { useRouter } from 'vue-router';
-import {  expertChooseDetail } from '@/api/authority';
+import { expertChooseApprove, expertChooseDetail } from '@/api/authority';
+
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
 const { dm_person_type, dm_join_type, yes_no } = toRefs<any>(proxy?.useDict('dm_person_type', 'dm_join_type', 'yes_no'));
 const router = useRouter();
@@ -54,6 +76,53 @@ const getExpertDetail = async () => {
         form.value = res.data;
     }
 };
+const noPass = async () => {
+    ElMessageBox.prompt('是否确认将该事项的专家抽取审核为不通过!请填写不通过原因:', '审核不通过', {
+        confirmButtonText: '确认不通过',
+        cancelButtonText: '取消',
+        // 校验必填
+        inputValidator: (value) => {
+            if (!value) {
+                return '请填写不通过原因';
+            }
+            return true;
+        },
+        inputPlaceholder: '请填写不通过原因',
+    })
+        .then(({ value }) => {
+            const params = {
+                targetId: route.query.id,
+                res: '2', // 不通过
+                msg: value,
+            };
+            submitApprove(params)
+        })
+        .catch(() => {
+            ElMessage({
+                type: 'info',
+                message: '取消审核'
+            });
+        });
+};
+// 提交审核
+const submitApprove = async (params: any) => {
+    proxy.$modal.loading('正在提交审核,请稍候...');
+    const res = await expertChooseApprove(params).finally(() => {
+        proxy.$modal.closeLoading()
+    });
+    if (res.code === 200) {
+        ElMessage({
+            type: 'success',
+            message: '操作成功'
+        });
+        router.go(-1);
+    } else {
+        ElMessage({
+            type: 'error',
+            message: res.msg || '操作失败'
+        });
+    }
+};
 onMounted(() => {
     getExpertDetail();
 });