| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210 |
- <script lang="tsx">
- //表格
- import { defineComponent, ref } from "vue";
- import { ElMessage } from "element-plus";
- import { transformPageResponse } from "@/utils/qomo";
- import { useRouter } from "vue-router";
- export default defineComponent({
- setup() {
- const router = useRouter();
- const tableRef = ref();
- const forecastDialogRef = ref();
- const selectionRows = ref([]);
- const btnTitle = ref("工时差异");
- // const uploadUrl = ref("/c7525cost/importExcel");
- //列
- const columnsCheck = ref([
- { prop: "type", label: "对比项", hideInSearchForm: true },
- {
- label: "实际",
- prop: "costCenterCode",
- hideInSearchForm: true
- },
- { label: "标准", prop: "factory", hideInSearchForm: true },
- { label: "差值", prop: "factory", hideInSearchForm: true },
- {
- type: "operation",
- label: "挖掘分析",
- minWidth: 120,
- render: ({ row }) => (
- <base-table-operation
- btnList={[
- {
- key: "check",
- label:"查看明细",
- onclick: () => timeVariance(row)
- }
- ]}
- />
- )
- }
- ]);
- const columns = ref([
- { type: "selection" },
- { prop: "year", label: "工厂号" },
- { label: "物料号", prop: "costCenterCode" },
- { label: "成本阶段", prop: "factory" },
- { prop: "laborHourRate", label: "版本号", hideInSearchForm: true },
- { prop: "equipHourRate", label: "工单年月",hideInAddOrEditForm: true},
- {
- prop: "fuelHourRate",
- label: "实际总成本",
- hideInSearchForm: true,
- hideInAddOrEditForm: true
- },
- {
- prop: "auxiliaryHourRate",
- label: "标准总成本",
- hideInSearchForm: true,
- hideInAddOrEditForm: true
- },
- { prop: "otherHourRate", label: "总差额", hideInSearchForm: true,hideInAddOrEditForm: true },
- { prop: "effectiveDate", label: "差额比", hideInSearchForm: true,hideInAddOrEditForm: true },
- {
- valueType: "date",
- prop: "expirationDate",
- label: "创建时间",
- hideInSearchForm: true,
- hideInAddOrEditForm: true
- },
- {
- type: "operation",
- label: "报告状态",
- minWidth: 120,
- render: ({ row, doAddOrEdit, doDeleteRows, doPreview }) => (
- <base-table-operation
- btnList={[
- {
- key: "check",
- label: "查看报告",
- onclick: () => checkReport(row)
- }
- ]}
- />
- )
- }
- ]);
-
- const render = () => {
- return (
- <div>
- <BaseTable
- columns={columns.value}
- ref={tableRef}
- selectionRows={selectionRows.value}
- toolbar={{
- layout: "search-dnamic,reload,column-setting,fullscreen"
- }}
- request={async ({
- pageSize = 10,
- current = 1,
- ...otherSearchParams
- }) => {
- await new Promise(resolve =>
- setTimeout(resolve, Math.random() * 1111)
- );
- return {
- data: Array(pageSize)
- .fill(0)
- .map((item, index) => ({
- id: Math.random(),
- name: "Tom" + current,
- date123: "date123" + current,
- createTime: new Date().getTime(),
- districtName: "区划" + index,
- districtName1: "区划1" + index
- })),
- current,
- // pages: 500 / pageSize,
- total: 500
- };
- }}
- curdConfig={{
- /**
- * 接受自动表单的数据
- * @param data
- */
- async onAddOrEdit(data) {},
-
- unitColSpan: 24
- }}
- v-slots={{
- toolbar: ({ doAddOrEdit, doDeleteRows }) => (
- <el-space>
- <el-button type="primary" onClick={doAddOrEdit}>
- 新增挖掘任务
- </el-button>
- </el-space>
- )
- }}
- />
- <BaseDialog
- title="报告详情"
- width="80%"
- ref={forecastDialogRef}
- confirmButtonProps={false}
- >
- <BaseTable
- columns={columnsCheck.value}
- ref={tableRef}
- selectionRows={selectionRows.value}
- request={async ({ pageSize = 10, current = 1 }) => {
- await new Promise(resolve =>
- setTimeout(resolve, Math.random() * 1111)
- );
- return {
- data: Array(pageSize)
- .fill(0)
- .map((item, index) => ({
- id: Math.random(),
- name: "Tom" + current,
- date123: "date123" + current,
- createTime: new Date().getTime(),
- districtName: "区划" + index,
- districtName1: "区划1" + index,
- type: index % 3
- })),
- current,
- total: 500
- };
- }}
- curdConfig={{
- /**
- * 接受自动表单的数据
- * @param data
- */
- async onAddOrEdit(data) {},
-
- unitColSpan: 24
- }}
- />
- </BaseDialog>
- </div>
- );
- };
- const checkReport = () => {
- forecastDialogRef.value.open();
- };
- const timeVariance = row => {
- if (row.type == 0) {
- // 工时
- router.push({
- path: "/standardComparison/manHour",
- });
- } else if (row.type == 1) {
- // 人工
- router.push({
- path: "/standardComparison/artificial",
- });
- } else if (row.type == 2) {
- // 材料
- router.push({
- path: "/standardComparison/materials",
- });
- }
- };
- return render;
- }
- });
- </script>
- <style lang="scss" scoped></style>
|