Quellcode durchsuchen

Merge remote-tracking branch 'origin/master'

fgd vor 4 Wochen
Ursprung
Commit
f744e10b16

+ 1 - 0
jy-ui/src/components/ADialog/index.vue

@@ -39,6 +39,7 @@ function submit() {
 
 <template>
   <el-dialog
+    v-if="computedModelValue"
     :title="title"
     :width="width"
     v-model="computedModelValue"

+ 16 - 13
jy-ui/src/views/business/capital/account/index.vue

@@ -5,14 +5,9 @@ import { ToolbarConfigType } from '@/components/AToolbar/type'
 import { ColumnConfigType } from '@/components/ATable/type'
 import { StrAnyObj, StrAnyObjArr } from '@/typings'
 import { useHandleData } from '@/utils/useHandleData'
-import {
-  getPageApi,
-  getDetailApi,
-  addApi,
-  editApi,
-  deleteApi
-} from '@/api/business/capital/account'
+import { getPageApi, getDetailApi, addApi, editApi, deleteApi } from '@/api/business/capital/account'
 import { getPageApi as getCorporationPageApi } from '@/api/business/corporation/corporation'
+import UserOperation from '@/views/business/log/userOperation/index.vue'
 
 const queryRef = ref<InstanceType<typeof AForm>>()
 const formRef = ref<InstanceType<typeof AForm>>()
@@ -24,6 +19,8 @@ const pageTotal = ref<number>(0)
 const queryData = ref<StrAnyObj>({ pageNum: 1, pageSize: 10 })
 const tableData = ref<StrAnyObjArr>([])
 const formData = ref<StrAnyObj>({ amount: 0 })
+const logData = ref<StrAnyObj>({})
+const operationLog = ref<boolean>(false)
 
 const dialogTitle = ref<string>('')
 const dialogVisible = ref<boolean>(false)
@@ -149,6 +146,13 @@ const columnConfig: ColumnConfigType[] = [
     width: 250,
     handleConfig: [
       {
+        text: '操作日志',
+        click(row) {
+          logData.value = row
+          operationLog.value = true
+        }
+      },
+      {
         common: 'update',
         click(row) {
           dialogVisible.value = true
@@ -295,13 +299,12 @@ function handleRemove(idList: string[]) {
     >
     </a-table>
 
-    <a-dialog
-      v-model="dialogVisible"
-      :title="dialogTitle"
-      @submit="formSubmit"
-      @closed="formClosed"
-    >
+    <a-dialog v-model="dialogVisible" :title="dialogTitle" @submit="formSubmit" @closed="formClosed">
       <a-form ref="formRef" v-model="formData" :config="formConfig" :span="24"> </a-form>
     </a-dialog>
+
+    <a-dialog v-model="operationLog" title="操作日志" width="90%" :footer="false">
+      <UserOperation :logData="logData"></UserOperation>
+    </a-dialog>
   </div>
 </template>

+ 15 - 1
jy-ui/src/views/business/capital/transactions/index.vue

@@ -9,6 +9,7 @@ import { getPageApi, getDetailApi, addApi, editApi, deleteApi, excelExportApi }
 import { getPageApi as getCapitalAccountPageApi } from '@/api/business/capital/account'
 import { getPageApi as getCorporationPageApi } from '@/api/business/corporation/corporation'
 import { getPageApi as getShopApi } from '@/api/business/corporation/shop'
+import UserOperation from '@/views/business/log/userOperation/index.vue'
 
 const queryRef = ref<InstanceType<typeof AForm>>()
 const formRef = ref<InstanceType<typeof AForm>>()
@@ -20,6 +21,8 @@ const pageTotal = ref<number>(0)
 const queryData = ref<StrAnyObj>({ pageNum: 1, pageSize: 10 })
 const tableData = ref<StrAnyObjArr>([])
 const formData = ref<StrAnyObj>({ type: 1, targetType: 99, hasContract: 0 })
+const logData = ref<StrAnyObj>({})
+const operationLog = ref<boolean>(false)
 
 const dialogTitle = ref<string>('')
 const dialogVisible = ref<boolean>(false)
@@ -190,9 +193,16 @@ const columnConfig: ColumnConfigType[] = [
     showOverflowTooltip: true
   },
   {
-    width: 160,
+    width: 180,
     handleConfig: [
       {
+        text: '操作日志',
+        click(row) {
+          logData.value = row
+          operationLog.value = true
+        }
+      },
+      {
         common: 'update',
         click(row) {
           dialogVisible.value = true
@@ -425,5 +435,9 @@ function handleRemove(idList: string[]) {
     <a-dialog v-model="dialogVisible" :title="dialogTitle" @submit="formSubmit" @closed="formClosed">
       <a-form ref="formRef" v-model="formData" :config="formConfig" :span="24"> </a-form>
     </a-dialog>
+
+    <a-dialog v-model="operationLog" title="操作日志" width="90%" :footer="false">
+      <UserOperation :logData="logData"></UserOperation>
+    </a-dialog>
   </div>
 </template>

+ 40 - 42
jy-ui/src/views/business/contract/fundReceived/index.vue

@@ -1,13 +1,14 @@
 <script setup lang="ts">
 import AForm from '@/components/AForm/index.vue'
-import {FormConfigType} from '@/components/AForm/type'
-import {ToolbarConfigType} from '@/components/AToolbar/type'
-import {ColumnConfigType} from '@/components/ATable/type'
-import {StrAnyObj, StrAnyObjArr} from '@/typings'
-import {confirmArrivalAccountApi, getDetailApi, getPageApi} from '@/api/business/contract/fundReceived'
-import {getPageApi as getCapitalAccountPageApi} from '@/api/business/capital/account'
+import { FormConfigType } from '@/components/AForm/type'
+import { ToolbarConfigType } from '@/components/AToolbar/type'
+import { ColumnConfigType } from '@/components/ATable/type'
+import { StrAnyObj, StrAnyObjArr } from '@/typings'
+import { confirmArrivalAccountApi, getDetailApi, getPageApi } from '@/api/business/contract/fundReceived'
+import { getPageApi as getCapitalAccountPageApi } from '@/api/business/capital/account'
 import Detail from '@/views/business/contract/info/detail.vue'
-import {getPageApi as getContractPageApi} from "@/api/business/contract/info";
+import { getPageApi as getContractPageApi } from '@/api/business/contract/info'
+import UserOperation from '@/views/business/log/userOperation/index.vue'
 
 const queryRef = ref<InstanceType<typeof AForm>>()
 const formRef = ref<InstanceType<typeof AForm>>()
@@ -16,9 +17,11 @@ const showQuery = ref<boolean>(true)
 const selectKeys = ref<string[]>([])
 const pageTotal = ref<number>(0)
 
-const queryData = ref<StrAnyObj>({pageNum: 1, pageSize: 10})
+const queryData = ref<StrAnyObj>({ pageNum: 1, pageSize: 10 })
 const tableData = ref<StrAnyObjArr>([])
 const formData = ref<StrAnyObj>({})
+const logData = ref<StrAnyObj>({})
+const operationLog = ref<boolean>(false)
 
 const dialogTitle = ref<string>('')
 const dialogVisible = ref<boolean>(false)
@@ -85,6 +88,13 @@ const columnConfig: ColumnConfigType[] = [
     width: 180,
     handleConfig: [
       {
+        text: '操作日志',
+        click(row) {
+          logData.value = row
+          operationLog.value = true
+        }
+      },
+      {
         if: (row) => {
           return row.hasReceived == 0
         },
@@ -92,7 +102,7 @@ const columnConfig: ColumnConfigType[] = [
         click(row) {
           dialogVisible.value = true
           dialogTitle.value = '到账认领'
-          getDetailApi({id: row.id}).then((resp: StrAnyObj) => {
+          getDetailApi({ id: row.id }).then((resp: StrAnyObj) => {
             formData.value = resp
           })
         }
@@ -107,7 +117,7 @@ const formConfig: FormConfigType[] = [
     label: '合同',
     prop: 'contractId',
     option: () => {
-      return getContractPageApi({searchAll: true}).then((res: StrAnyObjArr) => {
+      return getContractPageApi({ searchAll: true }).then((res: StrAnyObjArr) => {
         if (res.records && res.records.length > 0) {
           return res.records.map((item) => {
             return {
@@ -135,10 +145,10 @@ const formConfig: FormConfigType[] = [
     labelName: 'accountAlias',
     disabled: true,
     async option() {
-      const data = await getCapitalAccountPageApi({searchAll: true})
+      const data = await getCapitalAccountPageApi({ searchAll: true })
       return data.records
     },
-    rule: [{required: true, message: '资金账号不能为空', trigger: 'blur'}]
+    rule: [{ required: true, message: '资金账号不能为空', trigger: 'blur' }]
   },
   {
     type: 'datePicker',
@@ -148,7 +158,7 @@ const formConfig: FormConfigType[] = [
     format: 'YYYY-MM-DD hh:mm:ss',
     valueFormat: 'YYYY-MM-DD hh:mm:ss',
     disabled: true,
-    rule: [{required: true, message: '到账时间不能为空', trigger: 'blur'}]
+    rule: [{ required: true, message: '到账时间不能为空', trigger: 'blur' }]
   },
   {
     type: 'input',
@@ -205,46 +215,34 @@ function clickContract(item: StrAnyObjArr) {
     </el-card>
 
     <a-table
-        :data="tableData"
-        :page-total="pageTotal"
-        :toolbar-config="toolbarConfig"
-        :column-config="columnConfig"
-        v-model:showQuery="showQuery"
-        v-model:page-num="queryData.pageNum"
-        v-model:page-size="queryData.pageSize"
-        @page-num-change="getPage"
-        @page-size-change="getPage"
-        @selection-change="tableSelectionChange"
+      :data="tableData"
+      :page-total="pageTotal"
+      :toolbar-config="toolbarConfig"
+      :column-config="columnConfig"
+      v-model:showQuery="showQuery"
+      v-model:page-num="queryData.pageNum"
+      v-model:page-size="queryData.pageSize"
+      @page-num-change="getPage"
+      @page-size-change="getPage"
+      @selection-change="tableSelectionChange"
     >
       <template #contractNo="{ row }">
         <div>
-          <a
-              style="color: #409eff; cursor: pointer; word-break: break-all"
-              @click="clickContract(row)"
-          >{{ row.contractNo }}</a
-          >
+          <a style="color: #409eff; cursor: pointer; word-break: break-all" @click="clickContract(row)">{{ row.contractNo }}</a>
         </div>
       </template>
     </a-table>
 
-    <a-dialog
-        v-model="dialogVisible"
-        :title="dialogTitle"
-        @submit="formSubmit"
-        @closed="formClosed"
-    >
+    <a-dialog v-model="dialogVisible" :title="dialogTitle" @submit="formSubmit" @closed="formClosed">
       <a-form ref="formRef" v-model="formData" :config="formConfig" :span="24"></a-form>
     </a-dialog>
 
-    <a-dialog
-        v-if="detailDialog"
-        v-model="detailDialog"
-        :title="detailTitle"
-        @closed="formClosed"
-        style="width: 900px"
-        :footer="false"
-    >
+    <a-dialog v-if="detailDialog" v-model="detailDialog" :title="detailTitle" @closed="formClosed" style="width: 900px" :footer="false">
       <Detail :rowData="formData"></Detail>
     </a-dialog>
+
+    <a-dialog v-model="operationLog" title="操作日志" width="90%" :footer="false">
+      <UserOperation :logData="logData"></UserOperation>
+    </a-dialog>
   </div>
 </template>

+ 15 - 1
jy-ui/src/views/business/contract/info/index.vue

@@ -9,6 +9,7 @@ import { getPageApi, getDetailApi, addApi, editApi, deleteApi, getStatistics } f
 import Detail from './detail.vue'
 import TransactionDetail from './transaction-detail.vue'
 import OrderDetail from './order-detail.vue'
+import UserOperation from '@/views/business/log/userOperation/index.vue'
 
 const queryRef = ref<InstanceType<typeof AForm>>()
 const formRef = ref<InstanceType<typeof AForm>>()
@@ -22,6 +23,8 @@ const queryData = ref<StrAnyObj>({ pageNum: 1, pageSize: 10 })
 const tableData = ref<StrAnyObjArr>([])
 const statisticsData = ref<StrAnyObjArr>([])
 const formData = ref<StrAnyObj>({})
+const logData = ref<StrAnyObj>({})
+const operationLog = ref<boolean>(false)
 
 const dialogTitle = ref<string>('')
 const dialogVisible = ref<boolean>(false)
@@ -160,9 +163,16 @@ const columnConfig: ColumnConfigType[] = [
     }
   },
   {
-    width: 120,
+    width: 140,
     handleConfig: [
       {
+        text: '操作日志',
+        click(row) {
+          logData.value = row
+          operationLog.value = true
+        }
+      },
+      {
         common: 'detail',
         click(row) {
           formData.value = row
@@ -597,5 +607,9 @@ function clickCancel(params: type) {
         </el-tab-pane>
       </el-tabs>
     </a-dialog>
+
+    <a-dialog v-model="operationLog" title="操作日志" width="90%" :footer="false">
+      <UserOperation :logData="logData"></UserOperation>
+    </a-dialog>
   </div>
 </template>

+ 16 - 13
jy-ui/src/views/business/corporation/index.vue

@@ -5,13 +5,8 @@ import { ToolbarConfigType } from '@/components/AToolbar/type'
 import { ColumnConfigType } from '@/components/ATable/type'
 import { StrAnyObj, StrAnyObjArr } from '@/typings'
 import { useHandleData } from '@/utils/useHandleData'
-import {
-  getPageApi,
-  getDetailApi,
-  addApi,
-  editApi,
-  deleteApi
-} from '@/api//business/corporation/corporation'
+import { getPageApi, getDetailApi, addApi, editApi, deleteApi } from '@/api//business/corporation/corporation'
+import UserOperation from '@/views/business/log/userOperation/index.vue'
 
 const queryRef = ref<InstanceType<typeof AForm>>()
 const formRef = ref<InstanceType<typeof AForm>>()
@@ -23,6 +18,8 @@ const pageTotal = ref<number>(0)
 const queryData = ref<StrAnyObj>({ pageNum: 1, pageSize: 10 })
 const tableData = ref<StrAnyObjArr>([])
 const formData = ref<StrAnyObj>({})
+const logData = ref<StrAnyObj>({})
+const operationLog = ref<boolean>(false)
 
 const dialogTitle = ref<string>('')
 const dialogVisible = ref<boolean>(false)
@@ -113,6 +110,13 @@ const columnConfig: ColumnConfigType[] = [
     width: 250,
     handleConfig: [
       {
+        text: '操作日志',
+        click(row) {
+          logData.value = row
+          operationLog.value = true
+        }
+      },
+      {
         common: 'update',
         click(row) {
           dialogVisible.value = true
@@ -249,13 +253,12 @@ function handleRemove(idList: string[]) {
     >
     </a-table>
 
-    <a-dialog
-      v-model="dialogVisible"
-      :title="dialogTitle"
-      @submit="formSubmit"
-      @closed="formClosed"
-    >
+    <a-dialog v-model="dialogVisible" :title="dialogTitle" @submit="formSubmit" @closed="formClosed">
       <a-form ref="formRef" v-model="formData" :config="formConfig" :span="24"> </a-form>
     </a-dialog>
+
+    <a-dialog v-model="operationLog" title="操作日志" width="90%" :footer="false">
+      <UserOperation :logData="logData"></UserOperation>
+    </a-dialog>
   </div>
 </template>

+ 14 - 0
jy-ui/src/views/business/corporation/shop/index.vue

@@ -7,6 +7,7 @@ import { StrAnyObj, StrAnyObjArr } from '@/typings'
 import { useHandleData } from '@/utils/useHandleData'
 import { getPageApi, getDetailApi, addApi, editApi, deleteApi } from '@/api/business/corporation/shop'
 import { getPageApi as getCorporationPageApi } from '@/api//business/corporation/corporation'
+import UserOperation from '@/views/business/log/userOperation/index.vue'
 
 const queryRef = ref<InstanceType<typeof AForm>>()
 const formRef = ref<InstanceType<typeof AForm>>()
@@ -18,6 +19,8 @@ const pageTotal = ref<number>(0)
 const queryData = ref<StrAnyObj>({ pageNum: 1, pageSize: 10 })
 const tableData = ref<StrAnyObjArr>([])
 const formData = ref<StrAnyObj>({})
+const logData = ref<StrAnyObj>({})
+const operationLog = ref<boolean>(false)
 
 const dialogTitle = ref<string>('')
 const dialogVisible = ref<boolean>(false)
@@ -95,6 +98,13 @@ const columnConfig: ColumnConfigType[] = [
     width: 220,
     handleConfig: [
       {
+        text: '操作日志',
+        click(row) {
+          logData.value = row
+          operationLog.value = true
+        }
+      },
+      {
         common: 'update',
         click(row) {
           dialogVisible.value = true
@@ -229,5 +239,9 @@ function handleRemove(idList: string[]) {
     <a-dialog v-model="dialogVisible" :title="dialogTitle" @submit="formSubmit" @closed="formClosed">
       <a-form ref="formRef" v-model="formData" :config="formConfig" :span="24"> </a-form>
     </a-dialog>
+
+    <a-dialog v-model="operationLog" title="操作日志" width="90%" :footer="false">
+      <UserOperation :logData="logData"></UserOperation>
+    </a-dialog>
   </div>
 </template>

+ 28 - 11
jy-ui/src/views/business/log/userOperation/index.vue

@@ -7,6 +7,14 @@ import { StrAnyObj, StrAnyObjArr } from '@/typings'
 import { editApi, getDetailApi, getPageApi } from '@/api/business/log/userOperation'
 import { getListApi } from '@/api/system/user'
 
+const props = withDefaults(
+  defineProps<{
+    logData: StrAnyObj
+  }>(),
+  {
+    logData: {}
+  }
+)
 const queryRef = ref<InstanceType<typeof AForm>>()
 const formRef = ref<InstanceType<typeof AForm>>()
 
@@ -96,12 +104,12 @@ const columnConfig: ColumnConfigType[] = [
   {
     prop: 'moduleName',
     label: '模块标题',
-    width: 160
+    width: 140
   },
   {
     prop: 'operatorName',
     label: '操作人姓名',
-    width: 160
+    width: 140
   },
   {
     prop: 'operationType',
@@ -142,19 +150,24 @@ const columnConfig: ColumnConfigType[] = [
       }
       return ''
     },
-    width: 120
+    width: 120,
+    if: () => !(props.logData && props.logData.id)
   },
   {
     prop: 'auditTime',
     label: '审核时间',
-    width: 160
+    width: 160,
+    if: () => !(props.logData && props.logData.id)
   },
   {
     prop: 'remark',
-    label: '审核注释'
+    label: '审核注释',
+    width: 160,
+    if: () => !(props.logData && props.logData.id)
   },
   {
     width: 120,
+    if: () => !(props.logData && props.logData.id),
     handleConfig: [
       {
         if: (row) => row.auditStatus == 0,
@@ -163,10 +176,6 @@ const columnConfig: ColumnConfigType[] = [
           dialogVisible.value = true
           getDetailApi({ id: row.id }).then((resp: StrAnyObj) => {
             formData.value = resp
-            console.log(resp)
-
-            console.log(JSON.parse(resp.operationData))
-            console.log(JSON.parse(resp.sourceData))
           })
         }
       }
@@ -179,6 +188,9 @@ onMounted(() => {
 })
 
 function getPage() {
+  if (props.logData && props.logData.id) {
+    queryData.value.businessId = props.logData.id
+  }
   getPageApi(queryData.value).then((resp) => {
     tableData.value = resp.records
     pageTotal.value = resp.total
@@ -195,7 +207,7 @@ function formSubmit(status: boolean) {
 </script>
 
 <template>
-  <div>
+  <div :style="props.logData && props.logData.id ? 'max-height: calc(100vh - 140px); overflow: hidden auto' : ''">
     <el-card v-if="showQuery">
       <a-form ref="queryRef" v-model="queryData" :config="queryConfig" :span="6"> </a-form>
     </el-card>
@@ -214,7 +226,12 @@ function formSubmit(status: boolean) {
     </a-table>
 
     <a-dialog v-model="dialogVisible" title="审核" :footer="false">
-      <el-input style="padding: 20px 0" type="textarea" v-model="formData.remark" placeholder="请输入审核备注" />
+      <el-form-item label="操作描述">
+        <el-input type="textarea" v-model="formData.description" disabled placeholder="操作描述" />
+      </el-form-item>
+      <el-form-item label="审核备注">
+        <el-input type="textarea" v-model="formData.remark" placeholder="请输入审核备注" />
+      </el-form-item>
       <div style="text-align: center">
         <div>
           <el-button plain type="info" @click="dialogVisible = false">关 闭</el-button>

+ 33 - 27
jy-ui/src/views/business/payment/remit/index.vue

@@ -4,18 +4,14 @@ import { FormConfigType } from '@/components/AForm/type'
 import { ToolbarConfigType } from '@/components/AToolbar/type'
 import { ColumnConfigType } from '@/components/ATable/type'
 import { StrAnyObj, StrAnyObjArr } from '@/typings'
-import {
-  getDetailApi,
-  getRemitPageApi,
-  remitApi,
-  remitExcelExportApi
-} from '@/api/business/payment/requests'
+import { getDetailApi, getRemitPageApi, remitApi, remitExcelExportApi } from '@/api/business/payment/requests'
 import { getPageApi as getCorporationPageApi } from '@/api/business/corporation/corporation'
 import DeptTreeSelect from '@/views/components/DeptTreeSelect/index.vue'
 import { getPageApi as getCapitalAccountPageApi } from '@/api/business/capital/account'
 import MoneyPDF from '@/components/PDF/moneyPDF.vue'
 import { getPdf } from '@/utils/getPdf.js'
-import {getPageApi as getShopApi} from "@/api/business/corporation/shop";
+import { getPageApi as getShopApi } from '@/api/business/corporation/shop'
+import UserOperation from '@/views/business/log/userOperation/index.vue'
 
 const queryRef = ref<InstanceType<typeof AForm>>()
 const formRef = ref<InstanceType<typeof AForm>>()
@@ -28,6 +24,8 @@ const queryData = ref<StrAnyObj>({ pageNum: 1, pageSize: 10 })
 const tableData = ref<StrAnyObjArr>([])
 const detailData = ref<StrAnyObj>({ paymentRequestsDetailList: [{}] })
 const formData = ref<StrAnyObj>({})
+const logData = ref<StrAnyObj>({})
+const operationLog = ref<boolean>(false)
 
 const dialogTitle = ref<string>('')
 const dialogVisible = ref<boolean>(false)
@@ -193,6 +191,13 @@ const columnConfig: ColumnConfigType[] = [
     width: 250,
     handleConfig: [
       {
+        text: '操作日志',
+        click(row) {
+          logData.value = row
+          operationLog.value = true
+        }
+      },
+      {
         text: '打款',
         if: (row) => row.paymentStatus != 2,
         click(row) {
@@ -323,7 +328,20 @@ const formConfig: FormConfigType[] = [
       const data = await getCapitalAccountPageApi({ searchAll: true })
       return data.records
     },
-    rule: [{ required: true, message: '付款账户不能为空', trigger: 'blur' }]
+    rule: [{ required: true, message: '付款账户不能为空', trigger: 'blur' }],
+    change: (val, options) => {
+      console.log(val, options)
+      if (val) {
+        let list = options.filter((item) => item.id === val)
+        if (list && list.length > 0) {
+          formData.value.capitalAccountName = list[0].accountAlias
+        } else {
+          formData.value.capitalAccountName = ''
+        }
+      } else {
+        formData.value.capitalAccountName = ''
+      }
+    }
   },
   {
     type: 'inputNumber',
@@ -390,8 +408,7 @@ function formClosed() {
 const printObj = ref({
   id: 'pdfDom',
   popTitle: '',
-  extraCss:
-    'https://cdn.bootcdn.net/ajax/libs/animate.css/4.1.1/animate.compat.css, https://cdn.bootcdn.net/ajax/libs/hover.css/2.3.1/css/hover-min.css',
+  extraCss: 'https://cdn.bootcdn.net/ajax/libs/animate.css/4.1.1/animate.compat.css, https://cdn.bootcdn.net/ajax/libs/hover.css/2.3.1/css/hover-min.css',
   extraHead: '<meta http-equiv="Content-Language"content="zh-cn"/>'
 })
 const clickDownload = () => {
@@ -423,15 +440,7 @@ const clickDownload = () => {
     >
     </a-table>
 
-    <a-dialog
-      v-if="dialogVisible"
-      v-model="dialogVisible"
-      :title="dialogTitle"
-      :footer="!disabled"
-      @submit="formSubmit"
-      @closed="formClosed"
-      width="1400px"
-    >
+    <a-dialog v-if="dialogVisible" v-model="dialogVisible" :title="dialogTitle" :footer="!disabled" @submit="formSubmit" @closed="formClosed" width="1400px">
       <div v-if="disabled">
         <a-form v-model="detailData" :config="detailConfig" :span="12" disabled> </a-form>
       </div>
@@ -445,14 +454,7 @@ const clickDownload = () => {
       </el-card>
     </a-dialog>
 
-    <a-dialog
-      :footer="false"
-      v-if="dialogPrint"
-      v-model="dialogPrint"
-      title="打印"
-      width="840px"
-      height="200px"
-    >
+    <a-dialog :footer="false" v-if="dialogPrint" v-model="dialogPrint" title="打印" width="840px" height="200px">
       <MoneyPDF :rowData="rowData"></MoneyPDF>
       <template #footer>
         <div>
@@ -462,5 +464,9 @@ const clickDownload = () => {
         </div>
       </template>
     </a-dialog>
+
+    <a-dialog v-model="operationLog" title="操作日志" width="90%" :footer="false">
+      <UserOperation :logData="logData"></UserOperation>
+    </a-dialog>
   </div>
 </template>

+ 14 - 0
jy-ui/src/views/business/payment/requests/index.vue

@@ -14,6 +14,7 @@ import MoneyPDF from '@/components/PDF/moneyPDF.vue'
 import { getPdf } from '@/utils/getPdf.js'
 import { getPageApi as getContractPageApi } from '@/api/business/contract/info'
 import { getPageApi as getShopApi } from '@/api/business/corporation/shop'
+import UserOperation from '@/views/business/log/userOperation/index.vue'
 
 const queryRef = ref<InstanceType<typeof AForm>>()
 const formRef = ref<InstanceType<typeof AForm>>()
@@ -26,6 +27,8 @@ const queryData = ref<StrAnyObj>({ pageNum: 1, pageSize: 10 })
 const contractList = ref<StrAnyObjArr>([])
 const tableData = ref<StrAnyObjArr>([])
 const formData = ref<StrAnyObj>({ paymentRequestsDetailList: [{}] })
+const logData = ref<StrAnyObj>({})
+const operationLog = ref<boolean>(false)
 
 const dialogTitle = ref<string>('')
 const dialogVisible = ref<boolean>(false)
@@ -256,6 +259,13 @@ const columnConfig: ColumnConfigType[] = [
     width: 250,
     handleConfig: [
       {
+        text: '操作日志',
+        click(row) {
+          logData.value = row
+          operationLog.value = true
+        }
+      },
+      {
         text: '取回',
         if(row) {
           return row.approvalStatus == 1
@@ -745,5 +755,9 @@ const clickDownload = () => {
         </el-table-column>
       </el-table>
     </a-dialog>
+
+    <a-dialog v-model="operationLog" title="操作日志" width="90%" :footer="false">
+      <UserOperation :logData="logData"></UserOperation>
+    </a-dialog>
   </div>
 </template>