Selaa lähdekoodia

feat:公文管理系统-公文库完成

DESKTOP-07F1812\coder 2 vuotta sitten
vanhempi
commit
8c0b41d6b8

+ 52 - 0
src/pages/officialDocumentManager/documentLibrary/detail/auditRecord/index.vue

@@ -0,0 +1,52 @@
+<script setup>
+import { closeToast, showLoadingToast } from 'vant'
+
+const { currentRoute } = useRouter()
+const route = currentRoute.value
+const gw_id = route.query.gw_id
+
+const list = ref([])
+const loading = ref(false)
+const finished = ref(false)
+showLoadingToast({
+  message: '加载中...',
+  forbidClick: true,
+})
+function onLoad() {
+  loading.value = true
+  request({
+    url: '/jdbg/gwgl_gw/detail',
+    data: {
+      gw_id,
+    },
+  }).then((res) => {
+    closeToast()
+    const data = res.data
+    list.value = [...list.value, ...data.one_info.shjl]
+    finished.value = true
+    loading.value = false
+  })
+}
+</script>
+
+<template>
+  <div>
+    <van-list v-model:loading="loading" :finished="finished" finished-text="没有更多了" @load="onLoad">
+      <van-cell v-for="(item, index) in list" :key="item">
+        <template #title>
+          <span>{{ `${index + 1}. 步骤名称:${item.sh_dept_name}` }}</span>
+        </template>
+        <template #value>
+          <span style="color:black">审核人:{{ item.sh_user_name }}</span>
+        </template>
+        <template #label>
+          <div><span>审核时间:{{ item.modify_dateline }}</span></div>
+          <div style="display: flex;justify-content: space-between;color: black;">
+            <div><span>操作:{{ item.sh_status }}</span></div>
+            <div><span>处理意见:{{ item.sh_reason }}</span></div>
+          </div>
+        </template>
+      </van-cell>
+    </van-list>
+  </div>
+</template>

+ 97 - 0
src/pages/officialDocumentManager/documentLibrary/detail/documentDetail/index.vue

@@ -0,0 +1,97 @@
+<script setup>
+import { closeToast, showLoadingToast } from 'vant'
+import Pdfh5 from 'pdfh5'
+
+const { currentRoute } = useRouter()
+const route = currentRoute.value
+const gw_id = route.query.gw_id
+const detailData = ref({})
+showLoadingToast({
+  message: '加载中...',
+  forbidClick: true,
+})
+request({
+  url: '/jdbg/gwgl_gw/detail',
+  data: {
+    gw_id,
+  },
+}).then((res) => {
+  closeToast()
+  detailData.value = res.data.one_info
+  const appendUrl = res.data.one_info.gw_content.split('|')[0]
+  const curFileShowUrl = appendUrl.replace(/\.\w+$/, '.pdf')
+  const pdfh5 = new Pdfh5('#pdfContent', {
+    pdfurl: curFileShowUrl,
+    scrollEnable: false,
+    zoomEnable: false,
+  })
+})
+</script>
+
+<template>
+  <div>
+    <div class="tableContainer">
+      <div class="topPart">
+        <table class="Tb" width="100%" cellspacing="0" cellpadding="0">
+          <tr>
+            <td class="titleOpt">
+              类型:
+            </td>
+            <td>{{ detailData.lb_name }}</td>
+          </tr>
+          <tr>
+            <td class="titleOpt">
+              标题:
+            </td>
+            <td>{{ detailData.gw_title }}</td>
+          </tr>
+          <tr>
+            <td class="titleOpt">
+              发文字号:
+            </td>
+            <td>{{ detailData.gw_zh }}</td>
+          </tr>
+          <tr>
+            <td class="titleOpt">
+              发起人:
+            </td>
+            <td>{{ detailData.gw_fqr_name }}</td>
+          </tr>
+          <tr>
+            <td class="titleOpt">
+              发起科室:
+            </td>
+            <td>{{ detailData.gw_fqks_name }}</td>
+          </tr>
+          <tr>
+            <td class="titleOpt">
+              发起时间:
+            </td>
+            <td>{{ detailData.create_dateline }}</td>
+          </tr>
+          <tr>
+            <td class="titleOpt">
+              当前步骤:
+            </td>
+            <td>{{ detailData.gw_bz }}</td>
+          </tr>
+          <tr>
+            <td class="titleOpt">
+              当前审核人:
+            </td>
+            <td>{{ detailData.gw_shr }}</td>
+          </tr>
+          <tr>
+            <td class="titleOpt">
+              状态:
+            </td>
+            <td>{{ detailData.gw_status_option_n }}</td>
+          </tr>
+        </table>
+      </div>
+    </div>
+    <div id="pdfContent" />
+  </div>
+</template>
+
+<style lang="scss" scoped></style>

