Browse Source

fix:修改教材征订

zcuishan 8 months ago
parent
commit
82167fc14b

+ 13 - 13
src/services/apis/WfTextbookSubscriptionItemHistoryController.ts

@@ -11,21 +11,21 @@ import { ErrorMessageMode } from '/#/axios';
             ;
 
 
-            /** 新增教材教辅征订项变更历史 POST /student/wfTextbookSubscriptionItemHistory */
-export async function postStudentWfTextbookSubscriptionItemHistory(params:API.AddWfTextbookSubscriptionItemHistoryDto
+            /** 新增教材教辅征订项变更历史 POST /textbook/wfTextbookSubscriptionItemHistory */
+export async function postTextbookWfTextbookSubscriptionItemHistory(params:API.AddWfTextbookSubscriptionItemHistoryDto
 ,mode: ErrorMessageMode = 'modal'){ return defHttp.post<any>
-        ({url: '/student/wfTextbookSubscriptionItemHistory', data:params},{errorMessageMode:mode});}
-/** 修改教材教辅征订项变更历史 PUT /student/wfTextbookSubscriptionItemHistory */
-export async function putStudentWfTextbookSubscriptionItemHistory(params:API.UpdateWfTextbookSubscriptionItemHistoryDto
+        ({url: '/textbook/wfTextbookSubscriptionItemHistory', data:params},{errorMessageMode:mode});}
+/** 修改教材教辅征订项变更历史 PUT /textbook/wfTextbookSubscriptionItemHistory */
+export async function putTextbookWfTextbookSubscriptionItemHistory(params:API.UpdateWfTextbookSubscriptionItemHistoryDto
 ,mode: ErrorMessageMode = 'modal'){ return defHttp.put<any>
-        ({url: '/student/wfTextbookSubscriptionItemHistory', data:params},{errorMessageMode:mode});}
-/** 删除教材教辅征订项变更历史 DELETE /student/wfTextbookSubscriptionItemHistory */
-export async function deleteStudentWfTextbookSubscriptionItemHistory(params:string[],mode: ErrorMessageMode = 'modal'){ return defHttp.delete<any>
-        ({url: '/student/wfTextbookSubscriptionItemHistory', data:params},{errorMessageMode:mode});}
-/** 根据id查询教材教辅征订项变更历史信息 GET /student/wfTextbookSubscriptionItemHistory/info */
+        ({url: '/textbook/wfTextbookSubscriptionItemHistory', data:params},{errorMessageMode:mode});}
+/** 删除教材教辅征订项变更历史 DELETE /textbook/wfTextbookSubscriptionItemHistory */
+export async function deleteTextbookWfTextbookSubscriptionItemHistory(params:string[],mode: ErrorMessageMode = 'modal'){ return defHttp.delete<any>
+        ({url: '/textbook/wfTextbookSubscriptionItemHistory', data:params},{errorMessageMode:mode});}
+/** 根据id查询教材教辅征订项变更历史信息 GET /textbook/wfTextbookSubscriptionItemHistory/info */
 export async function getWfTextbookSubscriptionItemHistoryInfo(params:any,mode: ErrorMessageMode = 'modal'){ return defHttp.get<API.WfTextbookSubscriptionItemHistoryVo>
-        ({url: '/student/wfTextbookSubscriptionItemHistory/info', params:params},{errorMessageMode:mode});}
-/** 教材教辅征订项变更历史列表(分页) GET /student/wfTextbookSubscriptionItemHistory/page */
+        ({url: '/textbook/wfTextbookSubscriptionItemHistory/info', params:params},{errorMessageMode:mode});}
+/** 教材教辅征订项变更历史列表(分页) GET /textbook/wfTextbookSubscriptionItemHistory/page */
 export async function getWfTextbookSubscriptionItemHistoryPage(params:any,mode: ErrorMessageMode = 'modal'){ return defHttp.get<API.PageOutput<API.WfTextbookSubscriptionItemHistoryPageVo>>
-        ({url: '/student/wfTextbookSubscriptionItemHistory/page', params:params},{errorMessageMode:mode});}
+        ({url: '/textbook/wfTextbookSubscriptionItemHistory/page', params:params},{errorMessageMode:mode});}
             

+ 3 - 3
src/services/apis/index.ts

