123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227 |
- <template>
- <LjDetail
- name="rpMustPayCrmDetail"
- ref="LjDetailRef"
- v-bind="detailProps"
- :data="mainData"
- :request-api="getData"
- :data-callback="dataCallback"
- :init-param="initParams"
- v-model:order-status="orderStatus"
- :action="orderStatus ? orderEditAction : orderDefaultAction"
- >
- <!-- @to-pin-detail="emit('toPinDetail')" -->
- <template #rpMustPayMxList>
- <LjVxeTable
- ref="rpMustPayMxList"
- row-key="key"
- table-cls=""
- :request-api="getData_mx"
- :data-callback="dataCallback"
- :init-param="initParams"
- :columns="columnsMx"
- :dwname="DwnameEnum.mattressQuoteMx"
- :table-props="tableProps_mx"
- :tool-button="['export', 'refresh', 'setting']"
- :auto-load-layout="false"
- pagination
- >
- </LjVxeTable>
- </template>
- </LjDetail>
- </template>
- <script setup lang="ts" name="mattressQuoteDetail">
- import { ref, watch, reactive, inject, nextTick, computed, onMounted } from "vue";
- import { DwnameEnum } from "@/enums/dwnameEnum";
- import LjDetail from "@/components/LjDetail/index.vue";
- import { DetailProp } from "@/components/LjDetail/interface";
- import { useI18n } from "vue-i18n";
- import { useHooks } from "./hooks/index";
- import { useAuthButtons } from "@/hooks/useAuthButtons";
- import LjVxeTable from "@/components/LjVxeTable/index.vue";
- import { cloneDeep } from "lodash-es";
- import { useRoute, useRouter } from "vue-router";
- import { CommonDynamicSelect } from "@/api/modules/common";
- interface detailProp {
- /**
- * @argument any 页面数据
- */
- data?: any;
- /**
- * @argument string 请求数据的api ==> 非必传
- */
- requestApi?: (params: any) => Promise<any>;
- /**
- * @argument any 基础信息,表格展示数据
- */
- // columns?: any;
- /**
- * @description 是否可编辑
- */
- status: "edit" | "new" | string;
- }
- const props = withDefaults(defineProps<detailProp>(), {});
- const { t } = useI18n();
- const route = useRoute();
- const { columns, columnsMx } = useHooks(t);
- const { CheckPower, CheckOption, buttonNew, buttonDefault } = useAuthButtons(t);
- const initParams = ref({ arg_mattressid: 0 });
- const mainData = ref([]);
- const orderStatus = ref("");
- const detailProps = reactive<DetailProp>({
- dwname: DwnameEnum.mattressQuote,
- columns: columns,
- // headerstatus: ["status", "ifamt_ok"],
- basicDefault: {
- basicGroup: [
- {
- label: "单据信息",
- span: 1
- },
- {
- label: "床垫信息",
- span: 1
- },
- {
- label: "报价信息",
- span: 1
- },
- {
- label: ""
- }
- ]
- },
- header: {
- fieldNames: {
- code: "sptcode",
- codeLabel: t("table.u_spt.sptcode") + ":",
- name: "name"
- },
- // icon: "iconclipboard",
- tabsProp: {
- scrollspy: true,
- sticky: true
- }
- },
- mould: [
- {
- id: "rpMustPayMxList",
- type: "table",
- label: t("business.takePay.mustPayMx")
- }
- ]
- });
- const tableProps_mx = {
- // height: "auto",
- height: "",
- minHeight: "300px",
- editConfig: { trigger: "click", mode: "cell" }
- // exportConfig: {
- // filename: t("menu.saleTaskCrmDetail") + formatToDate(new Date(), "YYYY-MM-DD HH:mm:ss")
- // }
- };
- const getData = (params: any) => {
- console.log("getData params :>> ", params);
- let newParams: any = {};
- params.pageNum && (newParams.pageindex = params.pageNum);
- params.pageSize && (newParams.pagesize = params.pageSize);
- delete params.pageNum;
- delete params.pageSize;
- newParams.queryParams = params;
- console.log("params :>> ", params);
- newParams.dsname = "web_mattress";
- return CommonDynamicSelect(newParams, DwnameEnum.mattressQuote);
- // return [];
- };
- const getData_mx = (params: any) => {
- console.log("getData params :>> ", params);
- let newParams: any = {};
- params.pageNum && (newParams.pageindex = params.pageNum);
- params.pageSize && (newParams.pagesize = params.pageSize);
- delete params.pageNum;
- delete params.pageSize;
- newParams.queryParams = params;
- console.log("params :>> ", params);
- newParams.dsname = "web_mattress_mx";
- return CommonDynamicSelect(newParams, DwnameEnum.mattressQuoteMx);
- // return [];
- };
- const dataCallback = (data: any) => {
- console.log("dataCallback data :>> ", data);
- return {
- list: data.datatable,
- tableinfo: data.tableinfo,
- total: data.totalcnt,
- pageNum: data.pageindex,
- pageSize: data.pagesize
- };
- };
- const orderDefaultAction = [
- buttonDefault({
- label: t("common.add")
- }),
- buttonDefault({
- label: t("common.editText")
- }),
- buttonDefault({
- label: t("common.delText")
- }),
- [
- buttonDefault({
- label: t("common.auditFinance"),
- clickFunc: () => {}
- }),
- buttonDefault({
- label: t("common.withdrawAuditFinance"),
- clickFunc: () => {}
- })
- ],
- buttonDefault({
- label: t("common.copyQuote")
- }),
- buttonDefault({
- label: t("common.showFormula")
- }),
- buttonDefault({
- label: t("common.viewHistoricalQuotes")
- })
- ];
- const orderEditAction = [];
- onMounted(async () => {
- console.log("route onMounted:>> ", route);
- console.log("route onMounted:>> ", route.params);
- console.log("route onMounted:>> ", route.params.id);
- if (route.query?.id) {
- // 赋值主表数据
- // mainData.value = res.datatable.length ? res.datatable[0] : {};
- console.log("mainData.value :>> ", mainData.value);
- // 刷新数据
- initParams.value.arg_mattressid = Number(route.query?.id);
- console.log("detail onMounted initParams.value :>> ", initParams.value);
- // } else {
- // // 直接读取
- // mainData.value = props.data;
- }
- });
- </script>
- <style lang="scss">
- .select-text-right {
- .el-select__wrapper {
- text-align: right;
- }
- }
- </style>
|