+ 21 - 0
src/pages/officialDocumentManager/documentLibrary/detail/index.vue

@@ -0,0 +1,21 @@
+<script setup>
+import documentDetail from './documentDetail/index.vue'
+import auditRecord from './auditRecord/index.vue'
+import readSituation from './readSituation/index.vue'
+</script>
+
+<template>
+  <div>
+    <van-tabs :sticky="true">
+      <van-tab title="公文详情">
+        <documentDetail />
+      </van-tab>
+      <van-tab title="审核记录">
+        <auditRecord />
+      </van-tab>
+      <van-tab title="查阅情况">
+        <readSituation />
+      </van-tab>
+    </van-tabs>
+  </div>
+</template>

+ 51 - 0
src/pages/officialDocumentManager/documentLibrary/detail/readSituation/index.vue

@@ -0,0 +1,51 @@
+<script setup>
+import { closeToast, showLoadingToast } from 'vant'
+
+const { currentRoute } = useRouter()
+const route = currentRoute.value
+const gw_id = route.query.gw_id
+
+const list = ref([])
+const loading = ref(false)
+const finished = ref(false)
+showLoadingToast({
+  message: '加载中...',
+  forbidClick: true,
+})
+function onLoad() {
+  loading.value = true
+  request({
+    url: '/jdbg/gwgl_gw/detail',
+    data: {
+      gw_id,
+    },
+  }).then((res) => {
+    closeToast()
+    const data = res.data
+    list.value = [...list.value, ...data.one_info.cxqk]
+    finished.value = true
+    loading.value = false
+  })
+}
+</script>
+
+<template>
+  <div>
+    <van-list v-model:loading="loading" :finished="finished" finished-text="没有更多了" @load="onLoad">
+      <van-cell v-for="(item, index) in list" :key="item">
+        <template #title>
+          <span>{{ `${index + 1}. 查阅对象:${item.xf_department_name}` }}</span>
+        </template>
+        <template #value>
+          <span style="color:black">查阅人员:{{ item.xf_username }}</span>
+        </template>
+        <template #label>
+          <div><span>是否查阅:{{ item.is_see === '2' ? "未查阅" : "已查阅" }}</span></div>
+          <div style="display: flex;justify-content: space-between;color: black;">
+            <div><span>查阅时间:{{ item.modify_dateline }}</span></div>
+          </div>
+        </template>
+      </van-cell>
+    </van-list>
+  </div>
+</template>

+ 45 - 0
src/pages/officialDocumentManager/documentLibrary/index.vue

@@ -0,0 +1,45 @@
+<script setup>
+import { userInfo } from '~/store/user'
+
+const { uo_type } = userInfo
+const isBureau = ref(false)// 当前用户是否局端
+isBureau.value = uo_type === '1'
+
+const list = ref([])
+const loading = ref(false)
+const finished = ref(false)
+let page = 1
+function onLoad() {
+  loading.value = true
+  request({
+    url: '/jdbg/gwgl_gw/index',
+    data: {
+      page,
+      limit: 20,
+      gw_fb: 1,
+      gw_fb_depart: isBureau ? '' : '1',
+    },
+  }).then((res) => {
+    const data = res.data
+    list.value = [...list.value, ...data.page_data]
+    finished.value = data.total_page === page
+    page++
+    loading.value = false
+  })
+}
+const router = useRouter()
+function cellClick(gw_id) {
+  router.push({ path: '/officialDocumentManager/documentLibrary/detail', query: { gw_id } })
+}
+</script>
+
+<template>
+  <div>
+    <van-list v-model:loading="loading" :finished="finished" finished-text="没有更多了" @load="onLoad">
+      <van-cell
+        v-for="(item, index) in list" :key="item" :title="`${index + 1}. ${item.gw_title}`"
+        @click="cellClick(item.gw_id)"
+      />
+    </van-list>
+  </div>
+</template>