@@ -136,7 +136,6 @@ import * as SchoolRollTransferStudentController from './SchoolRollTransferStuden
 import * as StudentHonorsController from './StudentHonorsController';
 import * as StudentManagerController from './StudentManagerController';
 import * as WfCadreCandidateController from './WfCadreCandidateController';
-import * as WfTextbookSubscriptionItemHistoryController from './WfTextbookSubscriptionItemHistoryController';
 import * as StudentStatisticsController from './StudentStatisticsController';
 import * as LoginController from './LoginController';
 import * as AreaController from './AreaController';
@@ -181,6 +180,7 @@ import * as TextbookWarehouseRecordController from './TextbookWarehouseRecordCon
 import * as WfTextbookClaimController from './WfTextbookClaimController';
 import * as WfTextbookRecedeController from './WfTextbookRecedeController';
 import * as WfTextbookSubscriptionController from './WfTextbookSubscriptionController';
+import * as WfTextbookSubscriptionItemHistoryController from './WfTextbookSubscriptionItemHistoryController';
 import * as WeeklyDutyScheduleController from './WeeklyDutyScheduleController';
 import * as WorkflowDelegateController from './WorkflowDelegateController';
 import * as WorkflowExecuteController from './WorkflowExecuteController';
@@ -458,8 +458,6 @@ StudentHonorsController,
 StudentManagerController,
 /** Wf Cadre Candidate Controller */
 WfCadreCandidateController,
-/** Wf Textbook Subscription Item History Controller */
-WfTextbookSubscriptionItemHistoryController,
 /** Student Statistics Controller */
 StudentStatisticsController,
 /** Login Controller */
@@ -548,6 +546,8 @@ WfTextbookClaimController,
 WfTextbookRecedeController,
 /** Wf Textbook Subscription Controller */
 WfTextbookSubscriptionController,
+/** Wf Textbook Subscription Item History Controller */
+WfTextbookSubscriptionItemHistoryController,
 /** Weekly Duty Schedule Controller */
 WeeklyDutyScheduleController,
 /** Workflow Delegate Controller */

+ 2 - 0
src/services/typing.d.ts

@@ -18854,6 +18854,8 @@ courseSubjectIdCn?: string;
 editorInChief?: string;
 /** 主键编号 */
 id?: string;
+/** 已入库数量 */
+inStockroomNum?: number;
 /** 是否有配套教学资源(xjr_dictionary_item[judgment_method_1]) */
 isSupportResources?: string;
 /** 是否为规划教材(xjr_dictionary_item[judgment_method_1]) */

+ 87 - 0
src/views/educational/textbookSubscription/components/changeHistory.vue

@@ -0,0 +1,87 @@
+<script setup lang="ts">
+  import BasicModal from '/@/components/Modal/src/BasicModal.vue';
+  import { useModalInner } from '/@/components/Modal';
+  import BasicTable from '/@/components/Table/src/BasicTable.vue';
+  import { useTable } from '/@/components/Table';
+  const id = ref('');
+  import { getWfTextbookSubscriptionItemHistoryPage } from '/@/services/apis/WfTextbookSubscriptionItemHistoryController';
+  import { h, ref } from 'vue';
+  const [registerModal, { closeModal }] = useModalInner((data) => {
+    id.value = data;
+    reload();
+  });
+  const [tableRef, { reload }] = useTable({
+    api: getWfTextbookSubscriptionItemHistoryPage,
+    bordered: true,
+    immediate: false,
+    columns: [
+      {
+        title: '变更类型',
+        dataIndex: 'alterationType',
+        customRender({ text }) {
+          return text == 1 ? '变更数量' : '变更教材';
+        },
+      },
+      {
+        title: '变更时间',
+        dataIndex: 'createDate',
+      },
+      {
+        title: '操作人',
+        dataIndex: 'createUserIdCn',
+      },
+      {
+        title: '课程名称',
+        dataIndex: 'courseName',
+        customRender({ record, text }) {
+          if (record.alterationType == 2) {
+            return h('span', { style: 'color:red' }, text);
+          }
+        },
+      },
+      {
+        title: '教材名称',
+        dataIndex: 'bookName',
+        customRender({ record, text }) {
+          if (record.alterationType == 2) {
+            return h('span', { style: 'color:red' }, text);
+          }
+        },
+      },
+      {
+        title: '学生用书征订数量',
+        dataIndex: 'studentSubscriptionNumber',
+        customRender({ record, text }) {
+          if (record.alterationType == 1) {
+            return h('span', { style: 'color:red' }, text);
+          }
+        },
+      },
+      {
+        title: '教师用书征订数量',
+        dataIndex: 'teacherSubscriptionNumber',
+        customRender({ record, text }) {
+          if (record.alterationType == 1) {
+            return h('span', { style: 'color:red' }, text);
+          }
+        },
+      },
+    ],
+    title: '变更记录表',
+    resizeHeightOffset: 200,
+    beforeFetch: (params) => {
+      return {
+        ...params,
+        wfTextbookSubscriptionId: id.value,
+      };
+    },
+  });
+</script>
+
+<template>
+  <BasicModal :footer="[]" @register="registerModal" default-fullscreen title="变更记录">
+    <BasicTable @register="tableRef" />
+  </BasicModal>
+</template>
+
+<style scoped lang="less"></style>

