Explorar o código

去@vue/reactivity

刘聪 %!s(int64=4) %!d(string=hai) anos
pai
achega
98d0b58d79
Modificáronse 1 ficheiros con 79 adicións e 0 borrados
  1. 79 0
      src/views/business/purchase/setup.ts

+ 79 - 0
src/views/business/purchase/setup.ts

@@ -0,0 +1,79 @@
+import { QueryPurchase } from '@/services/go/ermcp/purchase';
+import { Ermcp3SellBuyContract, SellBuyContractReq } from '@/services/go/ermcp/purchase/interface';
+import APP from '@/services';
+import { getUserId } from '@/services/bus/account';
+import { initData } from '@/common/methods';
+import { ColumnType, getTableHead } from '@/common/methods/table';
+import { detailButton, permissionButton, handlePermission } from '@/common/setup/buttonPermission/index';
+import { MenuItem } from '@/common/components/contextMenu/interface';
+import { openModal } from '@/common/setup/modal/index';
+import { watchEffect, ref } from 'vue';
+// 采购数据获取和表头数据整理
+export function handlePurchase() {
+    // ========================loading========================
+    const loading = ref<boolean>(false);
+    // ========================获取列表数据========================
+    let customList = ref<Ermcp3SellBuyContract[] | []>([]);
+    function queryPurchase() {
+        const AreaUserID = APP.get('userAccount').memberuserid; // 所属机构id
+        const req: SellBuyContractReq = {
+            areauserid: AreaUserID, //  所属机构ID
+            contracttype: 1, // 合同类型 1-采购, -1-销售
+            querytype: 1, // 查询类型 1-全部 2-待点价 3-履约结算 4-已完成
+            userid: getUserId(), // 用户ID
+        };
+        QueryPurchase(req).then((res) => {
+            customList.value = res;
+        });
+    }
+
+    // ========================获取表头========================
+    const columns = ref<ColumnType[]>([]);
+    function getColumns() {
+        const list = getTableHead('table_pcweb_purchase');
+        columns.value.length = 0;
+        list.forEach((e, i) => {
+            const { columnfield, columntitle, aligntype } = e;
+            const item: ColumnType = {
+                key: String(i),
+                dataIndex: columnfield,
+                title: columntitle,
+                align: aligntype === 1 ? 'center' : aligntype === 2 ? 'left' : 'right',
+                slots: { customRender: columnfield },
+            };
+            columns.value.push(item);
+        });
+    }
+
+    // ========================数据初始化========================
+    initData((): void => {
+        queryPurchase();
+        getColumns();
+    });
+    return { loading, customList, columns };
+}
+
+// 按钮权限与功能组件
+export function btnAndComp() {
+    // 传入父及的code 得到当前1234级的整个权限
+    const { hasPermission } = handlePermission('purchase_pending');
+    // 配置右键菜单列表
+    const contextMenuList = ref<MenuItem[]>([]);
+    // 打开新增页的弹窗 返回打开弹窗的方法
+    const { openAction: addAction } = openModal('addCustomInfo');
+    // 创建详情页并写入右键菜单列表(每个页面都有,写死)
+    detailButton('customDetail', contextMenuList);
+    // 通过code跟弹窗建立联系 返回写入右键的方法
+    const { action: deleteAction } = permissionButton('purchase_pending_someprice', '点价登记', contextMenuList);
+
+    const stop = watchEffect(() => {
+        // 判断是否有权限 有就写入
+        hasPermission('custom_info_btn_delete') && deleteAction();
+    });
+    return {
+        stop,
+        addAction,
+        hasPermission,
+        contextMenuList,
+    };
+}