+ 44 - 0
src/views/educational/textbookSubscription/components/data.config.ts

@@ -1,5 +1,6 @@
 import { BasicColumn, FormSchema } from '/@/components/Table';
 import { requestMagicApi } from '/@/api/magicApi';
+import { h } from 'vue';
 export const subscription = {
   1: '待发起',
   2: '征订中',
@@ -225,44 +226,84 @@ export const historyTableColumns: BasicColumn[] = [
     title: '课程名称',
     dataIndex: 'courseSubjectIdCn',
     width: 150,
+    customRender({ record, text }) {
+      if (record.alterationType == 2) {
+        return h('span', { style: 'color:red' }, text);
+      }
+    },
     align: 'left',
   },
   {
     title: '教材书名',
     dataIndex: 'bookName',
     align: 'left',
+    customRender({ record, text }) {
+      if (record.alterationType == 2) {
+        return h('span', { style: 'color:red' }, text);
+      }
+    },
     width: 150,
   },
   {
     title: '书号(ISSN)',
     dataIndex: 'issn',
+    customRender({ record, text }) {
+      if (record.alterationType == 2) {
+        return h('span', { style: 'color:red' }, text);
+      }
+    },
     width: 150,
   },
   {
     title: '作者(主编)',
     dataIndex: 'editorInChief',
+    customRender({ record, text }) {
+      if (record.alterationType == 2) {
+        return h('span', { style: 'color:red' }, text);
+      }
+    },
     width: 100,
     align: 'left',
   },
   {
     title: '出版社',
     dataIndex: 'publishingHouse',
+    customRender({ record, text }) {
+      if (record.alterationType == 2) {
+        return h('span', { style: 'color:red' }, text);
+      }
+    },
     width: 100,
   },
   {
     title: '类型',
     dataIndex: 'textbookTypeCn',
+    customRender({ record, text }) {
+      if (record.alterationType == 2) {
+        return h('span', { style: 'color:red' }, text);
+      }
+    },
     width: 100,
   },
 
   {
     title: '学生用书征订数量',
     dataIndex: 'studentSubscriptionNumber',
+    customRender({ record, text }) {
+      if (record.alterationType !== 0) {
+        return h('span', { style: 'color:red' }, text);
+      }
+    },
     width: 150,
   },
   {
     title: '教师用书征订数量',
     dataIndex: 'teacherSubscriptionNumber',
+    customRender({ record, text }) {
+      if (record.alterationType !== 0) {
+        return h('span', { style: 'color:red' }, text);
+      }
+    },
     width: 150,
   },
   {
@@ -273,6 +314,9 @@ export const historyTableColumns: BasicColumn[] = [
   {
     title: '征订总数量',
     dataIndex: 'subscriptionNumber',
+    customRender: ({ record }) => {
+      return record.studentSubscriptionNumber ? record.teacherSubscriptionNumber : '';
+    },
     width: 120,
   },
   {

+ 27 - 4
src/views/educational/textbookSubscription/components/textBookPop.vue

@@ -4,10 +4,14 @@
   import BasicTable from '/@/components/Table/src/BasicTable.vue';
   import { useTable } from '/@/components/Table';
   import { textbookColumns } from '/@/views/educational/textbookSubscription/components/data.config';
-  import { getWfTextbookSubscriptionInstockroomList } from '/@/services/apis/WfTextbookSubscriptionController';
+  import {
+    getWfTextbookSubscriptionInstockroomList,
+    postWfTextbookSubscriptionInstockroom,
+  } from '/@/services/apis/WfTextbookSubscriptionController';
   import { ref } from 'vue';
+  import { useMessage } from '/@/hooks/web/useMessage';
   const wfTextbookSubscriptionId = ref('');
-  const [register, { closeModal }] = useModalInner((data) => {
+  const [register, { closeModal, setModalProps }] = useModalInner((data) => {
     wfTextbookSubscriptionId.value = data.id;
     reload();
   });
@@ -38,10 +42,28 @@
       },
     ],
   });
+
+  const { createMessage } = useMessage();
+  const handleSubmit = async () => {
+    try {
+      setModalProps({
+        confirmLoading: true,
+      });
+      await postWfTextbookSubscriptionInstockroom(getDataSource(), 'none');
+      createMessage.success('操作成功');
+      closeModal();
+    } catch (e) {
+      console.log(e);
+    } finally {
+      setModalProps({
+        confirmLoading: false,
+      });
+    }
+  };
 </script>
 
 <template>
-  <BasicModal title="教材入库" default-fullscreen @register="register">
+  <BasicModal @ok="handleSubmit" title="教材入库" default-fullscreen @register="register">
     <BasicTable @register="tableReg">
       <template #toolbar>
         <a-button type="primary">导入</a-button>
@@ -49,9 +71,10 @@
       <template #action="{ record }">
         <a-input-number
           :step="1"
+          :default-value="0"
           :min="0"
           placeholder="请输入征订数量"
-          v-model:value="record.popNum"
+          v-model:value="record.inNum"
         />
       </template>
     </BasicTable>

+ 12 - 7
src/views/educational/textbookSubscription/components/view.vue

@@ -3,6 +3,7 @@
   import { useModal, useModalInner } from '/@/components/Modal';
   import BasicTable from '/@/components/Table/src/BasicTable.vue';
   import { useTable } from '/@/components/Table';
+  import changeHistoryVue from './changeHistory.vue';
   import changeTextBookVue from './changeTextBook.vue';
   import {
     ClassColumns,
@@ -11,7 +12,6 @@
   import {
     getWfTextbookSubscriptionBaseclassPage,
     getWfTextbookSubscriptionInfo,
-    putWfTextbookSubscriptionAlteration,
   } from '/@/services/apis/WfTextbookSubscriptionController';
   import { nextTick, ref } from 'vue';
   import { Modal } from 'ant-design-vue';
@@ -23,6 +23,7 @@
     itemId.value = data.id;
     await reloadHistory();
   });
+  const [changeHistoryRef, { openModal: openChangeHistory }] = useModal();
   const [changeRef, { openModal }] = useModal();
   const [tableReg, { reload: reloadHistory }] = useTable({
     title: '教材征订表',
@@ -61,17 +62,14 @@
       reload();
     });
   };
-  const handleSubmit = () => {
-    putWfTextbookSubscriptionAlteration;
-  };
 </script>
 
 <template>
   <BasicModal
+    :footer="[]"
     :canFullscreen="false"
     defaultFullscreen
     v-bind="$attrs"
-    @ok="handleSubmit"
     @register="viewReg"
     title="征订明细"
   >
@@ -97,8 +95,14 @@
     </div>
     <div>
       <BasicTable @register="tableReg">
+        <template #toolbar>
+          <a-button type="primary" @click="openChangeHistory(true, itemId)">变更记录</a-button>
+          <a-button type="primary">导出</a-button>
+        </template>
         <template #action="{ record }">
-          <a @click="openModal(true, record)">变更</a>
+          <a-button type="link" @click="openModal(true, record)" :disabled="record.inStockroomNum"
+            >变更</a-button
+          >
         </template>
       </BasicTable>
       <Modal width="1000px" v-model:visible="visible" title="查看">
@@ -107,7 +111,8 @@
         </div>
       </Modal>
     </div>
-    <changeTextBookVue @register="changeRef" />
+    <changeTextBookVue @register="changeRef" @success="reload" />
+    <changeHistoryVue @register="changeHistoryRef" />
   </BasicModal>
 </template>