Merge branch 'projects/mesxc-test' into projects/mesxc-zhp
This commit is contained in:
		@@ -92,7 +92,9 @@ export default {
 | 
				
			|||||||
					param: 'searchTime',
 | 
										param: 'searchTime',
 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
					type: 'button',
 | 
										type: this.$auth.hasPermi('cost:energyCost:query')
 | 
				
			||||||
 | 
											? 'button'
 | 
				
			||||||
 | 
											: '',
 | 
				
			||||||
					btnName: '查询',
 | 
										btnName: '查询',
 | 
				
			||||||
					name: 'search',
 | 
										name: 'search',
 | 
				
			||||||
					color: 'primary',
 | 
										color: 'primary',
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -116,7 +116,9 @@ export default {
 | 
				
			|||||||
					defaultSelect: [],
 | 
										defaultSelect: [],
 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
					type: 'button',
 | 
										type: this.$auth.hasPermi('cost:energyCostHis:query')
 | 
				
			||||||
 | 
											? 'button'
 | 
				
			||||||
 | 
											: '',
 | 
				
			||||||
					btnName: '查询',
 | 
										btnName: '查询',
 | 
				
			||||||
					name: 'search',
 | 
										name: 'search',
 | 
				
			||||||
					color: 'primary',
 | 
										color: 'primary',
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -124,7 +124,9 @@ export default {
 | 
				
			|||||||
					filterable: true,
 | 
										filterable: true,
 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
					type: 'button',
 | 
										type: this.$auth.hasPermi('cost:rawMaterialConfig:query')
 | 
				
			||||||
 | 
											? 'button'
 | 
				
			||||||
 | 
											: '',
 | 
				
			||||||
					btnName: '查询',
 | 
										btnName: '查询',
 | 
				
			||||||
					name: 'search',
 | 
										name: 'search',
 | 
				
			||||||
					color: 'primary',
 | 
										color: 'primary',
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -97,7 +97,9 @@ export default {
 | 
				
			|||||||
					param: 'searchTime',
 | 
										param: 'searchTime',
 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
					type: 'button',
 | 
										type: this.$auth.hasPermi('cost:rawMaterialCost:query')
 | 
				
			||||||
 | 
											? 'button'
 | 
				
			||||||
 | 
											: '',
 | 
				
			||||||
					btnName: '查询',
 | 
										btnName: '查询',
 | 
				
			||||||
					name: 'search',
 | 
										name: 'search',
 | 
				
			||||||
					color: 'primary',
 | 
										color: 'primary',
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -115,7 +115,9 @@ export default {
 | 
				
			|||||||
					defaultSelect: [],
 | 
										defaultSelect: [],
 | 
				
			||||||
				},
 | 
									},
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
					type: 'button',
 | 
										type: this.$auth.hasPermi('cost:rawMaterialCostHis:query')
 | 
				
			||||||
 | 
											? 'button'
 | 
				
			||||||
 | 
											: '',
 | 
				
			||||||
					btnName: '查询',
 | 
										btnName: '查询',
 | 
				
			||||||
					name: 'search',
 | 
										name: 'search',
 | 
				
			||||||
					color: 'primary',
 | 
										color: 'primary',
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,313 +1,324 @@
 | 
				
			|||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <div class="app-container">
 | 
						<div class="app-container">
 | 
				
			||||||
    <!-- 搜索工作栏 -->
 | 
							<!-- 搜索工作栏 -->
 | 
				
			||||||
    <search-bar
 | 
							<search-bar
 | 
				
			||||||
      :formConfigs="formConfig"
 | 
								:formConfigs="formConfig"
 | 
				
			||||||
      ref="searchBarForm"
 | 
								ref="searchBarForm"
 | 
				
			||||||
      @headBtnClick="buttonClick"
 | 
								@headBtnClick="buttonClick" />
 | 
				
			||||||
    />
 | 
							<!-- 列表 -->
 | 
				
			||||||
    <!-- 列表 -->
 | 
							<base-table
 | 
				
			||||||
    <base-table
 | 
								:page="queryParams.pageNo"
 | 
				
			||||||
      :page="queryParams.pageNo"
 | 
								:limit="queryParams.pageSize"
 | 
				
			||||||
      :limit="queryParams.pageSize"
 | 
								:table-props="tableProps"
 | 
				
			||||||
      :table-props="tableProps"
 | 
								:table-data="list"
 | 
				
			||||||
      :table-data="list"
 | 
								:max-height="tableH">
 | 
				
			||||||
      :max-height="tableH"
 | 
								<method-btn
 | 
				
			||||||
    >
 | 
									v-if="tableBtn.length"
 | 
				
			||||||
      <method-btn
 | 
									slot="handleBtn"
 | 
				
			||||||
        v-if="tableBtn.length"
 | 
									:width="160"
 | 
				
			||||||
        slot="handleBtn"
 | 
									label="操作"
 | 
				
			||||||
        :width="160"
 | 
									:method-list="tableBtn"
 | 
				
			||||||
        label="操作"
 | 
									@clickBtn="handleClick" />
 | 
				
			||||||
        :method-list="tableBtn"
 | 
							</base-table>
 | 
				
			||||||
        @clickBtn="handleClick"
 | 
							<pagination
 | 
				
			||||||
      />
 | 
								:page.sync="queryParams.pageNo"
 | 
				
			||||||
    </base-table>
 | 
								:limit.sync="queryParams.pageSize"
 | 
				
			||||||
    <pagination
 | 
								:total="total"
 | 
				
			||||||
      :page.sync="queryParams.pageNo"
 | 
								@pagination="getList" />
 | 
				
			||||||
      :limit.sync="queryParams.pageSize"
 | 
							<!-- 新增 -->
 | 
				
			||||||
      :total="total"
 | 
							<base-dialog
 | 
				
			||||||
      @pagination="getList"
 | 
					 | 
				
			||||||
    />
 | 
					 | 
				
			||||||
    <!-- 新增 -->
 | 
					 | 
				
			||||||
    <base-dialog
 | 
					 | 
				
			||||||
			:dialogTitle="addOrEditTitle"
 | 
								:dialogTitle="addOrEditTitle"
 | 
				
			||||||
			:dialogVisible="centervisible"
 | 
								:dialogVisible="centervisible"
 | 
				
			||||||
			@cancel="handleCancel"
 | 
								@cancel="handleCancel"
 | 
				
			||||||
			@confirm="handleConfirm"
 | 
								@confirm="handleConfirm"
 | 
				
			||||||
			:before-close="handleCancel"
 | 
								:before-close="handleCancel"
 | 
				
			||||||
			width="50%"
 | 
								width="50%">
 | 
				
			||||||
    >
 | 
								<add-or-update
 | 
				
			||||||
			<add-or-update ref="addOrUpdate" @successSubmit="successSubmit" />
 | 
									ref="addOrUpdate"
 | 
				
			||||||
 | 
									@successSubmit="successSubmit" />
 | 
				
			||||||
		</base-dialog>
 | 
							</base-dialog>
 | 
				
			||||||
    <!-- 装车 -->
 | 
							<!-- 装车 -->
 | 
				
			||||||
    <base-dialog
 | 
							<base-dialog
 | 
				
			||||||
			dialogTitle="装车"
 | 
								dialogTitle="装车"
 | 
				
			||||||
			:dialogVisible="centervisible2"
 | 
								:dialogVisible="centervisible2"
 | 
				
			||||||
			@cancel="handleCancel2"
 | 
								@cancel="handleCancel2"
 | 
				
			||||||
			@confirm="handleConfirm2"
 | 
								@confirm="handleConfirm2"
 | 
				
			||||||
			:before-close="handleCancel2"
 | 
								:before-close="handleCancel2"
 | 
				
			||||||
			width="50%"
 | 
								width="50%">
 | 
				
			||||||
    >
 | 
								<loaded-page
 | 
				
			||||||
			<loaded-page ref="loadedPage" @successSubmit="successSubmit2" />
 | 
									ref="loadedPage"
 | 
				
			||||||
 | 
									@successSubmit="successSubmit2" />
 | 
				
			||||||
		</base-dialog>
 | 
							</base-dialog>
 | 
				
			||||||
    <!-- 发货详情 -->
 | 
							<!-- 发货详情 -->
 | 
				
			||||||
    <delivery-log-detail ref='deliveryLogDetail' v-if='showDetail' />
 | 
							<delivery-log-detail
 | 
				
			||||||
  </div>
 | 
								ref="deliveryLogDetail"
 | 
				
			||||||
 | 
								v-if="showDetail" />
 | 
				
			||||||
 | 
						</div>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import { parseTime } from '@/utils/ruoyi'
 | 
					import { parseTime } from '@/utils/ruoyi';
 | 
				
			||||||
import { deliveryLogPage, deliveryLogDelete } from '@/api/base/delivery'
 | 
					import { deliveryLogPage, deliveryLogDelete } from '@/api/base/delivery';
 | 
				
			||||||
import AddOrUpdate from './components/addOrUpdate'
 | 
					import AddOrUpdate from './components/addOrUpdate';
 | 
				
			||||||
import LoadedPage from './components/loadedPage'
 | 
					import LoadedPage from './components/loadedPage';
 | 
				
			||||||
import DeliveryLogDetail from './components/deliveryLogDetail.vue'
 | 
					import DeliveryLogDetail from './components/deliveryLogDetail.vue';
 | 
				
			||||||
 | 
					import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
 | 
				
			||||||
const tableProps = [
 | 
					const tableProps = [
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'orderName',
 | 
							prop: 'orderName',
 | 
				
			||||||
    label: '订单名',
 | 
							label: '订单名',
 | 
				
			||||||
    minWidth: 100,
 | 
							minWidth: 100,
 | 
				
			||||||
    showOverflowtooltip: true
 | 
							showOverflowtooltip: true,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'name',
 | 
							prop: 'name',
 | 
				
			||||||
    label: '发货单名称',
 | 
							label: '发货单名称',
 | 
				
			||||||
    minWidth: 100,
 | 
							minWidth: 100,
 | 
				
			||||||
    showOverflowtooltip: true
 | 
							showOverflowtooltip: true,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'deliveryTime',
 | 
							prop: 'deliveryTime',
 | 
				
			||||||
    label: '发货时间',
 | 
							label: '发货时间',
 | 
				
			||||||
    filter: parseTime,
 | 
							filter: parseTime,
 | 
				
			||||||
    minWidth: 160
 | 
							minWidth: 160,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'code',
 | 
							prop: 'code',
 | 
				
			||||||
    label: '发货单号',
 | 
							label: '发货单号',
 | 
				
			||||||
    showOverflowtooltip: true
 | 
							showOverflowtooltip: true,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'deliverPerName',
 | 
							prop: 'deliverPerName',
 | 
				
			||||||
    label: '发货负责人',
 | 
							label: '发货负责人',
 | 
				
			||||||
    minWidth: 100
 | 
							minWidth: 100,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'principal',
 | 
							prop: 'principal',
 | 
				
			||||||
    label: '运输负责人',
 | 
							label: '运输负责人',
 | 
				
			||||||
    minWidth: 100
 | 
							minWidth: 100,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'principalCall',
 | 
							prop: 'principalCall',
 | 
				
			||||||
    label: '运输联系方式',
 | 
							label: '运输联系方式',
 | 
				
			||||||
    minWidth: 110,
 | 
							minWidth: 110,
 | 
				
			||||||
    showOverflowtooltip: true
 | 
							showOverflowtooltip: true,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'principalCost',
 | 
							prop: 'principalCost',
 | 
				
			||||||
    label: '运输费用',
 | 
							label: '运输费用',
 | 
				
			||||||
    align: 'right'
 | 
							align: 'right',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'remark',
 | 
							prop: 'remark',
 | 
				
			||||||
    label: '备注',
 | 
							label: '备注',
 | 
				
			||||||
    showOverflowtooltip: true
 | 
							showOverflowtooltip: true,
 | 
				
			||||||
  }
 | 
						},
 | 
				
			||||||
]
 | 
					];
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: "DeliveryLog",
 | 
						name: 'DeliveryLog',
 | 
				
			||||||
  data() {
 | 
						mixins: [tableHeightMixin],
 | 
				
			||||||
    return {
 | 
						data() {
 | 
				
			||||||
      formConfig: [
 | 
							return {
 | 
				
			||||||
        {
 | 
								formConfig: [
 | 
				
			||||||
          type: 'input',
 | 
									{
 | 
				
			||||||
          label: '订单名',
 | 
										type: 'input',
 | 
				
			||||||
          param: 'orderName',
 | 
										label: '订单名',
 | 
				
			||||||
          defaultSelect: ''
 | 
										param: 'orderName',
 | 
				
			||||||
        },
 | 
										defaultSelect: '',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: 'input',
 | 
									{
 | 
				
			||||||
          label: '发货单名称',
 | 
										type: 'input',
 | 
				
			||||||
          param: 'name'
 | 
										label: '发货单名称',
 | 
				
			||||||
        },
 | 
										param: 'name',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: 'input',
 | 
									{
 | 
				
			||||||
          label: '发货单号',
 | 
										type: 'input',
 | 
				
			||||||
          param: 'code'
 | 
										label: '发货单号',
 | 
				
			||||||
        },
 | 
										param: 'code',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: 'button',
 | 
									{
 | 
				
			||||||
          btnName: '查询',
 | 
										type: 'button',
 | 
				
			||||||
          name: 'search',
 | 
										btnName: '查询',
 | 
				
			||||||
          color: 'primary'
 | 
										name: 'search',
 | 
				
			||||||
        },
 | 
										color: 'primary',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: this.$auth.hasPermi('extend:delivery-log:create') ? 'separate' : '',
 | 
									{
 | 
				
			||||||
        },
 | 
										type: this.$auth.hasPermi('extend:delivery-log:create')
 | 
				
			||||||
        {
 | 
											? 'separate'
 | 
				
			||||||
          type: this.$auth.hasPermi('extend:delivery-log:create') ? 'button' : '',
 | 
											: '',
 | 
				
			||||||
          btnName: '新增',
 | 
									},
 | 
				
			||||||
          name: 'add',
 | 
									{
 | 
				
			||||||
          color: 'success',
 | 
										type: this.$auth.hasPermi('extend:delivery-log:create')
 | 
				
			||||||
          plain: true
 | 
											? 'button'
 | 
				
			||||||
        }
 | 
											: '',
 | 
				
			||||||
      ],
 | 
										btnName: '新增',
 | 
				
			||||||
      // 查询参数
 | 
										name: 'add',
 | 
				
			||||||
      queryParams: {
 | 
										color: 'success',
 | 
				
			||||||
        pageNo: 1,
 | 
										plain: true,
 | 
				
			||||||
        pageSize: 20,
 | 
									},
 | 
				
			||||||
        orderName: '',
 | 
								],
 | 
				
			||||||
        code: '',
 | 
								// 查询参数
 | 
				
			||||||
        name: ''
 | 
								queryParams: {
 | 
				
			||||||
      },
 | 
									pageNo: 1,
 | 
				
			||||||
      tableProps,
 | 
									pageSize: 20,
 | 
				
			||||||
      list: [],
 | 
									orderName: '',
 | 
				
			||||||
      tableH: this.tableHeight(260),
 | 
									code: '',
 | 
				
			||||||
      total: 0,
 | 
									name: '',
 | 
				
			||||||
      tableBtn: [
 | 
								},
 | 
				
			||||||
      this.$auth.hasPermi('extend:delivery-log:loaded')
 | 
								tableProps,
 | 
				
			||||||
          ? {
 | 
								list: [],
 | 
				
			||||||
              type: 'loaded',
 | 
								total: 0,
 | 
				
			||||||
              btnName: '装车'
 | 
								tableBtn: [
 | 
				
			||||||
            }
 | 
									this.$auth.hasPermi('extend:delivery-log:loaded')
 | 
				
			||||||
          : undefined,
 | 
										? {
 | 
				
			||||||
      this.$auth.hasPermi('extend:delivery-log:detail')
 | 
												type: 'loaded',
 | 
				
			||||||
          ? {
 | 
												btnName: '装车',
 | 
				
			||||||
              type: 'detail',
 | 
										  }
 | 
				
			||||||
              btnName: '详情'
 | 
										: undefined,
 | 
				
			||||||
            }
 | 
									this.$auth.hasPermi('extend:delivery-log:detail')
 | 
				
			||||||
          : undefined,
 | 
										? {
 | 
				
			||||||
        this.$auth.hasPermi('extend:delivery-log:update')
 | 
												type: 'detail',
 | 
				
			||||||
          ? {
 | 
												btnName: '详情',
 | 
				
			||||||
              type: 'edit',
 | 
										  }
 | 
				
			||||||
              btnName: '编辑'
 | 
										: undefined,
 | 
				
			||||||
            }
 | 
									this.$auth.hasPermi('extend:delivery-log:update')
 | 
				
			||||||
          : undefined,
 | 
										? {
 | 
				
			||||||
        this.$auth.hasPermi('extend:delivery-log:delete')
 | 
												type: 'edit',
 | 
				
			||||||
          ? {
 | 
												btnName: '编辑',
 | 
				
			||||||
              type: 'delete',
 | 
										  }
 | 
				
			||||||
              btnName: '删除'
 | 
										: undefined,
 | 
				
			||||||
            }
 | 
									this.$auth.hasPermi('extend:delivery-log:delete')
 | 
				
			||||||
          : undefined
 | 
										? {
 | 
				
			||||||
      ].filter((v) => v),
 | 
												type: 'delete',
 | 
				
			||||||
      addOrEditTitle: '',
 | 
												btnName: '删除',
 | 
				
			||||||
      centervisible: false,
 | 
										  }
 | 
				
			||||||
      centervisible2: false,
 | 
										: undefined,
 | 
				
			||||||
      showDetail: false
 | 
								].filter((v) => v),
 | 
				
			||||||
    }
 | 
								addOrEditTitle: '',
 | 
				
			||||||
  },
 | 
								centervisible: false,
 | 
				
			||||||
  created() {
 | 
								centervisible2: false,
 | 
				
			||||||
    window.addEventListener('resize', () => {
 | 
								showDetail: false,
 | 
				
			||||||
      this.tableH = this.tableHeight(260)
 | 
							};
 | 
				
			||||||
    })
 | 
						},
 | 
				
			||||||
    if (location.href.indexOf('?') > 0) {
 | 
						created() {
 | 
				
			||||||
      let arr = location.href.split('?')[1]
 | 
							if (location.href.indexOf('?') > 0) {
 | 
				
			||||||
      this.formConfig[0].defaultSelect = decodeURI(arr.split('=')[1])
 | 
								let arr = location.href.split('?')[1];
 | 
				
			||||||
    } else {
 | 
								this.formConfig[0].defaultSelect = decodeURI(arr.split('=')[1]);
 | 
				
			||||||
      this.formConfig[0].defaultSelect = ''
 | 
							} else {
 | 
				
			||||||
    }
 | 
								this.formConfig[0].defaultSelect = '';
 | 
				
			||||||
    this.queryParams.orderName = this.formConfig[0].defaultSelect
 | 
							}
 | 
				
			||||||
    this.getList();
 | 
							this.queryParams.orderName = this.formConfig[0].defaultSelect;
 | 
				
			||||||
  },
 | 
							this.getList();
 | 
				
			||||||
  components: { AddOrUpdate, LoadedPage, DeliveryLogDetail },
 | 
						},
 | 
				
			||||||
  watch: {
 | 
						components: { AddOrUpdate, LoadedPage, DeliveryLogDetail },
 | 
				
			||||||
    $route: 'initData'
 | 
						watch: {
 | 
				
			||||||
  },
 | 
							$route: 'initData',
 | 
				
			||||||
  methods: {
 | 
						},
 | 
				
			||||||
    initData(to) {
 | 
						methods: {
 | 
				
			||||||
      if (to.name === 'DeliveryLog') {
 | 
							initData(to) {
 | 
				
			||||||
        if (location.href.indexOf('?') > 0) {
 | 
								if (to.name === 'DeliveryLog') {
 | 
				
			||||||
          let arr = location.href.split('?')[1]
 | 
									if (location.href.indexOf('?') > 0) {
 | 
				
			||||||
          this.formConfig[0].defaultSelect = decodeURI(arr.split('=')[1])
 | 
										let arr = location.href.split('?')[1];
 | 
				
			||||||
        } else {
 | 
										this.formConfig[0].defaultSelect = decodeURI(arr.split('=')[1]);
 | 
				
			||||||
          this.formConfig[0].defaultSelect = ''
 | 
									} else {
 | 
				
			||||||
        }
 | 
										this.formConfig[0].defaultSelect = '';
 | 
				
			||||||
        this.queryParams.orderName = this.formConfig[0].defaultSelect
 | 
									}
 | 
				
			||||||
        this.getList()
 | 
									this.queryParams.orderName = this.formConfig[0].defaultSelect;
 | 
				
			||||||
      }
 | 
									this.getList();
 | 
				
			||||||
    },
 | 
								}
 | 
				
			||||||
    getList() {
 | 
							},
 | 
				
			||||||
      deliveryLogPage({...this.queryParams}).then(res => {
 | 
							getList() {
 | 
				
			||||||
        let arr = res.data.list || []
 | 
								deliveryLogPage({ ...this.queryParams }).then((res) => {
 | 
				
			||||||
        arr && arr.map(item => {
 | 
									let arr = res.data.list || [];
 | 
				
			||||||
          item.principalCost = item.principalCost.toFixed(2)
 | 
									arr &&
 | 
				
			||||||
        })
 | 
										arr.map((item) => {
 | 
				
			||||||
        this.list = arr
 | 
											item.principalCost = item.principalCost.toFixed(2);
 | 
				
			||||||
        this.total = res.data.total || 0
 | 
										});
 | 
				
			||||||
      })
 | 
									this.list = arr;
 | 
				
			||||||
    },
 | 
									this.total = res.data.total || 0;
 | 
				
			||||||
    buttonClick(val) {
 | 
								});
 | 
				
			||||||
      if (val.btnName === 'search') {
 | 
							},
 | 
				
			||||||
        this.queryParams.name = val.name
 | 
							buttonClick(val) {
 | 
				
			||||||
        this.queryParams.orderName = val.orderName
 | 
								if (val.btnName === 'search') {
 | 
				
			||||||
        this.queryParams.code = val.code
 | 
									this.queryParams.name = val.name;
 | 
				
			||||||
        this.getList()
 | 
									this.queryParams.orderName = val.orderName;
 | 
				
			||||||
      } else {
 | 
									this.queryParams.code = val.code;
 | 
				
			||||||
        this.addOrEditTitle = '新增'
 | 
									this.getList();
 | 
				
			||||||
        this.centervisible = true
 | 
								} else {
 | 
				
			||||||
        this.$nextTick(() => {
 | 
									this.addOrEditTitle = '新增';
 | 
				
			||||||
          this.$refs.addOrUpdate.init()
 | 
									this.centervisible = true;
 | 
				
			||||||
        })
 | 
									this.$nextTick(() => {
 | 
				
			||||||
      }
 | 
										this.$refs.addOrUpdate.init();
 | 
				
			||||||
    },
 | 
									});
 | 
				
			||||||
    handleClick(val) {
 | 
								}
 | 
				
			||||||
      console.log(val)
 | 
							},
 | 
				
			||||||
      switch (val.type) {
 | 
							handleClick(val) {
 | 
				
			||||||
        case 'edit':
 | 
								console.log(val);
 | 
				
			||||||
          this.addOrEditTitle = '编辑'
 | 
								switch (val.type) {
 | 
				
			||||||
          this.centervisible = true
 | 
									case 'edit':
 | 
				
			||||||
          this.$nextTick(() => {
 | 
										this.addOrEditTitle = '编辑';
 | 
				
			||||||
            this.$refs.addOrUpdate.init(val.data.id)
 | 
										this.centervisible = true;
 | 
				
			||||||
          })
 | 
										this.$nextTick(() => {
 | 
				
			||||||
          break
 | 
											this.$refs.addOrUpdate.init(val.data.id);
 | 
				
			||||||
        case 'delete':
 | 
										});
 | 
				
			||||||
          this.handleDelete(val.data)
 | 
										break;
 | 
				
			||||||
          break
 | 
									case 'delete':
 | 
				
			||||||
        case 'loaded':
 | 
										this.handleDelete(val.data);
 | 
				
			||||||
          this.centervisible2 = true
 | 
										break;
 | 
				
			||||||
          this.$nextTick(() => {
 | 
									case 'loaded':
 | 
				
			||||||
            this.$refs.loadedPage.init(val.data.id, val.data.code, val.data.orderId)
 | 
										this.centervisible2 = true;
 | 
				
			||||||
          })
 | 
										this.$nextTick(() => {
 | 
				
			||||||
          break
 | 
											this.$refs.loadedPage.init(
 | 
				
			||||||
        default:
 | 
												val.data.id,
 | 
				
			||||||
          this.showDetail = true
 | 
												val.data.code,
 | 
				
			||||||
          this.$nextTick(() => {
 | 
												val.data.orderId
 | 
				
			||||||
            this.$refs.deliveryLogDetail.init(val.data)
 | 
											);
 | 
				
			||||||
          })
 | 
										});
 | 
				
			||||||
      }
 | 
										break;
 | 
				
			||||||
    },
 | 
									default:
 | 
				
			||||||
    // 新增
 | 
										this.showDetail = true;
 | 
				
			||||||
    handleCancel() {
 | 
										this.$nextTick(() => {
 | 
				
			||||||
      this.$refs.addOrUpdate.formClear()
 | 
											this.$refs.deliveryLogDetail.init(val.data);
 | 
				
			||||||
      this.centervisible = false
 | 
										});
 | 
				
			||||||
      this.addOrEditTitle = ''
 | 
								}
 | 
				
			||||||
    },
 | 
							},
 | 
				
			||||||
    handleConfirm() {
 | 
							// 新增
 | 
				
			||||||
      this.$refs.addOrUpdate.submitForm()
 | 
							handleCancel() {
 | 
				
			||||||
    },
 | 
								this.$refs.addOrUpdate.formClear();
 | 
				
			||||||
    successSubmit() {
 | 
								this.centervisible = false;
 | 
				
			||||||
      this.handleCancel()
 | 
								this.addOrEditTitle = '';
 | 
				
			||||||
      this.getList()
 | 
							},
 | 
				
			||||||
    },
 | 
							handleConfirm() {
 | 
				
			||||||
    // 删除
 | 
								this.$refs.addOrUpdate.submitForm();
 | 
				
			||||||
    handleDelete(val) {
 | 
							},
 | 
				
			||||||
      this.$modal.confirm('是否确认删除发货单名为"' + val.name + '"的数据项?').then(function() {
 | 
							successSubmit() {
 | 
				
			||||||
          return deliveryLogDelete({ id: val.id })
 | 
								this.handleCancel();
 | 
				
			||||||
        }).then(() => {
 | 
								this.getList();
 | 
				
			||||||
          this.getList();
 | 
							},
 | 
				
			||||||
          this.$modal.msgSuccess("操作成功");
 | 
							// 删除
 | 
				
			||||||
        }).catch(() => {});
 | 
							handleDelete(val) {
 | 
				
			||||||
    },
 | 
								this.$modal
 | 
				
			||||||
    // 装车
 | 
									.confirm('是否确认删除发货单名为"' + val.name + '"的数据项?')
 | 
				
			||||||
    handleCancel2() {
 | 
									.then(function () {
 | 
				
			||||||
      this.$refs.loadedPage.formClear()
 | 
										return deliveryLogDelete({ id: val.id });
 | 
				
			||||||
      this.centervisible2 = false
 | 
									})
 | 
				
			||||||
    },
 | 
									.then(() => {
 | 
				
			||||||
    handleConfirm2() {
 | 
										this.getList();
 | 
				
			||||||
      this.$refs.loadedPage.submitForm()
 | 
										this.$modal.msgSuccess('操作成功');
 | 
				
			||||||
    },
 | 
									})
 | 
				
			||||||
    successSubmit2() {
 | 
									.catch(() => {});
 | 
				
			||||||
      this.handleCancel2()
 | 
							},
 | 
				
			||||||
      this.getList()
 | 
							// 装车
 | 
				
			||||||
    }
 | 
							handleCancel2() {
 | 
				
			||||||
  }
 | 
								this.$refs.loadedPage.formClear();
 | 
				
			||||||
}
 | 
								this.centervisible2 = false;
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							handleConfirm2() {
 | 
				
			||||||
 | 
								this.$refs.loadedPage.submitForm();
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							successSubmit2() {
 | 
				
			||||||
 | 
								this.handleCancel2();
 | 
				
			||||||
 | 
								this.getList();
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
@@ -1,130 +1,124 @@
 | 
				
			|||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <div class="app-container">
 | 
						<div class="app-container">
 | 
				
			||||||
    <!-- 搜索工作栏 -->
 | 
							<!-- 搜索工作栏 -->
 | 
				
			||||||
    <search-bar
 | 
							<search-bar
 | 
				
			||||||
      :formConfigs="formConfig"
 | 
								:formConfigs="formConfig"
 | 
				
			||||||
      ref="searchBarForm"
 | 
								ref="searchBarForm"
 | 
				
			||||||
      @headBtnClick="buttonClick"
 | 
								@headBtnClick="buttonClick" />
 | 
				
			||||||
    />
 | 
							<!-- 列表 -->
 | 
				
			||||||
    <!-- 列表 -->
 | 
							<base-table
 | 
				
			||||||
    <base-table
 | 
								:page="queryParams.pageNo"
 | 
				
			||||||
      :page="queryParams.pageNo"
 | 
								:limit="queryParams.pageSize"
 | 
				
			||||||
      :limit="queryParams.pageSize"
 | 
								:table-props="tableProps"
 | 
				
			||||||
      :table-props="tableProps"
 | 
								:table-data="list"
 | 
				
			||||||
      :table-data="list"
 | 
								:max-height="tableH">
 | 
				
			||||||
      :max-height="tableH"
 | 
								<method-btn
 | 
				
			||||||
    >
 | 
									v-if="tableBtn.length"
 | 
				
			||||||
      <method-btn
 | 
									slot="handleBtn"
 | 
				
			||||||
        v-if="tableBtn.length"
 | 
									:width="80"
 | 
				
			||||||
        slot="handleBtn"
 | 
									label="操作"
 | 
				
			||||||
        :width="80"
 | 
									:method-list="tableBtn"
 | 
				
			||||||
        label="操作"
 | 
									@clickBtn="handleClick" />
 | 
				
			||||||
        :method-list="tableBtn"
 | 
							</base-table>
 | 
				
			||||||
        @clickBtn="handleClick"
 | 
							<pagination
 | 
				
			||||||
      />
 | 
								:page.sync="queryParams.pageNo"
 | 
				
			||||||
    </base-table>
 | 
								:limit.sync="queryParams.pageSize"
 | 
				
			||||||
    <pagination
 | 
								:total="total"
 | 
				
			||||||
      :page.sync="queryParams.pageNo"
 | 
								@pagination="getList" />
 | 
				
			||||||
      :limit.sync="queryParams.pageSize"
 | 
							<!-- 详情抽屉 -->
 | 
				
			||||||
      :total="total"
 | 
							<delivery-log-det-detail ref="deliveryLogDetail" />
 | 
				
			||||||
      @pagination="getList"
 | 
						</div>
 | 
				
			||||||
    />
 | 
					 | 
				
			||||||
    <!-- 详情抽屉 -->
 | 
					 | 
				
			||||||
    <delivery-log-det-detail ref='deliveryLogDetail'/>
 | 
					 | 
				
			||||||
  </div>
 | 
					 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import { deliveryProgressPage } from '@/api/base/delivery'
 | 
					import { deliveryProgressPage } from '@/api/base/delivery';
 | 
				
			||||||
import DeliveryLogDetDetail from './components/deliveryLogDetDetail.vue'
 | 
					import DeliveryLogDetDetail from './components/deliveryLogDetDetail.vue';
 | 
				
			||||||
 | 
					import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
 | 
				
			||||||
const tableProps = [
 | 
					const tableProps = [
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'orderName',
 | 
							prop: 'orderName',
 | 
				
			||||||
    label: '订单名',
 | 
							label: '订单名',
 | 
				
			||||||
    showOverflowtooltip: true
 | 
							showOverflowtooltip: true,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'customerName',
 | 
							prop: 'customerName',
 | 
				
			||||||
    label: '客户名称',
 | 
							label: '客户名称',
 | 
				
			||||||
    showOverflowtooltip: true
 | 
							showOverflowtooltip: true,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'unit',
 | 
							prop: 'unit',
 | 
				
			||||||
    label: '单位'
 | 
							label: '单位',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'orderNum',
 | 
							prop: 'orderNum',
 | 
				
			||||||
    label: '订单数量'
 | 
							label: '订单数量',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'num',
 | 
							prop: 'num',
 | 
				
			||||||
    label: '发货数量'
 | 
							label: '发货数量',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'rate',
 | 
							prop: 'rate',
 | 
				
			||||||
    label: '累计发货比例(%)'
 | 
							label: '累计发货比例(%)',
 | 
				
			||||||
  }
 | 
						},
 | 
				
			||||||
]
 | 
					];
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: "DeliveryLogDet",
 | 
						name: 'DeliveryLogDet',
 | 
				
			||||||
  data() {
 | 
						mixins: [tableHeightMixin],
 | 
				
			||||||
    return {
 | 
						data() {
 | 
				
			||||||
      formConfig: [
 | 
							return {
 | 
				
			||||||
        {
 | 
								formConfig: [
 | 
				
			||||||
          type: 'input',
 | 
									{
 | 
				
			||||||
          label: '订单名',
 | 
										type: 'input',
 | 
				
			||||||
          param: 'orderName'
 | 
										label: '订单名',
 | 
				
			||||||
        },
 | 
										param: 'orderName',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: 'button',
 | 
									{
 | 
				
			||||||
          btnName: '查询',
 | 
										type: 'button',
 | 
				
			||||||
          name: 'search',
 | 
										btnName: '查询',
 | 
				
			||||||
          color: 'primary'
 | 
										name: 'search',
 | 
				
			||||||
        }
 | 
										color: 'primary',
 | 
				
			||||||
      ],
 | 
									},
 | 
				
			||||||
      // 查询参数
 | 
								],
 | 
				
			||||||
      queryParams: {
 | 
								// 查询参数
 | 
				
			||||||
        pageNo: 1,
 | 
								queryParams: {
 | 
				
			||||||
        pageSize: 20,
 | 
									pageNo: 1,
 | 
				
			||||||
        orderName: ''
 | 
									pageSize: 20,
 | 
				
			||||||
      },
 | 
									orderName: '',
 | 
				
			||||||
      tableProps,
 | 
								},
 | 
				
			||||||
      list: [],
 | 
								tableProps,
 | 
				
			||||||
      tableH: this.tableHeight(260),
 | 
								list: [],
 | 
				
			||||||
      total: 0,
 | 
								total: 0,
 | 
				
			||||||
      tableBtn: [
 | 
								tableBtn: [
 | 
				
			||||||
      this.$auth.hasPermi('extend:delivery-log-det:detail')
 | 
									this.$auth.hasPermi('extend:delivery-log-det:detail')
 | 
				
			||||||
          ? {
 | 
										? {
 | 
				
			||||||
              type: 'detail',
 | 
												type: 'detail',
 | 
				
			||||||
              btnName: '详情'
 | 
												btnName: '详情',
 | 
				
			||||||
            }
 | 
										  }
 | 
				
			||||||
          : undefined
 | 
										: undefined,
 | 
				
			||||||
      ].filter((v) => v)
 | 
								].filter((v) => v),
 | 
				
			||||||
    }
 | 
							};
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  components: { DeliveryLogDetDetail },
 | 
						components: { DeliveryLogDetDetail },
 | 
				
			||||||
  created() {
 | 
						created() {
 | 
				
			||||||
    window.addEventListener('resize', () => {
 | 
							this.getList();
 | 
				
			||||||
      this.tableH = this.tableHeight(260)
 | 
						},
 | 
				
			||||||
    })
 | 
						methods: {
 | 
				
			||||||
    this.getList();
 | 
							getList() {
 | 
				
			||||||
  },
 | 
								deliveryProgressPage({ ...this.queryParams }).then((res) => {
 | 
				
			||||||
  methods: {
 | 
									this.list = res.data.list || [];
 | 
				
			||||||
    getList() {
 | 
									this.total = res.data.total || 0;
 | 
				
			||||||
      deliveryProgressPage({...this.queryParams}).then(res => {
 | 
								});
 | 
				
			||||||
        this.list = res.data.list || []
 | 
							},
 | 
				
			||||||
        this.total = res.data.total || 0
 | 
							buttonClick(val) {
 | 
				
			||||||
      })
 | 
								this.queryParams.orderName = val.orderName;
 | 
				
			||||||
    },
 | 
								this.getList();
 | 
				
			||||||
    buttonClick(val) {
 | 
							},
 | 
				
			||||||
      this.queryParams.orderName = val.orderName
 | 
							handleClick(val) {
 | 
				
			||||||
      this.getList()
 | 
								console.log(val);
 | 
				
			||||||
    },
 | 
								this.$nextTick(() => {
 | 
				
			||||||
    handleClick(val) {
 | 
									this.$refs.deliveryLogDetail.init(val.data);
 | 
				
			||||||
      console.log(val)
 | 
								});
 | 
				
			||||||
      this.$nextTick(() => {
 | 
							},
 | 
				
			||||||
        this.$refs.deliveryLogDetail.init(val.data)
 | 
						},
 | 
				
			||||||
      })
 | 
					};
 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
@@ -187,8 +187,11 @@
 | 
				
			|||||||
					@click="resetBtn">
 | 
										@click="resetBtn">
 | 
				
			||||||
					重置
 | 
										重置
 | 
				
			||||||
				</el-button>
 | 
									</el-button>
 | 
				
			||||||
				<span class="separateStyle"></span>
 | 
									<span
 | 
				
			||||||
 | 
										class="separateStyle"
 | 
				
			||||||
 | 
										v-hasPermi="['analysis:contrast-analysis:export']"></span>
 | 
				
			||||||
				<el-button
 | 
									<el-button
 | 
				
			||||||
 | 
										v-hasPermi="['analysis:contrast-analysis:export']"
 | 
				
			||||||
					type="primary"
 | 
										type="primary"
 | 
				
			||||||
					size="small"
 | 
										size="small"
 | 
				
			||||||
					plain
 | 
										plain
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -80,10 +80,13 @@
 | 
				
			|||||||
			</el-button>
 | 
								</el-button>
 | 
				
			||||||
		</el-form-item>
 | 
							</el-form-item>
 | 
				
			||||||
		<el-form-item>
 | 
							<el-form-item>
 | 
				
			||||||
			<span class="separateStyle"></span>
 | 
								<span
 | 
				
			||||||
 | 
									class="separateStyle"
 | 
				
			||||||
 | 
									v-hasPermi="['analysis:qoq-analysis:export']"></span>
 | 
				
			||||||
		</el-form-item>
 | 
							</el-form-item>
 | 
				
			||||||
		<el-form-item>
 | 
							<el-form-item>
 | 
				
			||||||
			<el-button
 | 
								<el-button
 | 
				
			||||||
 | 
									v-hasPermi="['analysis:qoq-analysis:export']"
 | 
				
			||||||
				type="primary"
 | 
									type="primary"
 | 
				
			||||||
				size="small"
 | 
									size="small"
 | 
				
			||||||
				@click="exportData"
 | 
									@click="exportData"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -170,8 +170,11 @@
 | 
				
			|||||||
					@click="resetBtn">
 | 
										@click="resetBtn">
 | 
				
			||||||
					重置
 | 
										重置
 | 
				
			||||||
				</el-button>
 | 
									</el-button>
 | 
				
			||||||
				<span class="separateStyle"></span>
 | 
									<span
 | 
				
			||||||
 | 
										class="separateStyle"
 | 
				
			||||||
 | 
										v-hasPermi="['analysis:trend-analysis:export']"></span>
 | 
				
			||||||
				<el-button
 | 
									<el-button
 | 
				
			||||||
 | 
										v-hasPermi="['analysis:trend-analysis:export']"
 | 
				
			||||||
					type="primary"
 | 
										type="primary"
 | 
				
			||||||
					size="small"
 | 
										size="small"
 | 
				
			||||||
					plain
 | 
										plain
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -69,10 +69,13 @@
 | 
				
			|||||||
			</el-button>
 | 
								</el-button>
 | 
				
			||||||
		</el-form-item>
 | 
							</el-form-item>
 | 
				
			||||||
		<el-form-item>
 | 
							<el-form-item>
 | 
				
			||||||
			<span class="separateStyle"></span>
 | 
								<span
 | 
				
			||||||
 | 
									class="separateStyle"
 | 
				
			||||||
 | 
									v-hasPermi="['analysis:yoy-analysis:export']"></span>
 | 
				
			||||||
		</el-form-item>
 | 
							</el-form-item>
 | 
				
			||||||
		<el-form-item>
 | 
							<el-form-item>
 | 
				
			||||||
			<el-button
 | 
								<el-button
 | 
				
			||||||
 | 
									v-hasPermi="['analysis:yoy-analysis:export']"
 | 
				
			||||||
				type="primary"
 | 
									type="primary"
 | 
				
			||||||
				size="small"
 | 
									size="small"
 | 
				
			||||||
				@click="exportData"
 | 
									@click="exportData"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,197 +1,219 @@
 | 
				
			|||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <div class="app-container">
 | 
						<div class="app-container">
 | 
				
			||||||
 | 
							<!-- 搜索工作栏 -->
 | 
				
			||||||
    <!-- 搜索工作栏 -->
 | 
							<search-bar
 | 
				
			||||||
    <search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
 | 
								:formConfigs="formConfig"
 | 
				
			||||||
    <!-- 列表 -->
 | 
								ref="searchBarForm"
 | 
				
			||||||
    <base-table :page="queryParams.pageNo" :limit="queryParams.pageSize" :table-props="tableProps" :table-data="list"
 | 
								@headBtnClick="buttonClick" />
 | 
				
			||||||
      :max-height="tableH">
 | 
							<!-- 列表 -->
 | 
				
			||||||
      <method-btn v-if="tableBtn.length" slot="handleBtn" :width="80" label="操作" :method-list="tableBtn"
 | 
							<base-table
 | 
				
			||||||
        @clickBtn="handleClick" />
 | 
								:page="queryParams.pageNo"
 | 
				
			||||||
    </base-table>
 | 
								:limit="queryParams.pageSize"
 | 
				
			||||||
    <pagination :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize" :total="total"
 | 
								:table-props="tableProps"
 | 
				
			||||||
      @pagination="getList" />
 | 
								:table-data="list"
 | 
				
			||||||
    <!-- 新增 -->
 | 
								:max-height="tableH">
 | 
				
			||||||
    <base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="centervisible" @cancel="handleCancel"
 | 
								<method-btn
 | 
				
			||||||
      @confirm="handleConfirm" :before-close="handleCancel">
 | 
									v-if="tableBtn.length"
 | 
				
			||||||
      <energy-plc-add ref="energyPlc" @successSubmit="successSubmit" />
 | 
									slot="handleBtn"
 | 
				
			||||||
    </base-dialog>
 | 
									:width="80"
 | 
				
			||||||
  </div>
 | 
									label="操作"
 | 
				
			||||||
 | 
									:method-list="tableBtn"
 | 
				
			||||||
 | 
									@clickBtn="handleClick" />
 | 
				
			||||||
 | 
							</base-table>
 | 
				
			||||||
 | 
							<pagination
 | 
				
			||||||
 | 
								:page.sync="queryParams.pageNo"
 | 
				
			||||||
 | 
								:limit.sync="queryParams.pageSize"
 | 
				
			||||||
 | 
								:total="total"
 | 
				
			||||||
 | 
								@pagination="getList" />
 | 
				
			||||||
 | 
							<!-- 新增 -->
 | 
				
			||||||
 | 
							<base-dialog
 | 
				
			||||||
 | 
								:dialogTitle="addOrEditTitle"
 | 
				
			||||||
 | 
								:dialogVisible="centervisible"
 | 
				
			||||||
 | 
								@cancel="handleCancel"
 | 
				
			||||||
 | 
								@confirm="handleConfirm"
 | 
				
			||||||
 | 
								:before-close="handleCancel">
 | 
				
			||||||
 | 
								<energy-plc-add
 | 
				
			||||||
 | 
									ref="energyPlc"
 | 
				
			||||||
 | 
									@successSubmit="successSubmit" />
 | 
				
			||||||
 | 
							</base-dialog>
 | 
				
			||||||
 | 
						</div>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import { getEnergyPlcPage, deleteEnergyPlc } from "@/api/base/energyPlc";
 | 
					import { getEnergyPlcPage, deleteEnergyPlc } from '@/api/base/energyPlc';
 | 
				
			||||||
// import { publicFormatter } from '@/utils/dict'
 | 
					import EnergyPlcAdd from './components/energyPlcAdd.vue';
 | 
				
			||||||
import EnergyPlcAdd from './components/energyPlcAdd.vue'
 | 
					import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
 | 
				
			||||||
const tableProps = [
 | 
					const tableProps = [
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'plcTableName',
 | 
							prop: 'plcTableName',
 | 
				
			||||||
    label: '关联表名',
 | 
							label: '关联表名',
 | 
				
			||||||
    showOverflowtooltip: true
 | 
							showOverflowtooltip: true,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'code',
 | 
							prop: 'code',
 | 
				
			||||||
    label: '关联表编码',
 | 
							label: '关联表编码',
 | 
				
			||||||
    minWidth: 150,
 | 
							minWidth: 150,
 | 
				
			||||||
    showOverflowtooltip: true
 | 
							showOverflowtooltip: true,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'name',
 | 
							prop: 'name',
 | 
				
			||||||
    label: '标识名',
 | 
							label: '标识名',
 | 
				
			||||||
    minWidth: 150,
 | 
							minWidth: 150,
 | 
				
			||||||
    showOverflowtooltip: true
 | 
							showOverflowtooltip: true,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'enName',
 | 
							prop: 'enName',
 | 
				
			||||||
    label: '英文标识名'
 | 
							label: '英文标识名',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'collection',
 | 
							prop: 'collection',
 | 
				
			||||||
    label: '是否采集'
 | 
							label: '是否采集',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'description',
 | 
							prop: 'description',
 | 
				
			||||||
    label: '描述',
 | 
							label: '描述',
 | 
				
			||||||
    showOverflowtooltip: true
 | 
							showOverflowtooltip: true,
 | 
				
			||||||
  }
 | 
						},
 | 
				
			||||||
]
 | 
					];
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: "EnergyPlc",
 | 
						name: 'EnergyPlc',
 | 
				
			||||||
  components: { EnergyPlcAdd },
 | 
						components: { EnergyPlcAdd },
 | 
				
			||||||
  data() {
 | 
						mixins: [tableHeightMixin],
 | 
				
			||||||
    return {
 | 
						data() {
 | 
				
			||||||
      formConfig: [
 | 
							return {
 | 
				
			||||||
        {
 | 
								formConfig: [
 | 
				
			||||||
          type: 'input',
 | 
									{
 | 
				
			||||||
          label: '标识名',
 | 
										type: 'input',
 | 
				
			||||||
          placeholder: '标识名',
 | 
										label: '标识名',
 | 
				
			||||||
          param: 'name'
 | 
										placeholder: '标识名',
 | 
				
			||||||
        },
 | 
										param: 'name',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: 'button',
 | 
									{
 | 
				
			||||||
          btnName: '查询',
 | 
										type: 'button',
 | 
				
			||||||
          name: 'search',
 | 
										btnName: '查询',
 | 
				
			||||||
          color: 'primary'
 | 
										name: 'search',
 | 
				
			||||||
        },
 | 
										color: 'primary',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: 'separate'
 | 
									{
 | 
				
			||||||
        },
 | 
										type: 'separate',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: this.$auth.hasPermi('base:energy-plc:create') ? 'button' : '',
 | 
									{
 | 
				
			||||||
          btnName: '新增',
 | 
										type: this.$auth.hasPermi('base:energy-plc:create') ? 'button' : '',
 | 
				
			||||||
          name: 'add',
 | 
										btnName: '新增',
 | 
				
			||||||
          color: 'success',
 | 
										name: 'add',
 | 
				
			||||||
          plain: true
 | 
										color: 'success',
 | 
				
			||||||
        }
 | 
										plain: true,
 | 
				
			||||||
      ],
 | 
									},
 | 
				
			||||||
      tableProps,
 | 
								],
 | 
				
			||||||
      tableBtn: [
 | 
								tableProps,
 | 
				
			||||||
        this.$auth.hasPermi('base:energy-plc:update')
 | 
								tableBtn: [
 | 
				
			||||||
          ? {
 | 
									this.$auth.hasPermi('base:energy-plc:update')
 | 
				
			||||||
            type: 'edit',
 | 
										? {
 | 
				
			||||||
            btnName: '编辑'
 | 
												type: 'edit',
 | 
				
			||||||
          }
 | 
												btnName: '编辑',
 | 
				
			||||||
          : undefined,
 | 
										  }
 | 
				
			||||||
        this.$auth.hasPermi('base:energy-plc:delete')
 | 
										: undefined,
 | 
				
			||||||
          ? {
 | 
									this.$auth.hasPermi('base:energy-plc:delete')
 | 
				
			||||||
            type: 'delete',
 | 
										? {
 | 
				
			||||||
            btnName: '删除'
 | 
												type: 'delete',
 | 
				
			||||||
          }
 | 
												btnName: '删除',
 | 
				
			||||||
          : undefined
 | 
										  }
 | 
				
			||||||
      ].filter((v) => v),
 | 
										: undefined,
 | 
				
			||||||
      tableH: this.tableHeight(260),
 | 
								].filter((v) => v),
 | 
				
			||||||
      collectionList: [
 | 
								collectionList: [
 | 
				
			||||||
        { value: 0, label: '否' },
 | 
									{ value: 0, label: '否' },
 | 
				
			||||||
        { value: 1, label: '是' }
 | 
									{ value: 1, label: '是' },
 | 
				
			||||||
      ],
 | 
								],
 | 
				
			||||||
      // 总条数
 | 
								// 总条数
 | 
				
			||||||
      total: 0,
 | 
								total: 0,
 | 
				
			||||||
      // 班次基础信息列表
 | 
								// 班次基础信息列表
 | 
				
			||||||
      list: [],
 | 
								list: [],
 | 
				
			||||||
      // 弹出层标题
 | 
								// 弹出层标题
 | 
				
			||||||
      addOrEditTitle: "",
 | 
								addOrEditTitle: '',
 | 
				
			||||||
      // 是否显示弹出层
 | 
								// 是否显示弹出层
 | 
				
			||||||
      centervisible: false,
 | 
								centervisible: false,
 | 
				
			||||||
      // 查询参数
 | 
								// 查询参数
 | 
				
			||||||
      queryParams: {
 | 
								queryParams: {
 | 
				
			||||||
        pageNo: 1,
 | 
									pageNo: 1,
 | 
				
			||||||
        pageSize: 20,
 | 
									pageSize: 20,
 | 
				
			||||||
        name: null
 | 
									name: null,
 | 
				
			||||||
      }
 | 
								},
 | 
				
			||||||
    };
 | 
							};
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  created() {
 | 
						created() {
 | 
				
			||||||
    window.addEventListener('resize', () => {
 | 
							this.getList();
 | 
				
			||||||
      this.tableH = this.tableHeight(260)
 | 
						},
 | 
				
			||||||
    })
 | 
						methods: {
 | 
				
			||||||
    this.getList();
 | 
							buttonClick(val) {
 | 
				
			||||||
  },
 | 
								switch (val.btnName) {
 | 
				
			||||||
  methods: {
 | 
									case 'search':
 | 
				
			||||||
    buttonClick(val) {
 | 
										this.queryParams.pageNo = 1;
 | 
				
			||||||
      switch (val.btnName) {
 | 
										this.queryParams.name = val.name;
 | 
				
			||||||
        case 'search':
 | 
										this.getList();
 | 
				
			||||||
          this.queryParams.pageNo = 1;
 | 
										break;
 | 
				
			||||||
          this.queryParams.name = val.name
 | 
									default:
 | 
				
			||||||
          this.getList()
 | 
										this.addOrEditTitle = '新增';
 | 
				
			||||||
          break
 | 
										this.centervisible = true;
 | 
				
			||||||
        default:
 | 
										this.$nextTick(() => {
 | 
				
			||||||
          this.addOrEditTitle = '新增'
 | 
											this.$refs.energyPlc.init();
 | 
				
			||||||
          this.centervisible = true
 | 
										});
 | 
				
			||||||
          this.$nextTick(() => {
 | 
								}
 | 
				
			||||||
            this.$refs.energyPlc.init()
 | 
							},
 | 
				
			||||||
          })
 | 
							/** 查询列表 */
 | 
				
			||||||
      }
 | 
							getList() {
 | 
				
			||||||
    },
 | 
								getEnergyPlcPage(this.queryParams).then((response) => {
 | 
				
			||||||
    /** 查询列表 */
 | 
									let arr = response.data.list || [];
 | 
				
			||||||
    getList() {
 | 
									arr &&
 | 
				
			||||||
      getEnergyPlcPage(this.queryParams).then(response => {
 | 
										arr.map((item) => {
 | 
				
			||||||
        let arr = response.data.list || [];
 | 
											this.collectionList.map((i) => {
 | 
				
			||||||
        arr && arr.map(item => {
 | 
												if (item.collection === i.value) {
 | 
				
			||||||
          this.collectionList.map(i => {
 | 
													item.collection = i.label;
 | 
				
			||||||
            if (item.collection === i.value) {
 | 
												}
 | 
				
			||||||
              item.collection = i.label
 | 
											});
 | 
				
			||||||
            }
 | 
										});
 | 
				
			||||||
          })
 | 
									this.list = arr;
 | 
				
			||||||
        })
 | 
									this.total = response.data.total;
 | 
				
			||||||
        this.list = arr
 | 
								});
 | 
				
			||||||
        this.total = response.data.total;
 | 
							},
 | 
				
			||||||
      });
 | 
							handleClick(val) {
 | 
				
			||||||
    },
 | 
								switch (val.type) {
 | 
				
			||||||
    handleClick(val) {
 | 
									case 'edit':
 | 
				
			||||||
      switch (val.type) {
 | 
										this.addOrEditTitle = '编辑';
 | 
				
			||||||
        case 'edit':
 | 
										this.$nextTick(() => {
 | 
				
			||||||
          this.addOrEditTitle = '编辑'
 | 
											this.$refs.energyPlc.init(val.data.id);
 | 
				
			||||||
          this.$nextTick(() => {
 | 
										});
 | 
				
			||||||
            this.$refs.energyPlc.init(val.data.id)
 | 
										this.centervisible = true;
 | 
				
			||||||
          })
 | 
										break;
 | 
				
			||||||
          this.centervisible = true
 | 
									default:
 | 
				
			||||||
          break
 | 
										this.handleDelete(val.data);
 | 
				
			||||||
        default:
 | 
								}
 | 
				
			||||||
          this.handleDelete(val.data)
 | 
							},
 | 
				
			||||||
      }
 | 
							handleCancel() {
 | 
				
			||||||
    },
 | 
								this.$refs.energyPlc.formClear();
 | 
				
			||||||
    handleCancel() {
 | 
								this.centervisible = false;
 | 
				
			||||||
      this.$refs.energyPlc.formClear()
 | 
								this.addOrEditTitle = '';
 | 
				
			||||||
      this.centervisible = false
 | 
							},
 | 
				
			||||||
      this.addOrEditTitle = ''
 | 
							handleConfirm() {
 | 
				
			||||||
    },
 | 
								this.$refs.energyPlc.submitForm();
 | 
				
			||||||
    handleConfirm() {
 | 
							},
 | 
				
			||||||
      this.$refs.energyPlc.submitForm()
 | 
							successSubmit() {
 | 
				
			||||||
    },
 | 
								this.handleCancel();
 | 
				
			||||||
    successSubmit() {
 | 
								this.getList();
 | 
				
			||||||
      this.handleCancel()
 | 
							},
 | 
				
			||||||
      this.getList()
 | 
							/** 删除按钮操作 */
 | 
				
			||||||
    },
 | 
							handleDelete(row) {
 | 
				
			||||||
    /** 删除按钮操作 */
 | 
								this.$modal
 | 
				
			||||||
    handleDelete(row) {
 | 
									.confirm('是否确认删除关联表名为"' + row.name + '"的数据项?')
 | 
				
			||||||
      this.$modal.confirm('是否确认删除关联表名为"' + row.name + '"的数据项?').then(function () {
 | 
									.then(function () {
 | 
				
			||||||
        return deleteEnergyPlc(row.id);
 | 
										return deleteEnergyPlc(row.id);
 | 
				
			||||||
      }).then(() => {
 | 
									})
 | 
				
			||||||
        this.queryParams.pageNo = 1;
 | 
									.then(() => {
 | 
				
			||||||
        this.getList();
 | 
										this.queryParams.pageNo = 1;
 | 
				
			||||||
        this.$modal.msgSuccess("删除成功");
 | 
										this.getList();
 | 
				
			||||||
      }).catch(() => { });
 | 
										this.$modal.msgSuccess('删除成功');
 | 
				
			||||||
    }
 | 
									})
 | 
				
			||||||
  }
 | 
									.catch(() => {});
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,226 +1,258 @@
 | 
				
			|||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <div>
 | 
						<div>
 | 
				
			||||||
    <el-drawer :title="drawerTitle" :visible.sync="visible" size="70%" @close='closeD' :show-close='false'>
 | 
							<el-drawer
 | 
				
			||||||
      <div class="box">
 | 
								:title="drawerTitle"
 | 
				
			||||||
        <el-form :inline="true">
 | 
								:visible.sync="visible"
 | 
				
			||||||
          <el-form-item label="关联表名">
 | 
								size="70%"
 | 
				
			||||||
            <el-input v-model="plcTableName" size='small' readonly></el-input>
 | 
								@close="closeD"
 | 
				
			||||||
          </el-form-item>
 | 
								:show-close="false">
 | 
				
			||||||
          <el-form-item label="对象">
 | 
								<div class="box">
 | 
				
			||||||
            <el-input v-model="objName" size='small' readonly></el-input>
 | 
									<el-form :inline="true">
 | 
				
			||||||
          </el-form-item>
 | 
										<el-form-item label="关联表名">
 | 
				
			||||||
          <el-form-item v-if="showBtn">
 | 
											<el-input
 | 
				
			||||||
            <el-button type="success" size='small' plain @click="addNew">新增</el-button>
 | 
												v-model="plcTableName"
 | 
				
			||||||
          </el-form-item>
 | 
												size="small"
 | 
				
			||||||
        </el-form>
 | 
												readonly
 | 
				
			||||||
        <base-table
 | 
												style="width: 250px"></el-input>
 | 
				
			||||||
          :page="queryParams.pageNo"
 | 
										</el-form-item>
 | 
				
			||||||
          :limit="queryParams.pageSize"
 | 
										<el-form-item label="对象">
 | 
				
			||||||
          :table-props="tableProps"
 | 
											<el-input
 | 
				
			||||||
          :table-data="tableData"
 | 
												v-model="objName"
 | 
				
			||||||
          :max-height="tableH"
 | 
												size="small"
 | 
				
			||||||
        >
 | 
												readonly
 | 
				
			||||||
          <method-btn
 | 
												style="width: 250px"></el-input>
 | 
				
			||||||
            v-if="tableBtn.length"
 | 
										</el-form-item>
 | 
				
			||||||
            slot="handleBtn"
 | 
										<el-form-item v-if="showBtn">
 | 
				
			||||||
            :width="100"
 | 
											<el-button
 | 
				
			||||||
            label="操作"
 | 
												type="success"
 | 
				
			||||||
            :method-list="tableBtn"
 | 
												size="small"
 | 
				
			||||||
            @clickBtn="handleClick"
 | 
												plain
 | 
				
			||||||
          />
 | 
												@click="addNew">
 | 
				
			||||||
        </base-table>
 | 
												新增
 | 
				
			||||||
        <pagination
 | 
											</el-button>
 | 
				
			||||||
          :page.sync="queryParams.pageNo"
 | 
										</el-form-item>
 | 
				
			||||||
          :limit.sync="queryParams.pageSize"
 | 
									</el-form>
 | 
				
			||||||
          :total="total"
 | 
									<base-table
 | 
				
			||||||
          @pagination="getList"
 | 
										:page="queryParams.pageNo"
 | 
				
			||||||
        />
 | 
										:limit="queryParams.pageSize"
 | 
				
			||||||
      </div>
 | 
										:table-props="tableProps"
 | 
				
			||||||
    </el-drawer>
 | 
										:table-data="tableData"
 | 
				
			||||||
    <!-- 新增 -->
 | 
										:max-height="tableH">
 | 
				
			||||||
    <base-dialog
 | 
										<method-btn
 | 
				
			||||||
      :dialogTitle="addOrEditTitle"
 | 
											v-if="tableBtn.length"
 | 
				
			||||||
      :dialogVisible="centervisible"
 | 
											slot="handleBtn"
 | 
				
			||||||
      @cancel="handleCancel"
 | 
											:width="100"
 | 
				
			||||||
      @confirm="handleConfirm"
 | 
											label="操作"
 | 
				
			||||||
      :before-close="handleCancel"
 | 
											:method-list="tableBtn"
 | 
				
			||||||
    >
 | 
											@clickBtn="handleClick" />
 | 
				
			||||||
      <energy-plc-param-add ref="energyPlcParam" @successSubmit="successSubmit" />
 | 
									</base-table>
 | 
				
			||||||
    </base-dialog>
 | 
									<pagination
 | 
				
			||||||
  </div>
 | 
										:page.sync="queryParams.pageNo"
 | 
				
			||||||
 | 
										:limit.sync="queryParams.pageSize"
 | 
				
			||||||
 | 
										:total="total"
 | 
				
			||||||
 | 
										@pagination="getList" />
 | 
				
			||||||
 | 
								</div>
 | 
				
			||||||
 | 
							</el-drawer>
 | 
				
			||||||
 | 
							<!-- 新增 -->
 | 
				
			||||||
 | 
							<base-dialog
 | 
				
			||||||
 | 
								:dialogTitle="addOrEditTitle"
 | 
				
			||||||
 | 
								:dialogVisible="centervisible"
 | 
				
			||||||
 | 
								@cancel="handleCancel"
 | 
				
			||||||
 | 
								@confirm="handleConfirm"
 | 
				
			||||||
 | 
								:before-close="handleCancel">
 | 
				
			||||||
 | 
								<energy-plc-param-add
 | 
				
			||||||
 | 
									ref="energyPlcParam"
 | 
				
			||||||
 | 
									@successSubmit="successSubmit" />
 | 
				
			||||||
 | 
							</base-dialog>
 | 
				
			||||||
 | 
						</div>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import { getEnergyPlcParamPage, deleteEnergyPlcParam } from '@/api/base/energyPlcParam'
 | 
					import {
 | 
				
			||||||
import EnergyPlcParamAdd from './energyPlcParamAdd'
 | 
						getEnergyPlcParamPage,
 | 
				
			||||||
import { publicFormatter } from '@/utils/dict'
 | 
						deleteEnergyPlcParam,
 | 
				
			||||||
 | 
					} from '@/api/base/energyPlcParam';
 | 
				
			||||||
 | 
					import EnergyPlcParamAdd from './energyPlcParamAdd';
 | 
				
			||||||
 | 
					import { publicFormatter } from '@/utils/dict';
 | 
				
			||||||
const tableProps = [
 | 
					const tableProps = [
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'typeId',
 | 
							prop: 'typeId',
 | 
				
			||||||
    label: '能源类型'
 | 
							label: '能源类型',
 | 
				
			||||||
  },
 | 
							filter: publicFormatter('energy_type'),
 | 
				
			||||||
  {
 | 
						},
 | 
				
			||||||
    prop: 'plcParamName',
 | 
						{
 | 
				
			||||||
    label: '参数列名'
 | 
							prop: 'plcParamName',
 | 
				
			||||||
  },
 | 
							label: '参数列名',
 | 
				
			||||||
  {
 | 
						},
 | 
				
			||||||
    prop: 'name',
 | 
						{
 | 
				
			||||||
    label: '参数名称'
 | 
							prop: 'name',
 | 
				
			||||||
  },
 | 
							label: '参数名称',
 | 
				
			||||||
  {
 | 
						},
 | 
				
			||||||
    prop: 'unit',
 | 
						{
 | 
				
			||||||
    label: '单位',
 | 
							prop: 'unit',
 | 
				
			||||||
    filter: publicFormatter('energy_unit')
 | 
							label: '单位',
 | 
				
			||||||
  },
 | 
							filter: publicFormatter('unit_dict'),
 | 
				
			||||||
  {
 | 
						},
 | 
				
			||||||
    prop: 'collection',
 | 
						{
 | 
				
			||||||
    label: '是否采集'
 | 
							prop: 'collection',
 | 
				
			||||||
  },
 | 
							label: '是否采集',
 | 
				
			||||||
  {
 | 
						},
 | 
				
			||||||
    prop: 'description',
 | 
						{
 | 
				
			||||||
    label: '描述'
 | 
							prop: 'description',
 | 
				
			||||||
  }
 | 
							label: '描述',
 | 
				
			||||||
]
 | 
						},
 | 
				
			||||||
 | 
					];
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: 'EnergyPlcParam',
 | 
						name: 'EnergyPlcParam',
 | 
				
			||||||
  props: {
 | 
						props: {
 | 
				
			||||||
    energyTypeList: {
 | 
							energyTypeList: {
 | 
				
			||||||
      type: Array,
 | 
								type: Array,
 | 
				
			||||||
      required: true,
 | 
								required: true,
 | 
				
			||||||
      default: () => {
 | 
								default: () => {
 | 
				
			||||||
        return []
 | 
									return [];
 | 
				
			||||||
      }
 | 
								},
 | 
				
			||||||
    }
 | 
							},
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  data() {
 | 
						data() {
 | 
				
			||||||
    return {
 | 
							return {
 | 
				
			||||||
      visible: false,
 | 
								visible: false,
 | 
				
			||||||
      drawerTitle: '',
 | 
								drawerTitle: '',
 | 
				
			||||||
      tableProps,
 | 
								tableProps,
 | 
				
			||||||
      tableData: [],
 | 
								tableData: [],
 | 
				
			||||||
      tableBtn: [],
 | 
								tableBtn: [],
 | 
				
			||||||
      tableH: this.tableHeight(115),
 | 
								tableH: this.tableHeight(115),
 | 
				
			||||||
      total: 0,
 | 
								total: 0,
 | 
				
			||||||
      queryParams: {
 | 
								queryParams: {
 | 
				
			||||||
        pageNo: 1,
 | 
									pageNo: 1,
 | 
				
			||||||
        pageSize: 30,
 | 
									pageSize: 30,
 | 
				
			||||||
        connectId: null
 | 
									connectId: null,
 | 
				
			||||||
      },
 | 
								},
 | 
				
			||||||
      plcTableName: '',
 | 
								plcTableName: '',
 | 
				
			||||||
      objName: '',
 | 
								objName: '',
 | 
				
			||||||
      // 弹出层标题
 | 
								// 弹出层标题
 | 
				
			||||||
      addOrEditTitle: "",
 | 
								addOrEditTitle: '',
 | 
				
			||||||
      // 是否显示弹出层
 | 
								// 是否显示弹出层
 | 
				
			||||||
      centervisible: false,
 | 
								centervisible: false,
 | 
				
			||||||
      collectionList: [
 | 
								collectionList: [
 | 
				
			||||||
        {value: 0,label: '否'},
 | 
									{ value: 0, label: '否' },
 | 
				
			||||||
        {value: 1,label: '是'}
 | 
									{ value: 1, label: '是' },
 | 
				
			||||||
      ],
 | 
								],
 | 
				
			||||||
      showBtn: true
 | 
								showBtn: true,
 | 
				
			||||||
    }
 | 
							};
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  components: { EnergyPlcParamAdd },
 | 
						components: { EnergyPlcParamAdd },
 | 
				
			||||||
  created() {
 | 
						created() {
 | 
				
			||||||
    window.addEventListener('resize', () => {
 | 
							window.addEventListener('resize', () => {
 | 
				
			||||||
      this.tableH = this.tableHeight(115)
 | 
								this.tableH = this.tableHeight(115);
 | 
				
			||||||
    })
 | 
							});
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  methods: {
 | 
						methods: {
 | 
				
			||||||
    init(data,title) {
 | 
							init(data, title) {
 | 
				
			||||||
      this.visible = true
 | 
								this.visible = true;
 | 
				
			||||||
      this.queryParams.connectId = data.id
 | 
								this.queryParams.connectId = data.id;
 | 
				
			||||||
      this.plcTableName = data.plcTableName
 | 
								this.plcTableName = data.plcTableName;
 | 
				
			||||||
      this.objName = data.objName
 | 
								this.objName = data.objName;
 | 
				
			||||||
      this.getList()
 | 
								this.getList();
 | 
				
			||||||
      if (title === 'detail') {
 | 
								if (title === 'detail') {
 | 
				
			||||||
        this.drawerTitle = '查看参数'
 | 
									this.drawerTitle = '查看参数';
 | 
				
			||||||
        this.showBtn = false
 | 
									this.showBtn = false;
 | 
				
			||||||
        this.tableBtn = []
 | 
									this.tableBtn = [];
 | 
				
			||||||
      } else {
 | 
								} else {
 | 
				
			||||||
        this.drawerTitle = '参数绑定'
 | 
									this.drawerTitle = '参数绑定';
 | 
				
			||||||
        this.showBtn = true
 | 
									this.showBtn = true;
 | 
				
			||||||
        this.tableBtn = [
 | 
									this.tableBtn = [
 | 
				
			||||||
          {
 | 
										{
 | 
				
			||||||
            type: 'edit',
 | 
											type: 'edit',
 | 
				
			||||||
            btnName: '编辑'
 | 
											btnName: '编辑',
 | 
				
			||||||
          },
 | 
										},
 | 
				
			||||||
          {
 | 
										{
 | 
				
			||||||
            type: 'delete',
 | 
											type: 'delete',
 | 
				
			||||||
            btnName: '删除'
 | 
											btnName: '删除',
 | 
				
			||||||
          }
 | 
										},
 | 
				
			||||||
        ]
 | 
									];
 | 
				
			||||||
      }
 | 
								}
 | 
				
			||||||
    },
 | 
							},
 | 
				
			||||||
    getList() {
 | 
							getList() {
 | 
				
			||||||
      getEnergyPlcParamPage({...this.queryParams}).then((res) => {
 | 
								getEnergyPlcParamPage({ ...this.queryParams }).then((res) => {
 | 
				
			||||||
        let arr = res.data.list || []
 | 
									let arr = res.data.list || [];
 | 
				
			||||||
        arr&&arr.map(item => {
 | 
									arr &&
 | 
				
			||||||
          this.collectionList.map(i => {
 | 
										arr.map((item) => {
 | 
				
			||||||
            if (item.collection === i.value) {
 | 
											this.collectionList.map((i) => {
 | 
				
			||||||
              item.collection = i.label
 | 
												if (item.collection === i.value) {
 | 
				
			||||||
            }
 | 
													item.collection = i.label;
 | 
				
			||||||
          })
 | 
												}
 | 
				
			||||||
          this.energyTypeList.map(j => {
 | 
											});
 | 
				
			||||||
            if (item.typeId === j.id) {
 | 
											this.energyTypeList.map((j) => {
 | 
				
			||||||
              item.typeId = j.name
 | 
												if (item.typeId === j.id) {
 | 
				
			||||||
            }
 | 
													item.typeId = j.name;
 | 
				
			||||||
          })
 | 
												}
 | 
				
			||||||
        })
 | 
											});
 | 
				
			||||||
        this.tableData = arr
 | 
										});
 | 
				
			||||||
        this.total = res.data.total;
 | 
									this.tableData = arr;
 | 
				
			||||||
      })
 | 
									this.total = res.data.total;
 | 
				
			||||||
    },
 | 
								});
 | 
				
			||||||
    // 新增
 | 
							},
 | 
				
			||||||
    addNew() {
 | 
							// 新增
 | 
				
			||||||
      this.addOrEditTitle = '新增'
 | 
							addNew() {
 | 
				
			||||||
      this.centervisible = true
 | 
								this.addOrEditTitle = '新增';
 | 
				
			||||||
      this.$nextTick(() => {
 | 
								this.centervisible = true;
 | 
				
			||||||
        this.$refs.energyPlcParam.init({'connectId': this.queryParams.connectId, id: ''})
 | 
								this.$nextTick(() => {
 | 
				
			||||||
      })
 | 
									this.$refs.energyPlcParam.init({
 | 
				
			||||||
    },
 | 
										connectId: this.queryParams.connectId,
 | 
				
			||||||
    handleCancel() {
 | 
										id: '',
 | 
				
			||||||
      this.$refs.energyPlcParam.formClear()
 | 
									});
 | 
				
			||||||
      this.centervisible = false
 | 
								});
 | 
				
			||||||
      this.addOrEditTitle = ''
 | 
							},
 | 
				
			||||||
    },
 | 
							handleCancel() {
 | 
				
			||||||
    handleConfirm() {
 | 
								this.$refs.energyPlcParam.formClear();
 | 
				
			||||||
      this.$refs.energyPlcParam.submitForm()
 | 
								this.centervisible = false;
 | 
				
			||||||
    },
 | 
								this.addOrEditTitle = '';
 | 
				
			||||||
    successSubmit() {
 | 
							},
 | 
				
			||||||
      this.handleCancel()
 | 
							handleConfirm() {
 | 
				
			||||||
      this.getList()
 | 
								this.$refs.energyPlcParam.submitForm();
 | 
				
			||||||
    },
 | 
							},
 | 
				
			||||||
    handleClick(val) {
 | 
							successSubmit() {
 | 
				
			||||||
      console.log(val)
 | 
								this.handleCancel();
 | 
				
			||||||
      switch (val.type) {
 | 
								this.getList();
 | 
				
			||||||
        case 'edit':
 | 
							},
 | 
				
			||||||
          this.addOrEditTitle = '编辑'
 | 
							handleClick(val) {
 | 
				
			||||||
          this.centervisible = true
 | 
								console.log(val);
 | 
				
			||||||
          this.$nextTick(() => {
 | 
								switch (val.type) {
 | 
				
			||||||
            this.$refs.energyPlcParam.init({'connectId': this.queryParams.connectId, id: val.data.id})
 | 
									case 'edit':
 | 
				
			||||||
          })
 | 
										this.addOrEditTitle = '编辑';
 | 
				
			||||||
          break
 | 
										this.centervisible = true;
 | 
				
			||||||
        default:
 | 
										this.$nextTick(() => {
 | 
				
			||||||
          this.handleDelete(val.data)
 | 
											this.$refs.energyPlcParam.init({
 | 
				
			||||||
      }
 | 
												connectId: this.queryParams.connectId,
 | 
				
			||||||
    },
 | 
												id: val.data.id,
 | 
				
			||||||
    /** 删除按钮操作 */
 | 
											});
 | 
				
			||||||
    handleDelete(row) {
 | 
										});
 | 
				
			||||||
      this.$modal.confirm('是否确认删除参数列名为"' + row.plcParamName + '"的数据项?').then(function() {
 | 
										break;
 | 
				
			||||||
          return deleteEnergyPlcParam(row.id);
 | 
									default:
 | 
				
			||||||
        }).then(() => {
 | 
										this.handleDelete(val.data);
 | 
				
			||||||
          this.queryParams.pageNo = 1;
 | 
								}
 | 
				
			||||||
          this.getList();
 | 
							},
 | 
				
			||||||
          this.$modal.msgSuccess("删除成功");
 | 
							/** 删除按钮操作 */
 | 
				
			||||||
        }).catch(() => {});
 | 
							handleDelete(row) {
 | 
				
			||||||
    },
 | 
								this.$modal
 | 
				
			||||||
    closeD() {
 | 
									.confirm('是否确认删除参数列名为"' + row.plcParamName + '"的数据项?')
 | 
				
			||||||
      this.$emit('closeDrawer')
 | 
									.then(function () {
 | 
				
			||||||
    }
 | 
										return deleteEnergyPlcParam(row.id);
 | 
				
			||||||
  }
 | 
									})
 | 
				
			||||||
}
 | 
									.then(() => {
 | 
				
			||||||
 | 
										this.queryParams.pageNo = 1;
 | 
				
			||||||
 | 
										this.getList();
 | 
				
			||||||
 | 
										this.$modal.msgSuccess('删除成功');
 | 
				
			||||||
 | 
									})
 | 
				
			||||||
 | 
									.catch(() => {});
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							closeD() {
 | 
				
			||||||
 | 
								this.$emit('closeDrawer');
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
<style lang="scss" scoped>
 | 
					<style lang="scss" scoped>
 | 
				
			||||||
.box {
 | 
					.box {
 | 
				
			||||||
  padding: 0 32px;
 | 
						padding: 0 32px;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
</style>
 | 
					</style>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -57,14 +57,18 @@ import { getTree } from '@/api/analysis/energyAnalysis';
 | 
				
			|||||||
import { getEnergyTypeListAll } from '@/api/base/energyType';
 | 
					import { getEnergyTypeListAll } from '@/api/base/energyType';
 | 
				
			||||||
import EnergyPlcConnectAdd from './components/energyPlcConnectAdd';
 | 
					import EnergyPlcConnectAdd from './components/energyPlcConnectAdd';
 | 
				
			||||||
import EnergyPlcParam from './components/energyPlcParam';
 | 
					import EnergyPlcParam from './components/energyPlcParam';
 | 
				
			||||||
 | 
					import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
 | 
				
			||||||
const tableProps = [
 | 
					const tableProps = [
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		prop: 'objName',
 | 
							prop: 'objName',
 | 
				
			||||||
		label: '对象',
 | 
							label: '对象',
 | 
				
			||||||
 | 
							minWidth: 130,
 | 
				
			||||||
 | 
							showOverflowtooltip: true,
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		prop: 'objCode',
 | 
							prop: 'objCode',
 | 
				
			||||||
		label: '对象编码',
 | 
							label: '对象编码',
 | 
				
			||||||
 | 
							minWidth: 150,
 | 
				
			||||||
		showOverflowtooltip: true,
 | 
							showOverflowtooltip: true,
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
@@ -86,11 +90,13 @@ const tableProps = [
 | 
				
			|||||||
	{
 | 
						{
 | 
				
			||||||
		prop: 'varNum',
 | 
							prop: 'varNum',
 | 
				
			||||||
		label: '绑定参数数量',
 | 
							label: '绑定参数数量',
 | 
				
			||||||
 | 
							width: 110,
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
];
 | 
					];
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
	name: 'EnergyPlcConnect',
 | 
						name: 'EnergyPlcConnect',
 | 
				
			||||||
	components: { EnergyPlcConnectAdd, EnergyPlcParam },
 | 
						components: { EnergyPlcConnectAdd, EnergyPlcParam },
 | 
				
			||||||
 | 
						mixins: [tableHeightMixin],
 | 
				
			||||||
	data() {
 | 
						data() {
 | 
				
			||||||
		return {
 | 
							return {
 | 
				
			||||||
			formConfig: [
 | 
								formConfig: [
 | 
				
			||||||
@@ -144,7 +150,6 @@ export default {
 | 
				
			|||||||
					  }
 | 
										  }
 | 
				
			||||||
					: undefined,
 | 
										: undefined,
 | 
				
			||||||
			].filter((v) => v),
 | 
								].filter((v) => v),
 | 
				
			||||||
			tableH: this.tableHeight(260),
 | 
					 | 
				
			||||||
			// 总条数
 | 
								// 总条数
 | 
				
			||||||
			total: 0,
 | 
								total: 0,
 | 
				
			||||||
			// 班次基础信息列表
 | 
								// 班次基础信息列表
 | 
				
			||||||
@@ -165,9 +170,6 @@ export default {
 | 
				
			|||||||
		};
 | 
							};
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	created() {
 | 
						created() {
 | 
				
			||||||
		window.addEventListener('resize', () => {
 | 
					 | 
				
			||||||
			this.tableH = this.tableHeight(260);
 | 
					 | 
				
			||||||
		});
 | 
					 | 
				
			||||||
		this.getList();
 | 
							this.getList();
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	mounted() {
 | 
						mounted() {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -20,9 +20,9 @@
 | 
				
			|||||||
							@change="changeSelect(scope.row, 'tableName')">
 | 
												@change="changeSelect(scope.row, 'tableName')">
 | 
				
			||||||
							<el-option
 | 
												<el-option
 | 
				
			||||||
								v-for="item in tableNameList"
 | 
													v-for="item in tableNameList"
 | 
				
			||||||
								:key="item.id"
 | 
													:key="item.value"
 | 
				
			||||||
								:label="item.label"
 | 
													:label="item.label"
 | 
				
			||||||
								:value="item.id"></el-option>
 | 
													:value="item.value"></el-option>
 | 
				
			||||||
						</el-select>
 | 
											</el-select>
 | 
				
			||||||
					</div>
 | 
										</div>
 | 
				
			||||||
				</template>
 | 
									</template>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,38 +0,0 @@
 | 
				
			|||||||
<template>
 | 
					 | 
				
			||||||
  <div class="tableInner">
 | 
					 | 
				
			||||||
    <!-- <el-input v-model="list[itemProp]" @blur="changeInput" /> -->
 | 
					 | 
				
			||||||
    <el-input-number v-model="list[itemProp]" @change="changeInput" :min="0" :max="999999999" style='width: 100%;' :controls='false' :precision='2'></el-input-number>
 | 
					 | 
				
			||||||
  </div>
 | 
					 | 
				
			||||||
</template>
 | 
					 | 
				
			||||||
<script>
 | 
					 | 
				
			||||||
export default {
 | 
					 | 
				
			||||||
  name: 'InputArea',
 | 
					 | 
				
			||||||
  props: {
 | 
					 | 
				
			||||||
    injectData: {
 | 
					 | 
				
			||||||
      type: Object,
 | 
					 | 
				
			||||||
      default: () => ({})
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    itemProp: {
 | 
					 | 
				
			||||||
      type: String
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  data() {
 | 
					 | 
				
			||||||
    return {
 | 
					 | 
				
			||||||
      list: this.injectData
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  methods: {
 | 
					 | 
				
			||||||
    changeInput() {
 | 
					 | 
				
			||||||
      console.log(this.list)
 | 
					 | 
				
			||||||
      this.$emit('emitData', this.list)
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
</script>
 | 
					 | 
				
			||||||
<style scoped>
 | 
					 | 
				
			||||||
.tableInner .el-input__inner {
 | 
					 | 
				
			||||||
  border: none;
 | 
					 | 
				
			||||||
  padding: 0;
 | 
					 | 
				
			||||||
  height: 33px;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
</style>
 | 
					 | 
				
			||||||
@@ -1,44 +0,0 @@
 | 
				
			|||||||
<template>
 | 
					 | 
				
			||||||
  <div class="tableInner">
 | 
					 | 
				
			||||||
    <el-select v-model="list[itemProp]" placeholder="请选择" style="width: 100%;" @change="changeSelect">
 | 
					 | 
				
			||||||
      <el-option
 | 
					 | 
				
			||||||
        v-for="item in getDictDatas(DICT_TYPE.TABLE_NAME)"
 | 
					 | 
				
			||||||
        :key="item.value"
 | 
					 | 
				
			||||||
        :label="item.label"
 | 
					 | 
				
			||||||
        :value="item.value">
 | 
					 | 
				
			||||||
      </el-option>
 | 
					 | 
				
			||||||
    </el-select>
 | 
					 | 
				
			||||||
  </div>
 | 
					 | 
				
			||||||
</template>
 | 
					 | 
				
			||||||
<script>
 | 
					 | 
				
			||||||
export default {
 | 
					 | 
				
			||||||
  name: 'SelectArea',
 | 
					 | 
				
			||||||
  props: {
 | 
					 | 
				
			||||||
    injectData: {
 | 
					 | 
				
			||||||
      type: Object,
 | 
					 | 
				
			||||||
      default: () => ({})
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    itemProp: {
 | 
					 | 
				
			||||||
      type: String
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  data() {
 | 
					 | 
				
			||||||
    return {
 | 
					 | 
				
			||||||
      list: this.injectData
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  methods: {
 | 
					 | 
				
			||||||
    changeSelect() {
 | 
					 | 
				
			||||||
      console.log(this.list)
 | 
					 | 
				
			||||||
      this.$emit('emitData', this.list)
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
</script>
 | 
					 | 
				
			||||||
<style scoped>
 | 
					 | 
				
			||||||
.tableInner .el-input__inner {
 | 
					 | 
				
			||||||
  border: none;
 | 
					 | 
				
			||||||
  padding: 0;
 | 
					 | 
				
			||||||
  height: 33px;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
</style>
 | 
					 | 
				
			||||||
@@ -40,18 +40,10 @@
 | 
				
			|||||||
		<el-row :gutter="20">
 | 
							<el-row :gutter="20">
 | 
				
			||||||
			<el-col :span="24">
 | 
								<el-col :span="24">
 | 
				
			||||||
				<add-table
 | 
									<add-table
 | 
				
			||||||
					:table-props="tableProps"
 | 
					 | 
				
			||||||
					:table-data="tableData"
 | 
										:table-data="tableData"
 | 
				
			||||||
					:table-name-list="tableNameList"
 | 
										:table-name-list="tableNameList"
 | 
				
			||||||
					@emitFun="inputChange"
 | 
										@emitFun="inputChange"
 | 
				
			||||||
					@emitButtonClick="emitButtonClick" />
 | 
										@emitButtonClick="emitButtonClick" />
 | 
				
			||||||
				<!-- <base-table
 | 
					 | 
				
			||||||
					border
 | 
					 | 
				
			||||||
					:table-props="tableProps"
 | 
					 | 
				
			||||||
					:table-data="tableData"
 | 
					 | 
				
			||||||
					:add-button-show="addButtonShow"
 | 
					 | 
				
			||||||
					@emitFun="inputChange"
 | 
					 | 
				
			||||||
					@emitButtonClick="emitButtonClick" /> -->
 | 
					 | 
				
			||||||
			</el-col>
 | 
								</el-col>
 | 
				
			||||||
		</el-row>
 | 
							</el-row>
 | 
				
			||||||
	</el-form>
 | 
						</el-form>
 | 
				
			||||||
@@ -64,21 +56,7 @@ import {
 | 
				
			|||||||
} from '@/api/base/energyQuantityManual';
 | 
					} from '@/api/base/energyQuantityManual';
 | 
				
			||||||
import moment from 'moment';
 | 
					import moment from 'moment';
 | 
				
			||||||
import AddTable from './AddTable';
 | 
					import AddTable from './AddTable';
 | 
				
			||||||
import InputArea from './InputArea';
 | 
					 | 
				
			||||||
import SelectArea from './SelectArea';
 | 
					 | 
				
			||||||
import { energyTableGet } from '@/api/base/energyQuantityManual';
 | 
					import { energyTableGet } from '@/api/base/energyQuantityManual';
 | 
				
			||||||
const tableProps = [
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		prop: 'tableName',
 | 
					 | 
				
			||||||
		label: '表名*',
 | 
					 | 
				
			||||||
		subcomponent: SelectArea,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		prop: 'readingQuantity',
 | 
					 | 
				
			||||||
		label: '抄表数*',
 | 
					 | 
				
			||||||
		subcomponent: InputArea,
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
];
 | 
					 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
	name: 'EnergyQuantityManualAdd',
 | 
						name: 'EnergyQuantityManualAdd',
 | 
				
			||||||
	props: {
 | 
						props: {
 | 
				
			||||||
@@ -92,7 +70,6 @@ export default {
 | 
				
			|||||||
	},
 | 
						},
 | 
				
			||||||
	data() {
 | 
						data() {
 | 
				
			||||||
		return {
 | 
							return {
 | 
				
			||||||
			tableProps,
 | 
					 | 
				
			||||||
			tableData: [],
 | 
								tableData: [],
 | 
				
			||||||
			tableNameList: [], //表名list
 | 
								tableNameList: [], //表名list
 | 
				
			||||||
			addButtonShow: '新增',
 | 
								addButtonShow: '新增',
 | 
				
			||||||
@@ -122,6 +99,7 @@ export default {
 | 
				
			|||||||
			} else if (params.type === 'meterReading') {
 | 
								} else if (params.type === 'meterReading') {
 | 
				
			||||||
				this.isEdit = false;
 | 
									this.isEdit = false;
 | 
				
			||||||
				this.form.energyTypeId = params.energyTypeId;
 | 
									this.form.energyTypeId = params.energyTypeId;
 | 
				
			||||||
 | 
									this.selEnergyType(this.form.energyTypeId);
 | 
				
			||||||
				let obj = {};
 | 
									let obj = {};
 | 
				
			||||||
				obj.tableName = params.tableName + '';
 | 
									obj.tableName = params.tableName + '';
 | 
				
			||||||
				obj.readingQuantity = 0;
 | 
									obj.readingQuantity = 0;
 | 
				
			||||||
@@ -133,6 +111,7 @@ export default {
 | 
				
			|||||||
				energyQuantityManualGet({ id: this.form.id }).then((res) => {
 | 
									energyQuantityManualGet({ id: this.form.id }).then((res) => {
 | 
				
			||||||
					if (res.code === 0) {
 | 
										if (res.code === 0) {
 | 
				
			||||||
						this.form.energyTypeId = res.data.energyTypeId;
 | 
											this.form.energyTypeId = res.data.energyTypeId;
 | 
				
			||||||
 | 
											this.selEnergyType(this.form.energyTypeId);
 | 
				
			||||||
						this.form.recordTime = res.data.recordTime
 | 
											this.form.recordTime = res.data.recordTime
 | 
				
			||||||
							? res.data.recordTime
 | 
												? res.data.recordTime
 | 
				
			||||||
							: null;
 | 
												: null;
 | 
				
			||||||
@@ -164,6 +143,11 @@ export default {
 | 
				
			|||||||
			this.tableNameList = [];
 | 
								this.tableNameList = [];
 | 
				
			||||||
			energyTableGet({ energyTypeId: id }).then((res) => {
 | 
								energyTableGet({ energyTypeId: id }).then((res) => {
 | 
				
			||||||
				this.tableNameList = res.data.tableObjs || [];
 | 
									this.tableNameList = res.data.tableObjs || [];
 | 
				
			||||||
 | 
									if (this.tableNameList.length === 0) {
 | 
				
			||||||
 | 
										this.$modal.msgWarning(
 | 
				
			||||||
 | 
											'当前能源类型暂无配置表名,请先到《表名配置》页面配置'
 | 
				
			||||||
 | 
										);
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
			});
 | 
								});
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		submitForm() {
 | 
							submitForm() {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -52,18 +52,18 @@ import { publicFormatter } from '@/utils/dict';
 | 
				
			|||||||
import { parseTimeTable } from '@/utils/ruoyi';
 | 
					import { parseTimeTable } from '@/utils/ruoyi';
 | 
				
			||||||
import EnergyQuantityManualAdd from './components/energyQuantityManualAdd';
 | 
					import EnergyQuantityManualAdd from './components/energyQuantityManualAdd';
 | 
				
			||||||
import moment from 'moment';
 | 
					import moment from 'moment';
 | 
				
			||||||
 | 
					import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
 | 
				
			||||||
const tableProps = [
 | 
					const tableProps = [
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		prop: 'energyType',
 | 
							prop: 'energyTypeLabel',
 | 
				
			||||||
		label: '能源类型',
 | 
							label: '能源类型',
 | 
				
			||||||
		minWidth: 110,
 | 
							minWidth: 110,
 | 
				
			||||||
		filter: publicFormatter('energy_type'),
 | 
					 | 
				
			||||||
		showOverflowtooltip: true,
 | 
							showOverflowtooltip: true,
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		prop: 'unit',
 | 
							prop: 'unit',
 | 
				
			||||||
		label: '单位',
 | 
							label: '单位',
 | 
				
			||||||
		filter: publicFormatter('energy_unit'),
 | 
							filter: publicFormatter('unit_dict'),
 | 
				
			||||||
		minWidth: 110,
 | 
							minWidth: 110,
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
@@ -142,7 +142,6 @@ export default {
 | 
				
			|||||||
				},
 | 
									},
 | 
				
			||||||
			],
 | 
								],
 | 
				
			||||||
			tableProps,
 | 
								tableProps,
 | 
				
			||||||
			tableH: this.tableHeight(260),
 | 
					 | 
				
			||||||
			// 总条数
 | 
								// 总条数
 | 
				
			||||||
			total: 0,
 | 
								total: 0,
 | 
				
			||||||
			// 班次基础信息列表
 | 
								// 班次基础信息列表
 | 
				
			||||||
@@ -181,10 +180,8 @@ export default {
 | 
				
			|||||||
		};
 | 
							};
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	components: { EnergyQuantityManualAdd },
 | 
						components: { EnergyQuantityManualAdd },
 | 
				
			||||||
 | 
						mixins: [tableHeightMixin],
 | 
				
			||||||
	created() {
 | 
						created() {
 | 
				
			||||||
		window.addEventListener('resize', () => {
 | 
					 | 
				
			||||||
			this.tableH = this.tableHeight(260);
 | 
					 | 
				
			||||||
		});
 | 
					 | 
				
			||||||
		let end = moment(moment().format('YYYY-MM-DD 23:59:59')).valueOf();
 | 
							let end = moment(moment().format('YYYY-MM-DD 23:59:59')).valueOf();
 | 
				
			||||||
		let start = moment(
 | 
							let start = moment(
 | 
				
			||||||
			moment().subtract(7, 'days').format('YYYY-MM-DD 00:00:00')
 | 
								moment().subtract(7, 'days').format('YYYY-MM-DD 00:00:00')
 | 
				
			||||||
@@ -244,6 +241,11 @@ export default {
 | 
				
			|||||||
								? item.amount.toFixed(2)
 | 
													? item.amount.toFixed(2)
 | 
				
			||||||
								: ''
 | 
													: ''
 | 
				
			||||||
							: '';
 | 
												: '';
 | 
				
			||||||
 | 
											this.getDictDatas('energy_type').map((subItem) => {
 | 
				
			||||||
 | 
												if (item.energyType === subItem.value) {
 | 
				
			||||||
 | 
													item.energyTypeLabel = subItem.label;
 | 
				
			||||||
 | 
												}
 | 
				
			||||||
 | 
											});
 | 
				
			||||||
					});
 | 
										});
 | 
				
			||||||
				this.list = arr;
 | 
									this.list = arr;
 | 
				
			||||||
				this.total = response.data.total;
 | 
									this.total = response.data.total;
 | 
				
			||||||
@@ -305,7 +307,7 @@ export default {
 | 
				
			|||||||
		handleDelete(row) {
 | 
							handleDelete(row) {
 | 
				
			||||||
			console.log(row.id);
 | 
								console.log(row.id);
 | 
				
			||||||
			this.$modal
 | 
								this.$modal
 | 
				
			||||||
				.confirm('是否确认删除能源类型为"' + row.energyType + '"的数据项?')
 | 
									.confirm('是否确认删除能源类型为"' + row.energyTypeLabel + '"的数据项?')
 | 
				
			||||||
				.then(function () {
 | 
									.then(function () {
 | 
				
			||||||
					return energyQuantityManualDelete({ id: row.id });
 | 
										return energyQuantityManualDelete({ id: row.id });
 | 
				
			||||||
				})
 | 
									})
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,220 +1,254 @@
 | 
				
			|||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <div class="app-container">
 | 
						<div class="app-container">
 | 
				
			||||||
 | 
							<!-- 搜索工作栏 -->
 | 
				
			||||||
    <!-- 搜索工作栏 -->
 | 
							<search-bar
 | 
				
			||||||
    <search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
 | 
								:formConfigs="formConfig"
 | 
				
			||||||
    <!-- 列表 -->
 | 
								ref="searchBarForm"
 | 
				
			||||||
    <base-table :page="queryParams.pageNo" :limit="queryParams.pageSize" :table-props="tableProps" :table-data="list"
 | 
								@headBtnClick="buttonClick" />
 | 
				
			||||||
      :selectWidth="55" :max-height="tableH" @selection-change="selectChange" />
 | 
							<!-- 列表 -->
 | 
				
			||||||
    <pagination :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize" :total="total"
 | 
							<base-table
 | 
				
			||||||
      @pagination="getList" />
 | 
								:page="queryParams.pageNo"
 | 
				
			||||||
  </div>
 | 
								:limit="queryParams.pageSize"
 | 
				
			||||||
 | 
								:table-props="tableProps"
 | 
				
			||||||
 | 
								:table-data="list"
 | 
				
			||||||
 | 
								:selectWidth="55"
 | 
				
			||||||
 | 
								:max-height="tableH"
 | 
				
			||||||
 | 
								@selection-change="selectChange" />
 | 
				
			||||||
 | 
							<pagination
 | 
				
			||||||
 | 
								:page.sync="queryParams.pageNo"
 | 
				
			||||||
 | 
								:limit.sync="queryParams.pageSize"
 | 
				
			||||||
 | 
								:total="total"
 | 
				
			||||||
 | 
								@pagination="getList" />
 | 
				
			||||||
 | 
						</div>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import { getEnergyQuantityRealtimePage } from "@/api/base/energyQuantityRealtime"
 | 
					import { getEnergyQuantityRealtimePage } from '@/api/base/energyQuantityRealtime';
 | 
				
			||||||
import { getEnergyTypeListAll } from "@/api/base/energyType"
 | 
					import { getEnergyTypeListAll } from '@/api/base/energyType';
 | 
				
			||||||
// import { publicFormatter } from '@/utils/dict'
 | 
					// import { publicFormatter } from '@/utils/dict';
 | 
				
			||||||
import FileSaver from "file-saver"
 | 
					import FileSaver from 'file-saver';
 | 
				
			||||||
import * as XLSX from 'xlsx/xlsx.mjs'
 | 
					import * as XLSX from 'xlsx/xlsx.mjs';
 | 
				
			||||||
 | 
					import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
 | 
				
			||||||
const tableProps = [
 | 
					const tableProps = [
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'objName',
 | 
							prop: 'objName',
 | 
				
			||||||
    label: '统计对象',
 | 
							label: '统计对象',
 | 
				
			||||||
    showOverflowtooltip: true
 | 
							showOverflowtooltip: true,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'objCode',
 | 
							prop: 'objCode',
 | 
				
			||||||
    label: '对象编码',
 | 
							label: '对象编码',
 | 
				
			||||||
    showOverflowtooltip: true
 | 
							showOverflowtooltip: true,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'energyTypeName',
 | 
							prop: 'energyTypeLabel',
 | 
				
			||||||
    label: '能源类型',
 | 
							label: '能源类型',
 | 
				
			||||||
    showOverflowtooltip: true
 | 
							showOverflowtooltip: true,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'startValue',
 | 
							prop: 'startValue',
 | 
				
			||||||
    label: '初始值'
 | 
							label: '初始值',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'endValue',
 | 
							prop: 'endValue',
 | 
				
			||||||
    label: '当前值'
 | 
							label: '当前值',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'diffValue',
 | 
							prop: 'diffValue',
 | 
				
			||||||
    label: '差值'
 | 
							label: '差值',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'amount',
 | 
							prop: 'amount',
 | 
				
			||||||
    label: '金额'
 | 
							label: '金额',
 | 
				
			||||||
  }
 | 
						},
 | 
				
			||||||
]
 | 
					];
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: "EnergyQuantityRealtime",
 | 
						name: 'EnergyQuantityRealtime',
 | 
				
			||||||
  data() {
 | 
						mixins: [tableHeightMixin],
 | 
				
			||||||
    return {
 | 
						data() {
 | 
				
			||||||
      formConfig: [
 | 
							return {
 | 
				
			||||||
        {
 | 
								formConfig: [
 | 
				
			||||||
          type: 'select',
 | 
									{
 | 
				
			||||||
          label: '能源类型',
 | 
										type: 'select',
 | 
				
			||||||
          selectOptions: [],
 | 
										label: '能源类型',
 | 
				
			||||||
          param: 'energyTypeId',
 | 
										labelField: 'labelName',
 | 
				
			||||||
          filterable: true
 | 
										selectOptions: [],
 | 
				
			||||||
        },
 | 
										param: 'energyTypeId',
 | 
				
			||||||
        {
 | 
										filterable: true,
 | 
				
			||||||
          type: 'datePicker',
 | 
									},
 | 
				
			||||||
          label: '时间',
 | 
									{
 | 
				
			||||||
          dateType: 'datetimerange',
 | 
										type: 'datePicker',
 | 
				
			||||||
          format: 'yyyy-MM-dd HH:mm:ss',
 | 
										label: '时间',
 | 
				
			||||||
          valueFormat: "timestamp",
 | 
										dateType: 'datetimerange',
 | 
				
			||||||
          rangeSeparator: '-',
 | 
										format: 'yyyy-MM-dd HH:mm:ss',
 | 
				
			||||||
          startPlaceholder: '开始时间',
 | 
										valueFormat: 'timestamp',
 | 
				
			||||||
          endPlaceholder: '结束时间',
 | 
										rangeSeparator: '-',
 | 
				
			||||||
          param: 'timeVal',
 | 
										startPlaceholder: '开始时间',
 | 
				
			||||||
          defaultSelect: [],
 | 
										endPlaceholder: '结束时间',
 | 
				
			||||||
          width: 350
 | 
										param: 'timeVal',
 | 
				
			||||||
        },
 | 
										defaultSelect: [],
 | 
				
			||||||
        {
 | 
										width: 350,
 | 
				
			||||||
          type: 'button',
 | 
									},
 | 
				
			||||||
          btnName: '查询',
 | 
									{
 | 
				
			||||||
          name: 'search',
 | 
										type: 'button',
 | 
				
			||||||
          color: 'primary'
 | 
										btnName: '查询',
 | 
				
			||||||
        },
 | 
										name: 'search',
 | 
				
			||||||
        {
 | 
										color: 'primary',
 | 
				
			||||||
          type: 'separate'
 | 
									},
 | 
				
			||||||
        },
 | 
									{
 | 
				
			||||||
        {
 | 
										type: 'separate',
 | 
				
			||||||
          type: this.$auth.hasPermi('base:energy-quantity-realtime:export') ? 'button' : '',
 | 
									},
 | 
				
			||||||
          btnName: '导出',
 | 
									{
 | 
				
			||||||
          name: 'export',
 | 
										type: this.$auth.hasPermi('base:energy-quantity-realtime:export')
 | 
				
			||||||
          color: 'primary',
 | 
											? 'button'
 | 
				
			||||||
          plain: true
 | 
											: '',
 | 
				
			||||||
        }
 | 
										btnName: '导出',
 | 
				
			||||||
      ],
 | 
										name: 'export',
 | 
				
			||||||
      tableProps,
 | 
										color: 'primary',
 | 
				
			||||||
      tableH: this.tableHeight(260),
 | 
										plain: true,
 | 
				
			||||||
      // 总条数
 | 
									},
 | 
				
			||||||
      total: 0,
 | 
								],
 | 
				
			||||||
      // 班次基础信息列表
 | 
								tableProps,
 | 
				
			||||||
      list: [],
 | 
								// 总条数
 | 
				
			||||||
      // 查询参数
 | 
								total: 0,
 | 
				
			||||||
      queryParams: {
 | 
								// 班次基础信息列表
 | 
				
			||||||
        pageNo: 1,
 | 
								list: [],
 | 
				
			||||||
        pageSize: 20,
 | 
								// 查询参数
 | 
				
			||||||
        energyTypeId: '',
 | 
								queryParams: {
 | 
				
			||||||
        startTime: null,
 | 
									pageNo: 1,
 | 
				
			||||||
        endTime: null
 | 
									pageSize: 20,
 | 
				
			||||||
      },
 | 
									energyTypeId: '',
 | 
				
			||||||
      energyTypeList: [],
 | 
									startTime: null,
 | 
				
			||||||
      exportList: []
 | 
									endTime: null,
 | 
				
			||||||
    };
 | 
								},
 | 
				
			||||||
  },
 | 
								energyTypeList: [],
 | 
				
			||||||
  created() {
 | 
								exportList: [],
 | 
				
			||||||
    window.addEventListener('resize', () => {
 | 
							};
 | 
				
			||||||
      this.tableH = this.tableHeight(260)
 | 
						},
 | 
				
			||||||
    })
 | 
						created() {
 | 
				
			||||||
    if (location.href.indexOf('?') > 0) {
 | 
							if (location.href.indexOf('?') > 0) {
 | 
				
			||||||
      let arr = location.href.split('?')[1].split('&')
 | 
								let arr = location.href.split('?')[1].split('&');
 | 
				
			||||||
      this.formConfig[1].defaultSelect = [arr[0].split('=')[1], arr[1].split('=')[1]]
 | 
								this.formConfig[1].defaultSelect = [
 | 
				
			||||||
    } else {
 | 
									arr[0].split('=')[1],
 | 
				
			||||||
      this.formConfig[1].defaultSelect = [Date.now() - 7 * 24 * 3600000, Date.now()]
 | 
									arr[1].split('=')[1],
 | 
				
			||||||
    }
 | 
								];
 | 
				
			||||||
    this.queryParams.startTime = this.formConfig[1].defaultSelect[0]
 | 
							} else {
 | 
				
			||||||
    this.queryParams.endTime = this.formConfig[1].defaultSelect[1]
 | 
								this.formConfig[1].defaultSelect = [
 | 
				
			||||||
    this.getList();
 | 
									Date.now() - 7 * 24 * 3600000,
 | 
				
			||||||
    this.getTypeList()
 | 
									Date.now(),
 | 
				
			||||||
  },
 | 
								];
 | 
				
			||||||
  watch: {
 | 
							}
 | 
				
			||||||
    $route: 'initData'
 | 
							this.queryParams.startTime = this.formConfig[1].defaultSelect[0];
 | 
				
			||||||
  },
 | 
							this.queryParams.endTime = this.formConfig[1].defaultSelect[1];
 | 
				
			||||||
  methods: {
 | 
							this.getList();
 | 
				
			||||||
    initData(to) {
 | 
							this.getTypeList();
 | 
				
			||||||
      if (to.name === 'EnergyQuantityRealtime') {
 | 
						},
 | 
				
			||||||
        if (location.href.indexOf('?') > 0) {
 | 
						watch: {
 | 
				
			||||||
          let arr = location.href.split('?')[1].split('&')
 | 
							$route: 'initData',
 | 
				
			||||||
          this.formConfig[1].defaultSelect = [arr[0].split('=')[1], arr[1].split('=')[1]]
 | 
						},
 | 
				
			||||||
        } else {
 | 
						methods: {
 | 
				
			||||||
          this.formConfig[1].defaultSelect = [Date.now() - 7 * 24 * 3600000, Date.now()]
 | 
							initData(to) {
 | 
				
			||||||
        }
 | 
								if (to.name === 'EnergyQuantityRealtime') {
 | 
				
			||||||
        this.queryParams.startTime = this.formConfig[1].defaultSelect[0]
 | 
									if (location.href.indexOf('?') > 0) {
 | 
				
			||||||
        this.queryParams.endTime = this.formConfig[1].defaultSelect[1]
 | 
										let arr = location.href.split('?')[1].split('&');
 | 
				
			||||||
        this.getList()
 | 
										this.formConfig[1].defaultSelect = [
 | 
				
			||||||
      }
 | 
											arr[0].split('=')[1],
 | 
				
			||||||
    },
 | 
											arr[1].split('=')[1],
 | 
				
			||||||
    buttonClick(val) {
 | 
										];
 | 
				
			||||||
      this.queryParams.pageNo = 1;
 | 
									} else {
 | 
				
			||||||
      this.queryParams.energyTypeId = val.energyTypeId
 | 
										this.formConfig[1].defaultSelect = [
 | 
				
			||||||
      this.queryParams.startTime = val.timeVal ? val.timeVal[0] : null
 | 
											Date.now() - 7 * 24 * 3600000,
 | 
				
			||||||
      this.queryParams.endTime = val.timeVal ? val.timeVal[1] : null
 | 
											Date.now(),
 | 
				
			||||||
      switch (val.btnName) {
 | 
										];
 | 
				
			||||||
        case 'search':
 | 
									}
 | 
				
			||||||
          this.getList()
 | 
									this.queryParams.startTime = this.formConfig[1].defaultSelect[0];
 | 
				
			||||||
          break
 | 
									this.queryParams.endTime = this.formConfig[1].defaultSelect[1];
 | 
				
			||||||
        default:
 | 
									this.getList();
 | 
				
			||||||
          this.exportTable()
 | 
								}
 | 
				
			||||||
      }
 | 
							},
 | 
				
			||||||
    },
 | 
							buttonClick(val) {
 | 
				
			||||||
    /** 查询列表 */
 | 
								this.queryParams.pageNo = 1;
 | 
				
			||||||
    getList() {
 | 
								this.queryParams.energyTypeId = val.energyTypeId;
 | 
				
			||||||
      getEnergyQuantityRealtimePage(this.queryParams).then(response => {
 | 
								this.queryParams.startTime = val.timeVal ? val.timeVal[0] : null;
 | 
				
			||||||
        let arr = response.data.list || []
 | 
								this.queryParams.endTime = val.timeVal ? val.timeVal[1] : null;
 | 
				
			||||||
        arr && arr.map(item => {
 | 
								switch (val.btnName) {
 | 
				
			||||||
          item.amount = item.amount ? (!isNaN(parseFloat(item.amount)) && isFinite(item.amount) ? item.amount.toFixed(2) : '') : ''
 | 
									case 'search':
 | 
				
			||||||
        })
 | 
										this.getList();
 | 
				
			||||||
        this.list = arr
 | 
										break;
 | 
				
			||||||
        this.total = response.data.total;
 | 
									default:
 | 
				
			||||||
        this.exportList = []
 | 
										this.exportTable();
 | 
				
			||||||
      });
 | 
								}
 | 
				
			||||||
    },
 | 
							},
 | 
				
			||||||
    getTypeList() {
 | 
							/** 查询列表 */
 | 
				
			||||||
      getEnergyTypeListAll().then((res) => {
 | 
							getList() {
 | 
				
			||||||
        this.formConfig[0].selectOptions = res.data || []
 | 
								getEnergyQuantityRealtimePage(this.queryParams).then((response) => {
 | 
				
			||||||
        this.energyTypeList = res.data || []
 | 
									let arr = response.data.list || [];
 | 
				
			||||||
      })
 | 
									arr &&
 | 
				
			||||||
    },
 | 
										arr.map((item) => {
 | 
				
			||||||
    selectChange(val) {
 | 
											item.amount = item.amount
 | 
				
			||||||
      console.log(val)
 | 
												? !isNaN(parseFloat(item.amount)) && isFinite(item.amount)
 | 
				
			||||||
      this.exportList = val
 | 
													? item.amount.toFixed(2)
 | 
				
			||||||
    },
 | 
													: ''
 | 
				
			||||||
    // 勾选导出
 | 
												: '';
 | 
				
			||||||
    exportTable() {
 | 
											this.getDictDatas('energy_type').map((subItem) => {
 | 
				
			||||||
      if (this.exportList.length > 0) {
 | 
												if (item.energyTypeName === subItem.value) {
 | 
				
			||||||
        let body = this.exportList.map((x) => [
 | 
													item.energyTypeLabel = subItem.label;
 | 
				
			||||||
          x.objName,
 | 
												}
 | 
				
			||||||
          x.objCode,
 | 
											});
 | 
				
			||||||
          x.energyTypeName,
 | 
										});
 | 
				
			||||||
          x.startValue,
 | 
									this.list = arr;
 | 
				
			||||||
          x.endValue,
 | 
									this.total = response.data.total;
 | 
				
			||||||
          x.diffValue,
 | 
									this.exportList = [];
 | 
				
			||||||
          x.amount
 | 
								});
 | 
				
			||||||
        ])
 | 
							},
 | 
				
			||||||
        let header = []
 | 
							getTypeList() {
 | 
				
			||||||
        this.tableProps.map((y) => {
 | 
								getEnergyTypeListAll().then((res) => {
 | 
				
			||||||
          header.push(y.label)
 | 
									this.formConfig[0].selectOptions = res.data || [];
 | 
				
			||||||
        })
 | 
									this.energyTypeList = res.data || [];
 | 
				
			||||||
        body.unshift(header)
 | 
								});
 | 
				
			||||||
        console.log(body)
 | 
							},
 | 
				
			||||||
        const filename = '能源抄表.xlsx'
 | 
							selectChange(val) {
 | 
				
			||||||
        const ws_name = 'Sheet1'
 | 
								console.log(val);
 | 
				
			||||||
        const wb = XLSX.utils.book_new()
 | 
								this.exportList = val;
 | 
				
			||||||
        const ws = XLSX.utils.aoa_to_sheet(body)
 | 
							},
 | 
				
			||||||
        XLSX.utils.book_append_sheet(wb, ws, ws_name)
 | 
							// 勾选导出
 | 
				
			||||||
        let wbout = XLSX.write(wb, {
 | 
							exportTable() {
 | 
				
			||||||
          bookType: 'xlsx',
 | 
								if (this.exportList.length > 0) {
 | 
				
			||||||
          bookSST: false,
 | 
									let body = this.exportList.map((x) => [
 | 
				
			||||||
          type: 'array'
 | 
										x.objName,
 | 
				
			||||||
        })
 | 
										x.objCode,
 | 
				
			||||||
        FileSaver.saveAs(
 | 
										x.energyTypeLabel,
 | 
				
			||||||
          new Blob([wbout], {
 | 
										x.startValue,
 | 
				
			||||||
            type: 'application/octet-stream'
 | 
										x.endValue,
 | 
				
			||||||
          }),
 | 
										x.diffValue,
 | 
				
			||||||
          filename
 | 
										x.amount,
 | 
				
			||||||
        )
 | 
									]);
 | 
				
			||||||
      } else {
 | 
									let header = [];
 | 
				
			||||||
        this.$modal.msgWarning('请勾选需要导出的数据')
 | 
									this.tableProps.map((y) => {
 | 
				
			||||||
      }
 | 
										header.push(y.label);
 | 
				
			||||||
    }
 | 
									});
 | 
				
			||||||
  }
 | 
									body.unshift(header);
 | 
				
			||||||
 | 
									console.log(body);
 | 
				
			||||||
 | 
									const filename = '能源抄表.xlsx';
 | 
				
			||||||
 | 
									const ws_name = 'Sheet1';
 | 
				
			||||||
 | 
									const wb = XLSX.utils.book_new();
 | 
				
			||||||
 | 
									const ws = XLSX.utils.aoa_to_sheet(body);
 | 
				
			||||||
 | 
									XLSX.utils.book_append_sheet(wb, ws, ws_name);
 | 
				
			||||||
 | 
									let wbout = XLSX.write(wb, {
 | 
				
			||||||
 | 
										bookType: 'xlsx',
 | 
				
			||||||
 | 
										bookSST: false,
 | 
				
			||||||
 | 
										type: 'array',
 | 
				
			||||||
 | 
									});
 | 
				
			||||||
 | 
									FileSaver.saveAs(
 | 
				
			||||||
 | 
										new Blob([wbout], {
 | 
				
			||||||
 | 
											type: 'application/octet-stream',
 | 
				
			||||||
 | 
										}),
 | 
				
			||||||
 | 
										filename
 | 
				
			||||||
 | 
									);
 | 
				
			||||||
 | 
								} else {
 | 
				
			||||||
 | 
									this.$modal.msgWarning('请勾选需要导出的数据');
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -40,6 +40,7 @@ import { getEnergyTypePage, deleteEnergyType } from '@/api/base/energyType';
 | 
				
			|||||||
import { publicFormatter } from '@/utils/dict';
 | 
					import { publicFormatter } from '@/utils/dict';
 | 
				
			||||||
import InnerTable from './components/InnerTable';
 | 
					import InnerTable from './components/InnerTable';
 | 
				
			||||||
import EnergyTypeAdd from './components/energyTypeAdd';
 | 
					import EnergyTypeAdd from './components/energyTypeAdd';
 | 
				
			||||||
 | 
					import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
 | 
				
			||||||
const tableProps = [
 | 
					const tableProps = [
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		prop: 'code',
 | 
							prop: 'code',
 | 
				
			||||||
@@ -48,9 +49,8 @@ const tableProps = [
 | 
				
			|||||||
		minWidth: 150,
 | 
							minWidth: 150,
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		prop: 'name',
 | 
							prop: 'energyTypeLabel',
 | 
				
			||||||
		label: '能源类型',
 | 
							label: '能源类型',
 | 
				
			||||||
		filter: publicFormatter('energy_type'),
 | 
					 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		prop: 'unit',
 | 
							prop: 'unit',
 | 
				
			||||||
@@ -70,6 +70,7 @@ const tableProps = [
 | 
				
			|||||||
export default {
 | 
					export default {
 | 
				
			||||||
	name: 'EnergyType',
 | 
						name: 'EnergyType',
 | 
				
			||||||
	components: { EnergyTypeAdd },
 | 
						components: { EnergyTypeAdd },
 | 
				
			||||||
 | 
						mixins: [tableHeightMixin],
 | 
				
			||||||
	data() {
 | 
						data() {
 | 
				
			||||||
		return {
 | 
							return {
 | 
				
			||||||
			formConfig: [
 | 
								formConfig: [
 | 
				
			||||||
@@ -96,7 +97,7 @@ export default {
 | 
				
			|||||||
					  }
 | 
										  }
 | 
				
			||||||
					: undefined,
 | 
										: undefined,
 | 
				
			||||||
			].filter((v) => v),
 | 
								].filter((v) => v),
 | 
				
			||||||
			tableH: this.tableHeight(220),
 | 
								heightNum: 220,
 | 
				
			||||||
			pricingMethodList: [
 | 
								pricingMethodList: [
 | 
				
			||||||
				{ value: 0, label: '分时间段计价' },
 | 
									{ value: 0, label: '分时间段计价' },
 | 
				
			||||||
				{ value: 1, label: '分使用量计价' },
 | 
									{ value: 1, label: '分使用量计价' },
 | 
				
			||||||
@@ -118,9 +119,6 @@ export default {
 | 
				
			|||||||
		};
 | 
							};
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	created() {
 | 
						created() {
 | 
				
			||||||
		window.addEventListener('resize', () => {
 | 
					 | 
				
			||||||
			this.tableH = this.tableHeight(220);
 | 
					 | 
				
			||||||
		});
 | 
					 | 
				
			||||||
		this.getList();
 | 
							this.getList();
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	methods: {
 | 
						methods: {
 | 
				
			||||||
@@ -142,6 +140,11 @@ export default {
 | 
				
			|||||||
								item.pricingMethod = i.label;
 | 
													item.pricingMethod = i.label;
 | 
				
			||||||
							}
 | 
												}
 | 
				
			||||||
						});
 | 
											});
 | 
				
			||||||
 | 
											this.getDictDatas('energy_type').map((subItem) => {
 | 
				
			||||||
 | 
												if (item.name === subItem.value) {
 | 
				
			||||||
 | 
													item.energyTypeLabel = subItem.label;
 | 
				
			||||||
 | 
												}
 | 
				
			||||||
 | 
											});
 | 
				
			||||||
					});
 | 
										});
 | 
				
			||||||
				this.list = arr;
 | 
									this.list = arr;
 | 
				
			||||||
				this.total = response.data.total;
 | 
									this.total = response.data.total;
 | 
				
			||||||
@@ -174,8 +177,9 @@ export default {
 | 
				
			|||||||
		},
 | 
							},
 | 
				
			||||||
		/** 删除按钮操作 */
 | 
							/** 删除按钮操作 */
 | 
				
			||||||
		handleDelete(row) {
 | 
							handleDelete(row) {
 | 
				
			||||||
 | 
								console.log(row);
 | 
				
			||||||
			this.$modal
 | 
								this.$modal
 | 
				
			||||||
				.confirm('是否确认删除能源类型为"' + row.name + '"的数据项?')
 | 
									.confirm('是否确认删除能源类型为"' + row.energyTypeLabel + '"的数据项?')
 | 
				
			||||||
				.then(function () {
 | 
									.then(function () {
 | 
				
			||||||
					return deleteEnergyType(row.id);
 | 
										return deleteEnergyType(row.id);
 | 
				
			||||||
				})
 | 
									})
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -32,6 +32,7 @@
 | 
				
			|||||||
import { energyTablePage } from '@/api/base/energyQuantityManual';
 | 
					import { energyTablePage } from '@/api/base/energyQuantityManual';
 | 
				
			||||||
import { publicFormatter } from '@/utils/dict';
 | 
					import { publicFormatter } from '@/utils/dict';
 | 
				
			||||||
import tableNameConfigUpdate from './components/tableNameConfigUpdate.vue';
 | 
					import tableNameConfigUpdate from './components/tableNameConfigUpdate.vue';
 | 
				
			||||||
 | 
					import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
 | 
				
			||||||
const tableProps = [
 | 
					const tableProps = [
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		prop: 'energyType',
 | 
							prop: 'energyType',
 | 
				
			||||||
@@ -63,10 +64,11 @@ export default {
 | 
				
			|||||||
				pageNo: 1,
 | 
									pageNo: 1,
 | 
				
			||||||
				pageSize: 100,
 | 
									pageSize: 100,
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
			tableH: this.tableHeight(165),
 | 
								heightNum: 165,
 | 
				
			||||||
			centervisible: false,
 | 
								centervisible: false,
 | 
				
			||||||
		};
 | 
							};
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
 | 
						mixins: [tableHeightMixin],
 | 
				
			||||||
	created() {
 | 
						created() {
 | 
				
			||||||
		this.getList();
 | 
							this.getList();
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -182,6 +182,7 @@ export default {
 | 
				
			|||||||
				limitType: '',
 | 
									limitType: '',
 | 
				
			||||||
				minValue: 0,
 | 
									minValue: 0,
 | 
				
			||||||
				maxValue: 0,
 | 
									maxValue: 0,
 | 
				
			||||||
 | 
									tableName: '',
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
			objIds: [], // 回显数组
 | 
								objIds: [], // 回显数组
 | 
				
			||||||
			isEdit: false, //是否是编辑
 | 
								isEdit: false, //是否是编辑
 | 
				
			||||||
@@ -214,6 +215,9 @@ export default {
 | 
				
			|||||||
					if (res.code === 0) {
 | 
										if (res.code === 0) {
 | 
				
			||||||
						this.form = res.data;
 | 
											this.form = res.data;
 | 
				
			||||||
						this.form.plcParamId = res.data.plcParamId || '';
 | 
											this.form.plcParamId = res.data.plcParamId || '';
 | 
				
			||||||
 | 
											this.form.tableName = this.form.tableName
 | 
				
			||||||
 | 
												? this.form.tableName + ''
 | 
				
			||||||
 | 
												: '';
 | 
				
			||||||
						this.form.method = this.form.method ? this.form.method + '' : '';
 | 
											this.form.method = this.form.method ? this.form.method + '' : '';
 | 
				
			||||||
						this.form.limitType = this.form.limitType
 | 
											this.form.limitType = this.form.limitType
 | 
				
			||||||
							? this.form.limitType + ''
 | 
												? this.form.limitType + ''
 | 
				
			||||||
@@ -294,7 +298,7 @@ export default {
 | 
				
			|||||||
		},
 | 
							},
 | 
				
			||||||
		selectObj(val) {
 | 
							selectObj(val) {
 | 
				
			||||||
			this.form.objectId = val[val.length - 1];
 | 
								this.form.objectId = val[val.length - 1];
 | 
				
			||||||
			this.form.objectType = val.length - 1;
 | 
								this.form.objectType = val.length;
 | 
				
			||||||
			if (this.form.energyTypeId && this.form.type) {
 | 
								if (this.form.energyTypeId && this.form.type) {
 | 
				
			||||||
				this.getDetailList();
 | 
									this.getDetailList();
 | 
				
			||||||
				this.form.plcParamId = '';
 | 
									this.form.plcParamId = '';
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -51,6 +51,7 @@ import { getEnergyTypeListAll } from '@/api/base/energyType';
 | 
				
			|||||||
import { getTree } from '@/api/analysis/energyAnalysis';
 | 
					import { getTree } from '@/api/analysis/energyAnalysis';
 | 
				
			||||||
import { publicFormatter } from '@/utils/dict';
 | 
					import { publicFormatter } from '@/utils/dict';
 | 
				
			||||||
import EnergyLimitAdd from './components/energyLimitAdd';
 | 
					import EnergyLimitAdd from './components/energyLimitAdd';
 | 
				
			||||||
 | 
					import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
 | 
				
			||||||
const tableProps = [
 | 
					const tableProps = [
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		prop: 'method',
 | 
							prop: 'method',
 | 
				
			||||||
@@ -104,6 +105,7 @@ const tableProps = [
 | 
				
			|||||||
export default {
 | 
					export default {
 | 
				
			||||||
	name: 'EnergyLimit',
 | 
						name: 'EnergyLimit',
 | 
				
			||||||
	components: { EnergyLimitAdd },
 | 
						components: { EnergyLimitAdd },
 | 
				
			||||||
 | 
						mixins: [tableHeightMixin],
 | 
				
			||||||
	data() {
 | 
						data() {
 | 
				
			||||||
		return {
 | 
							return {
 | 
				
			||||||
			formConfig: [
 | 
								formConfig: [
 | 
				
			||||||
@@ -156,7 +158,6 @@ export default {
 | 
				
			|||||||
					  }
 | 
										  }
 | 
				
			||||||
					: undefined,
 | 
										: undefined,
 | 
				
			||||||
			].filter((v) => v),
 | 
								].filter((v) => v),
 | 
				
			||||||
			tableH: this.tableHeight(260),
 | 
					 | 
				
			||||||
			// 总条数
 | 
								// 总条数
 | 
				
			||||||
			total: 0,
 | 
								total: 0,
 | 
				
			||||||
			// 班次基础信息列表
 | 
								// 班次基础信息列表
 | 
				
			||||||
@@ -181,9 +182,6 @@ export default {
 | 
				
			|||||||
		};
 | 
							};
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	created() {
 | 
						created() {
 | 
				
			||||||
		window.addEventListener('resize', () => {
 | 
					 | 
				
			||||||
			this.tableH = this.tableHeight(260);
 | 
					 | 
				
			||||||
		});
 | 
					 | 
				
			||||||
		this.getList();
 | 
							this.getList();
 | 
				
			||||||
		this.getTypeList();
 | 
							this.getTypeList();
 | 
				
			||||||
		// 获取对象树形结构
 | 
							// 获取对象树形结构
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -45,6 +45,7 @@ import { getEnergyOverlimitLogPage } from '@/api/monitoring/energyOverlimitLog';
 | 
				
			|||||||
import { getEnergyTypeListAll } from '@/api/base/energyType';
 | 
					import { getEnergyTypeListAll } from '@/api/base/energyType';
 | 
				
			||||||
import { publicFormatter } from '@/utils/dict';
 | 
					import { publicFormatter } from '@/utils/dict';
 | 
				
			||||||
import { parseTime } from '@/utils/ruoyi';
 | 
					import { parseTime } from '@/utils/ruoyi';
 | 
				
			||||||
 | 
					import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
 | 
				
			||||||
const tableProps = [
 | 
					const tableProps = [
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		prop: 'objName',
 | 
							prop: 'objName',
 | 
				
			||||||
@@ -123,6 +124,7 @@ const tableProps2 = [
 | 
				
			|||||||
];
 | 
					];
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
	name: 'EnergyOverlimitLog',
 | 
						name: 'EnergyOverlimitLog',
 | 
				
			||||||
 | 
						mixins: [tableHeightMixin],
 | 
				
			||||||
	data() {
 | 
						data() {
 | 
				
			||||||
		return {
 | 
							return {
 | 
				
			||||||
			formConfig: [
 | 
								formConfig: [
 | 
				
			||||||
@@ -151,10 +153,10 @@ export default {
 | 
				
			|||||||
			activeName: 'auto',
 | 
								activeName: 'auto',
 | 
				
			||||||
			tableProps,
 | 
								tableProps,
 | 
				
			||||||
			tableProps2,
 | 
								tableProps2,
 | 
				
			||||||
			tableH: this.tableHeight(260),
 | 
					 | 
				
			||||||
			total: 0,
 | 
								total: 0,
 | 
				
			||||||
			list: [],
 | 
								list: [],
 | 
				
			||||||
			list2: [],
 | 
								list2: [],
 | 
				
			||||||
 | 
								heightNum: 300,
 | 
				
			||||||
			// 查询参数
 | 
								// 查询参数
 | 
				
			||||||
			queryParams: {
 | 
								queryParams: {
 | 
				
			||||||
				pageNo: 1,
 | 
									pageNo: 1,
 | 
				
			||||||
@@ -170,9 +172,6 @@ export default {
 | 
				
			|||||||
		};
 | 
							};
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	created() {
 | 
						created() {
 | 
				
			||||||
		window.addEventListener('resize', () => {
 | 
					 | 
				
			||||||
			this.tableH = this.tableHeight(260);
 | 
					 | 
				
			||||||
		});
 | 
					 | 
				
			||||||
		this.getList();
 | 
							this.getList();
 | 
				
			||||||
		this.getTypeList();
 | 
							this.getTypeList();
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -72,7 +72,7 @@ const tableProps = [
 | 
				
			|||||||
	},
 | 
						},
 | 
				
			||||||
];
 | 
					];
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
	name: 'EnergyLimit',
 | 
						name: 'EnergyReport',
 | 
				
			||||||
	data() {
 | 
						data() {
 | 
				
			||||||
		return {
 | 
							return {
 | 
				
			||||||
			isFold: false,
 | 
								isFold: false,
 | 
				
			||||||
@@ -181,7 +181,7 @@ export default {
 | 
				
			|||||||
							return energyReportPageExportAuto({ ...this.queryParams });
 | 
												return energyReportPageExportAuto({ ...this.queryParams });
 | 
				
			||||||
						})
 | 
											})
 | 
				
			||||||
						.then((response) => {
 | 
											.then((response) => {
 | 
				
			||||||
							this.$download.excel(response, '能源统计报表.xls');
 | 
												this.$download.excel(response, '能耗统计报表.xls');
 | 
				
			||||||
						})
 | 
											})
 | 
				
			||||||
						.catch(() => {});
 | 
											.catch(() => {});
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,161 +1,171 @@
 | 
				
			|||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <div class="app-container" id='energyReportSearchBox'>
 | 
						<div
 | 
				
			||||||
 | 
							class="app-container"
 | 
				
			||||||
    <!-- 搜索工作栏 -->
 | 
							id="energyReportSearchBox">
 | 
				
			||||||
    <search-bar
 | 
							<!-- 搜索工作栏 -->
 | 
				
			||||||
      :formConfigs="formConfig"
 | 
							<search-bar
 | 
				
			||||||
      ref="searchBarForm"
 | 
								:formConfigs="formConfig"
 | 
				
			||||||
      :isFold="isFold"
 | 
								ref="searchBarForm"
 | 
				
			||||||
      @headBtnClick="buttonClick"
 | 
								:isFold="isFold"
 | 
				
			||||||
    />
 | 
								@headBtnClick="buttonClick" />
 | 
				
			||||||
    <!-- 列表 -->
 | 
							<!-- 列表 -->
 | 
				
			||||||
    <base-table
 | 
							<base-table
 | 
				
			||||||
      :page="queryParams.pageNo"
 | 
								:page="queryParams.pageNo"
 | 
				
			||||||
      :limit="queryParams.pageSize"
 | 
								:limit="queryParams.pageSize"
 | 
				
			||||||
      :table-props="tableProps"
 | 
								:table-props="tableProps"
 | 
				
			||||||
      :table-data="list"
 | 
								:table-data="list"
 | 
				
			||||||
      :max-height="tableH"
 | 
								:max-height="tableH" />
 | 
				
			||||||
    />
 | 
							<pagination
 | 
				
			||||||
    <pagination
 | 
								:page.sync="queryParams.pageNo"
 | 
				
			||||||
      :page.sync="queryParams.pageNo"
 | 
								:limit.sync="queryParams.pageSize"
 | 
				
			||||||
      :limit.sync="queryParams.pageSize"
 | 
								:total="total"
 | 
				
			||||||
      :total="total"
 | 
								@pagination="getList" />
 | 
				
			||||||
      @pagination="getList"
 | 
						</div>
 | 
				
			||||||
    />
 | 
					 | 
				
			||||||
  </div>
 | 
					 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import { energyReportPage, energyReportPageExport } from "@/api/monitoring/energyReport";
 | 
					import {
 | 
				
			||||||
import { getEnergyTypeListAll } from "@/api/base/energyType"
 | 
						energyReportPage,
 | 
				
			||||||
 | 
						energyReportPageExport,
 | 
				
			||||||
 | 
					} from '@/api/monitoring/energyReport';
 | 
				
			||||||
 | 
					import { publicFormatter } from '@/utils/dict';
 | 
				
			||||||
 | 
					import { getEnergyTypeListAll } from '@/api/base/energyType';
 | 
				
			||||||
const tableProps = [
 | 
					const tableProps = [
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'statisticName',
 | 
							prop: 'statisticName',
 | 
				
			||||||
    label: '统计方案'
 | 
							label: '统计方案',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'energyType',
 | 
							prop: 'energyType',
 | 
				
			||||||
    label: '能源类型'
 | 
							label: '能源类型',
 | 
				
			||||||
  },
 | 
							filter: publicFormatter('energy_type'),
 | 
				
			||||||
  {
 | 
						},
 | 
				
			||||||
    prop: 'startValue',
 | 
						{
 | 
				
			||||||
    label: '抄表数(起始)'
 | 
							prop: 'startValue',
 | 
				
			||||||
  },
 | 
							label: '抄表数(起始)',
 | 
				
			||||||
  {
 | 
						},
 | 
				
			||||||
    prop: 'endValue',
 | 
						{
 | 
				
			||||||
    label: '抄表数(结束)'
 | 
							prop: 'endValue',
 | 
				
			||||||
  },
 | 
							label: '抄表数(结束)',
 | 
				
			||||||
  {
 | 
						},
 | 
				
			||||||
    prop: 'diffValue',
 | 
						{
 | 
				
			||||||
    label: '消耗量'
 | 
							prop: 'diffValue',
 | 
				
			||||||
  }
 | 
							label: '消耗量',
 | 
				
			||||||
]
 | 
						},
 | 
				
			||||||
 | 
					];
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: "EnergyReportSearch",
 | 
						name: 'EnergyReportSearch',
 | 
				
			||||||
  data() {
 | 
						data() {
 | 
				
			||||||
    return {
 | 
							return {
 | 
				
			||||||
      isFold: false,
 | 
								isFold: false,
 | 
				
			||||||
      formConfig: [
 | 
								formConfig: [
 | 
				
			||||||
        {
 | 
									{
 | 
				
			||||||
          type: 'input',
 | 
										type: 'input',
 | 
				
			||||||
          label: '统计方案',
 | 
										label: '统计方案',
 | 
				
			||||||
          param: 'statisticName'
 | 
										param: 'statisticName',
 | 
				
			||||||
        },
 | 
									},
 | 
				
			||||||
        {
 | 
									{
 | 
				
			||||||
          type: 'select',
 | 
										type: 'select',
 | 
				
			||||||
          label: '能源类型',
 | 
										label: '能源类型',
 | 
				
			||||||
          selectOptions: [],
 | 
										labelField: 'labelName',
 | 
				
			||||||
          param: 'energyTypeId',
 | 
										selectOptions: [],
 | 
				
			||||||
          filterable: true
 | 
										param: 'energyTypeId',
 | 
				
			||||||
        },
 | 
										filterable: true,
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: 'datePicker',
 | 
									{
 | 
				
			||||||
          label: '时间',
 | 
										type: 'datePicker',
 | 
				
			||||||
          dateType: 'datetimerange',
 | 
										label: '时间',
 | 
				
			||||||
          format: 'yyyy-MM-dd HH:mm:ss',
 | 
										dateType: 'datetimerange',
 | 
				
			||||||
          valueFormat: "timestamp",
 | 
										format: 'yyyy-MM-dd HH:mm:ss',
 | 
				
			||||||
          rangeSeparator: '-',
 | 
										valueFormat: 'timestamp',
 | 
				
			||||||
          startPlaceholder: '开始时间',
 | 
										rangeSeparator: '-',
 | 
				
			||||||
          endPlaceholder: '结束时间',
 | 
										startPlaceholder: '开始时间',
 | 
				
			||||||
          param: 'timeVal',
 | 
										endPlaceholder: '结束时间',
 | 
				
			||||||
          defaultSelect: [],
 | 
										param: 'timeVal',
 | 
				
			||||||
          width: 350,
 | 
										defaultSelect: [],
 | 
				
			||||||
          clearable: false
 | 
										width: 350,
 | 
				
			||||||
        },
 | 
										clearable: false,
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: 'button',
 | 
									{
 | 
				
			||||||
          btnName: '查询',
 | 
										type: 'button',
 | 
				
			||||||
          name: 'search',
 | 
										btnName: '查询',
 | 
				
			||||||
          color: 'primary'
 | 
										name: 'search',
 | 
				
			||||||
        },
 | 
										color: 'primary',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: 'separate'
 | 
									{
 | 
				
			||||||
        },
 | 
										type: 'separate',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: this.$auth.hasPermi('monitoring:energy-report-search:export') ? 'button' : '',
 | 
									{
 | 
				
			||||||
          btnName: '导出',
 | 
										type: this.$auth.hasPermi('monitoring:energy-report-search:export')
 | 
				
			||||||
          name: 'add',
 | 
											? 'button'
 | 
				
			||||||
          color: 'primary',
 | 
											: '',
 | 
				
			||||||
          plain: true
 | 
										btnName: '导出',
 | 
				
			||||||
        }
 | 
										name: 'add',
 | 
				
			||||||
      ],
 | 
										color: 'primary',
 | 
				
			||||||
      tableProps,
 | 
										plain: true,
 | 
				
			||||||
      tableH: this.tableHeight(260),
 | 
									},
 | 
				
			||||||
      // 总条数
 | 
								],
 | 
				
			||||||
      total: 0,
 | 
								tableProps,
 | 
				
			||||||
      // 班次基础信息列表
 | 
								tableH: this.tableHeight(260),
 | 
				
			||||||
      list: [],
 | 
								// 总条数
 | 
				
			||||||
      // 查询参数
 | 
								total: 0,
 | 
				
			||||||
      queryParams: {
 | 
								// 班次基础信息列表
 | 
				
			||||||
        pageNo: 1,
 | 
								list: [],
 | 
				
			||||||
        pageSize: 20,
 | 
								// 查询参数
 | 
				
			||||||
        statisticName: null,
 | 
								queryParams: {
 | 
				
			||||||
        startTime: null,
 | 
									pageNo: 1,
 | 
				
			||||||
        endTime: null
 | 
									pageSize: 20,
 | 
				
			||||||
      },
 | 
									statisticName: null,
 | 
				
			||||||
      energyTypeList: []
 | 
									startTime: null,
 | 
				
			||||||
    };
 | 
									endTime: null,
 | 
				
			||||||
  },
 | 
								},
 | 
				
			||||||
  mounted() {
 | 
								energyTypeList: [],
 | 
				
			||||||
    window.addEventListener('resize', () => {
 | 
							};
 | 
				
			||||||
      this.tableH = this.tableHeight(260)
 | 
						},
 | 
				
			||||||
      this.isFold = this.searchBarWidth('energyReportSearchBox', 1180)
 | 
						mounted() {
 | 
				
			||||||
    })
 | 
							window.addEventListener('resize', () => {
 | 
				
			||||||
    this.getList()
 | 
								this.tableH = this.tableHeight(260);
 | 
				
			||||||
    this.getTypeList()
 | 
								this.isFold = this.searchBarWidth('energyReportSearchBox', 1180);
 | 
				
			||||||
    this.isFold = this.searchBarWidth('energyReportSearchBox', 1180)
 | 
							});
 | 
				
			||||||
  },
 | 
							this.getList();
 | 
				
			||||||
  methods: {
 | 
							this.getTypeList();
 | 
				
			||||||
    getTypeList() {
 | 
							this.isFold = this.searchBarWidth('energyReportSearchBox', 1180);
 | 
				
			||||||
      getEnergyTypeListAll().then((res) => {
 | 
						},
 | 
				
			||||||
        this.formConfig[1].selectOptions = res.data || []
 | 
						methods: {
 | 
				
			||||||
      })
 | 
							getTypeList() {
 | 
				
			||||||
    },
 | 
								getEnergyTypeListAll().then((res) => {
 | 
				
			||||||
    buttonClick(val) {
 | 
									this.formConfig[1].selectOptions = res.data || [];
 | 
				
			||||||
      switch (val.btnName) {
 | 
								});
 | 
				
			||||||
        case 'search':
 | 
							},
 | 
				
			||||||
          this.queryParams.pageNo = 1
 | 
							buttonClick(val) {
 | 
				
			||||||
          this.queryParams.statisticName = val.statisticName
 | 
								switch (val.btnName) {
 | 
				
			||||||
          this.queryParams.energyTypeId = val.energyTypeId
 | 
									case 'search':
 | 
				
			||||||
          this.queryParams.startTime = val.timeVal ? val.timeVal[0] : null
 | 
										this.queryParams.pageNo = 1;
 | 
				
			||||||
          this.queryParams.endTime = val.timeVal ? val.timeVal[1] : null
 | 
										this.queryParams.statisticName = val.statisticName;
 | 
				
			||||||
          this.getList()
 | 
										this.queryParams.energyTypeId = val.energyTypeId;
 | 
				
			||||||
          break
 | 
										this.queryParams.startTime = val.timeVal ? val.timeVal[0] : null;
 | 
				
			||||||
        default:
 | 
										this.queryParams.endTime = val.timeVal ? val.timeVal[1] : null;
 | 
				
			||||||
          this.$modal.confirm('是否确认导出').then(() => {
 | 
										this.getList();
 | 
				
			||||||
                return energyReportPageExport({...this.queryParams});
 | 
										break;
 | 
				
			||||||
              }).then(response => {
 | 
									default:
 | 
				
			||||||
                this.$download.excel(response, '能源统计查询报表.xls');
 | 
										this.$modal
 | 
				
			||||||
              }).catch(() => {})
 | 
											.confirm('是否确认导出')
 | 
				
			||||||
      }
 | 
											.then(() => {
 | 
				
			||||||
    },
 | 
												return energyReportPageExport({ ...this.queryParams });
 | 
				
			||||||
    /** 查询列表 */
 | 
											})
 | 
				
			||||||
    getList() {
 | 
											.then((response) => {
 | 
				
			||||||
      energyReportPage({...this.queryParams}).then(response => {
 | 
												this.$download.excel(response, '能源统计查询报表.xls');
 | 
				
			||||||
        this.list = response.data.list || [];
 | 
											})
 | 
				
			||||||
        this.total = response.data.total;
 | 
											.catch(() => {});
 | 
				
			||||||
      });
 | 
								}
 | 
				
			||||||
    }
 | 
							},
 | 
				
			||||||
  }
 | 
							/** 查询列表 */
 | 
				
			||||||
 | 
							getList() {
 | 
				
			||||||
 | 
								energyReportPage({ ...this.queryParams }).then((response) => {
 | 
				
			||||||
 | 
									this.list = response.data.list || [];
 | 
				
			||||||
 | 
									this.total = response.data.total;
 | 
				
			||||||
 | 
								});
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,230 +1,271 @@
 | 
				
			|||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <div>
 | 
						<div>
 | 
				
			||||||
    <el-drawer :title="drawerTitle" :visible.sync="visible" size="70%" @close='closeD' :show-close='false'>
 | 
							<el-drawer
 | 
				
			||||||
      <div class="box">
 | 
								:title="drawerTitle"
 | 
				
			||||||
        <el-form :inline="true">
 | 
								:visible.sync="visible"
 | 
				
			||||||
          <el-form-item label="方案名称">
 | 
								size="70%"
 | 
				
			||||||
            <el-input v-model="name" size='small' readonly></el-input>
 | 
								@close="closeD"
 | 
				
			||||||
          </el-form-item>
 | 
								:show-close="false">
 | 
				
			||||||
          <el-form-item label="能源类型">
 | 
								<div class="box">
 | 
				
			||||||
            <el-input v-model="energyType" size='small' readonly></el-input>
 | 
									<el-form :inline="true">
 | 
				
			||||||
          </el-form-item>
 | 
										<el-form-item label="方案名称">
 | 
				
			||||||
          <el-form-item>
 | 
											<el-input
 | 
				
			||||||
            <el-button type="success" size='small' v-if="showBtn" plain @click="addNew">新增</el-button>
 | 
												v-model="name"
 | 
				
			||||||
            <el-button type="danger" size='small' v-if="showBtn" plain @click="deleteAll">批量删除</el-button>
 | 
												size="small"
 | 
				
			||||||
          </el-form-item>
 | 
												readonly></el-input>
 | 
				
			||||||
        </el-form>
 | 
										</el-form-item>
 | 
				
			||||||
        <base-table
 | 
										<el-form-item label="能源类型">
 | 
				
			||||||
          :page="queryParams.pageNo"
 | 
											<el-input
 | 
				
			||||||
          :limit="queryParams.pageSize"
 | 
												v-model="energyTypeLabel"
 | 
				
			||||||
          :table-props="tableProps"
 | 
												size="small"
 | 
				
			||||||
          :table-data="tableData"
 | 
												readonly></el-input>
 | 
				
			||||||
          :max-height="tableH"
 | 
										</el-form-item>
 | 
				
			||||||
          :selectWidth="55"
 | 
										<el-form-item>
 | 
				
			||||||
          @selection-change="selectChange"
 | 
											<el-button
 | 
				
			||||||
        >
 | 
												type="success"
 | 
				
			||||||
          <method-btn
 | 
												size="small"
 | 
				
			||||||
            v-if="tableBtn.length"
 | 
												v-if="showBtn"
 | 
				
			||||||
            slot="handleBtn"
 | 
												plain
 | 
				
			||||||
            :width="80"
 | 
												@click="addNew">
 | 
				
			||||||
            label="操作"
 | 
												新增
 | 
				
			||||||
            :method-list="tableBtn"
 | 
											</el-button>
 | 
				
			||||||
            @clickBtn="handleClick"
 | 
											<el-button
 | 
				
			||||||
          />
 | 
												type="danger"
 | 
				
			||||||
        </base-table>
 | 
												size="small"
 | 
				
			||||||
        <pagination
 | 
												v-if="showBtn"
 | 
				
			||||||
          :page.sync="queryParams.pageNo"
 | 
												plain
 | 
				
			||||||
          :limit.sync="queryParams.pageSize"
 | 
												@click="deleteAll">
 | 
				
			||||||
          :total="total"
 | 
												批量删除
 | 
				
			||||||
          @pagination="getList"
 | 
											</el-button>
 | 
				
			||||||
        />
 | 
										</el-form-item>
 | 
				
			||||||
      </div>
 | 
									</el-form>
 | 
				
			||||||
    </el-drawer>
 | 
									<base-table
 | 
				
			||||||
    <!-- 新增 -->
 | 
										:page="queryParams.pageNo"
 | 
				
			||||||
    <energy-statistics-det-add ref="energyStatistics" @closeDet="closeDet" />
 | 
										:limit="queryParams.pageSize"
 | 
				
			||||||
  </div>
 | 
										:table-props="tableProps"
 | 
				
			||||||
 | 
										:table-data="tableData"
 | 
				
			||||||
 | 
										:max-height="tableH"
 | 
				
			||||||
 | 
										:selectWidth="55"
 | 
				
			||||||
 | 
										@selection-change="selectChange">
 | 
				
			||||||
 | 
										<method-btn
 | 
				
			||||||
 | 
											v-if="tableBtn.length"
 | 
				
			||||||
 | 
											slot="handleBtn"
 | 
				
			||||||
 | 
											:width="80"
 | 
				
			||||||
 | 
											label="操作"
 | 
				
			||||||
 | 
											:method-list="tableBtn"
 | 
				
			||||||
 | 
											@clickBtn="handleClick" />
 | 
				
			||||||
 | 
									</base-table>
 | 
				
			||||||
 | 
									<pagination
 | 
				
			||||||
 | 
										:page.sync="queryParams.pageNo"
 | 
				
			||||||
 | 
										:limit.sync="queryParams.pageSize"
 | 
				
			||||||
 | 
										:total="total"
 | 
				
			||||||
 | 
										@pagination="getList" />
 | 
				
			||||||
 | 
								</div>
 | 
				
			||||||
 | 
							</el-drawer>
 | 
				
			||||||
 | 
							<!-- 新增 -->
 | 
				
			||||||
 | 
							<energy-statistics-det-add
 | 
				
			||||||
 | 
								ref="energyStatistics"
 | 
				
			||||||
 | 
								@closeDet="closeDet" />
 | 
				
			||||||
 | 
						</div>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import { getEnergyStatisticsDetPage, deleteEnergyStatisticsDet, deleteMany } from '@/api/monitoring/energyStatisticsDet'
 | 
					import {
 | 
				
			||||||
import EnergyStatisticsDetAdd from './energyStatisticsDetAdd'
 | 
						getEnergyStatisticsDetPage,
 | 
				
			||||||
import { publicFormatter } from '@/utils/dict'
 | 
						deleteEnergyStatisticsDet,
 | 
				
			||||||
 | 
						deleteMany,
 | 
				
			||||||
 | 
					} from '@/api/monitoring/energyStatisticsDet';
 | 
				
			||||||
 | 
					import EnergyStatisticsDetAdd from './energyStatisticsDetAdd';
 | 
				
			||||||
 | 
					import { publicFormatter } from '@/utils/dict';
 | 
				
			||||||
const tableProps = [
 | 
					const tableProps = [
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'objName',
 | 
							prop: 'objName',
 | 
				
			||||||
    label: '所属对象'
 | 
							label: '所属对象',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'objCode',
 | 
							prop: 'objCode',
 | 
				
			||||||
    label: '对象编码'
 | 
							label: '对象编码',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'paramName',
 | 
							prop: 'paramName',
 | 
				
			||||||
    label: '参数名称'
 | 
							label: '参数名称',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'unit',
 | 
							prop: 'unit',
 | 
				
			||||||
    label: '单位',
 | 
							label: '单位',
 | 
				
			||||||
    filter: publicFormatter('energy_unit')
 | 
							filter: publicFormatter('unit_dict'),
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'desc',
 | 
							prop: 'desc',
 | 
				
			||||||
    label: '描述'
 | 
							label: '描述',
 | 
				
			||||||
  }
 | 
						},
 | 
				
			||||||
]
 | 
					];
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: 'EnergyStatisticsDet',
 | 
						name: 'EnergyStatisticsDet',
 | 
				
			||||||
  props: {
 | 
						props: {
 | 
				
			||||||
    energyTypeList: {
 | 
							energyTypeList: {
 | 
				
			||||||
      type: Array,
 | 
								type: Array,
 | 
				
			||||||
      required: true,
 | 
								required: true,
 | 
				
			||||||
      default: () => {
 | 
								default: () => {
 | 
				
			||||||
        return []
 | 
									return [];
 | 
				
			||||||
      }
 | 
								},
 | 
				
			||||||
    }
 | 
							},
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  data() {
 | 
						data() {
 | 
				
			||||||
    return {
 | 
							return {
 | 
				
			||||||
      visible: false,
 | 
								visible: false,
 | 
				
			||||||
      drawerTitle: '',
 | 
								drawerTitle: '',
 | 
				
			||||||
      tableProps,
 | 
								tableProps,
 | 
				
			||||||
      tableData: [],
 | 
								tableData: [],
 | 
				
			||||||
      tableBtn: [],
 | 
								tableBtn: [],
 | 
				
			||||||
      tableH: this.tableHeight(115),
 | 
								tableH: this.tableHeight(115),
 | 
				
			||||||
      total: 0,
 | 
								total: 0,
 | 
				
			||||||
      queryParams: {
 | 
								queryParams: {
 | 
				
			||||||
        pageNo: 1,
 | 
									pageNo: 1,
 | 
				
			||||||
        pageSize: 30,
 | 
									pageSize: 30,
 | 
				
			||||||
        statisticsId: null
 | 
									statisticsId: null,
 | 
				
			||||||
      },
 | 
								},
 | 
				
			||||||
      name: '',
 | 
								name: '',
 | 
				
			||||||
      energyType: '',
 | 
								energyTypeLabel: '',
 | 
				
			||||||
      energyTypeId: '',
 | 
								energyTypeId: '',
 | 
				
			||||||
      // 弹出层标题
 | 
								// 弹出层标题
 | 
				
			||||||
      addOrEditTitle: "",
 | 
								addOrEditTitle: '',
 | 
				
			||||||
      // 是否显示弹出层
 | 
								// 是否显示弹出层
 | 
				
			||||||
      centervisible: false,
 | 
								centervisible: false,
 | 
				
			||||||
      collectionList: [
 | 
								collectionList: [
 | 
				
			||||||
        {value: 0,label: '否'},
 | 
									{ value: 0, label: '否' },
 | 
				
			||||||
        {value: 1,label: '是'}
 | 
									{ value: 1, label: '是' },
 | 
				
			||||||
      ],
 | 
								],
 | 
				
			||||||
      showBtn: true,
 | 
								showBtn: true,
 | 
				
			||||||
      selectedList: []
 | 
								selectedList: [],
 | 
				
			||||||
    }
 | 
							};
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  components: { EnergyStatisticsDetAdd },
 | 
						components: { EnergyStatisticsDetAdd },
 | 
				
			||||||
  created() {
 | 
						created() {
 | 
				
			||||||
    window.addEventListener('resize', () => {
 | 
							window.addEventListener('resize', () => {
 | 
				
			||||||
      this.tableH = this.tableHeight(115)
 | 
								this.tableH = this.tableHeight(115);
 | 
				
			||||||
    })
 | 
							});
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  methods: {
 | 
						methods: {
 | 
				
			||||||
    init(data,title) {
 | 
							init(data, title) {
 | 
				
			||||||
      this.visible = true
 | 
								this.visible = true;
 | 
				
			||||||
      this.queryParams.statisticsId = data.id
 | 
								this.queryParams.statisticsId = data.id;
 | 
				
			||||||
      this.name = data.name
 | 
								this.name = data.name;
 | 
				
			||||||
      this.energyType = data.energyType
 | 
								this.energyTypeLabel = data.energyTypeLabel;
 | 
				
			||||||
      this.energyTypeId = data.energyTypeId
 | 
								this.energyTypeId = data.energyTypeId;
 | 
				
			||||||
      this.getList()
 | 
								this.getList();
 | 
				
			||||||
      if (title === 'detail') {
 | 
								if (title === 'detail') {
 | 
				
			||||||
        this.drawerTitle = '查看参数'
 | 
									this.drawerTitle = '查看参数';
 | 
				
			||||||
        this.showBtn = false
 | 
									this.showBtn = false;
 | 
				
			||||||
        this.tableBtn = []
 | 
									this.tableBtn = [];
 | 
				
			||||||
      } else {
 | 
								} else {
 | 
				
			||||||
        this.drawerTitle = '参数绑定'
 | 
									this.drawerTitle = '参数绑定';
 | 
				
			||||||
        this.showBtn = true
 | 
									this.showBtn = true;
 | 
				
			||||||
        this.tableBtn = [
 | 
									this.tableBtn = [
 | 
				
			||||||
          {
 | 
										{
 | 
				
			||||||
            type: 'delete',
 | 
											type: 'delete',
 | 
				
			||||||
            btnName: '删除'
 | 
											btnName: '删除',
 | 
				
			||||||
          }
 | 
										},
 | 
				
			||||||
        ]
 | 
									];
 | 
				
			||||||
      }
 | 
								}
 | 
				
			||||||
    },
 | 
							},
 | 
				
			||||||
    getList() {
 | 
							getList() {
 | 
				
			||||||
      console.log(this.queryParams)
 | 
								console.log(this.queryParams);
 | 
				
			||||||
      getEnergyStatisticsDetPage({...this.queryParams}).then((res) => {
 | 
								getEnergyStatisticsDetPage({ ...this.queryParams }).then((res) => {
 | 
				
			||||||
        let arr = res.data.list || []
 | 
									let arr = res.data.list || [];
 | 
				
			||||||
        arr&&arr.map(item => {
 | 
									arr &&
 | 
				
			||||||
          this.collectionList.map(i => {
 | 
										arr.map((item) => {
 | 
				
			||||||
            if (item.collection === i.value) {
 | 
											this.collectionList.map((i) => {
 | 
				
			||||||
              item.collection = i.label
 | 
												if (item.collection === i.value) {
 | 
				
			||||||
            }
 | 
													item.collection = i.label;
 | 
				
			||||||
          })
 | 
												}
 | 
				
			||||||
          this.energyTypeList.map(j => {
 | 
											});
 | 
				
			||||||
            if (item.typeId === j.id) {
 | 
											this.energyTypeList.map((j) => {
 | 
				
			||||||
              item.typeId = j.name
 | 
												if (item.typeId === j.id) {
 | 
				
			||||||
            }
 | 
													item.typeId = j.name;
 | 
				
			||||||
          })
 | 
												}
 | 
				
			||||||
        })
 | 
											});
 | 
				
			||||||
        this.tableData = arr
 | 
										});
 | 
				
			||||||
        this.total = res.data.total;
 | 
									this.tableData = arr;
 | 
				
			||||||
      })
 | 
									this.total = res.data.total;
 | 
				
			||||||
    },
 | 
								});
 | 
				
			||||||
    // 新增
 | 
							},
 | 
				
			||||||
    addNew() {
 | 
							// 新增
 | 
				
			||||||
      this.$nextTick(() => {
 | 
							addNew() {
 | 
				
			||||||
        this.$refs.energyStatistics.init({'statisticsId': this.queryParams.statisticsId, energyTypeId:this.energyTypeId})
 | 
								this.$nextTick(() => {
 | 
				
			||||||
      })
 | 
									this.$refs.energyStatistics.init({
 | 
				
			||||||
    },
 | 
										statisticsId: this.queryParams.statisticsId,
 | 
				
			||||||
    selectChange(val) {
 | 
										energyTypeId: this.energyTypeId,
 | 
				
			||||||
      console.log(val)
 | 
									});
 | 
				
			||||||
      this.selectedList = val
 | 
								});
 | 
				
			||||||
    },
 | 
							},
 | 
				
			||||||
    // 批量删除
 | 
							selectChange(val) {
 | 
				
			||||||
    deleteAll() {
 | 
								console.log(val);
 | 
				
			||||||
      let arr = []
 | 
								this.selectedList = val;
 | 
				
			||||||
      if (this.selectedList.length === 0) {
 | 
							},
 | 
				
			||||||
        this.$modal.msgWarning("请选勾选数据")
 | 
							// 批量删除
 | 
				
			||||||
        return false
 | 
							deleteAll() {
 | 
				
			||||||
      } else {
 | 
								let arr = [];
 | 
				
			||||||
        this.selectedList.map((item) => {
 | 
								if (this.selectedList.length === 0) {
 | 
				
			||||||
          arr.push(item.id)
 | 
									this.$modal.msgWarning('请选勾选数据');
 | 
				
			||||||
        })
 | 
									return false;
 | 
				
			||||||
      }
 | 
								} else {
 | 
				
			||||||
      this.$modal.confirm('是否确认删除所有勾选的数据项?').then(function() {
 | 
									this.selectedList.map((item) => {
 | 
				
			||||||
          return deleteMany(arr);
 | 
										arr.push(item.id);
 | 
				
			||||||
        }).then(() => {
 | 
									});
 | 
				
			||||||
          this.queryParams.pageNo = 1
 | 
								}
 | 
				
			||||||
          this.getList()
 | 
								this.$modal
 | 
				
			||||||
          this.$modal.msgSuccess("删除成功")
 | 
									.confirm('是否确认删除所有勾选的数据项?')
 | 
				
			||||||
        }).catch(() => {})
 | 
									.then(function () {
 | 
				
			||||||
    },
 | 
										return deleteMany(arr);
 | 
				
			||||||
    handleCancel() {
 | 
									})
 | 
				
			||||||
      this.$refs.energyStatistics.formClear()
 | 
									.then(() => {
 | 
				
			||||||
      this.centervisible = false
 | 
										this.queryParams.pageNo = 1;
 | 
				
			||||||
      this.addOrEditTitle = ''
 | 
										this.getList();
 | 
				
			||||||
    },
 | 
										this.$modal.msgSuccess('删除成功');
 | 
				
			||||||
    handleConfirm() {
 | 
									})
 | 
				
			||||||
      this.$refs.energyStatistics.submitForm()
 | 
									.catch(() => {});
 | 
				
			||||||
    },
 | 
							},
 | 
				
			||||||
    successSubmit() {
 | 
							handleCancel() {
 | 
				
			||||||
      this.handleCancel()
 | 
								this.$refs.energyStatistics.formClear();
 | 
				
			||||||
      this.getList()
 | 
								this.centervisible = false;
 | 
				
			||||||
    },
 | 
								this.addOrEditTitle = '';
 | 
				
			||||||
    handleClick(val) {
 | 
							},
 | 
				
			||||||
      this.handleDelete(val.data)
 | 
							handleConfirm() {
 | 
				
			||||||
    },
 | 
								this.$refs.energyStatistics.submitForm();
 | 
				
			||||||
    /** 删除按钮操作 */
 | 
							},
 | 
				
			||||||
    handleDelete(row) {
 | 
							successSubmit() {
 | 
				
			||||||
      this.$modal.confirm('是否确认删除参数列名为"' + row.paramName + '"的数据项?').then(function() {
 | 
								this.handleCancel();
 | 
				
			||||||
          return deleteEnergyStatisticsDet(row.id);
 | 
								this.getList();
 | 
				
			||||||
        }).then(() => {
 | 
							},
 | 
				
			||||||
          this.queryParams.pageNo = 1
 | 
							handleClick(val) {
 | 
				
			||||||
          this.getList()
 | 
								this.handleDelete(val.data);
 | 
				
			||||||
          this.$modal.msgSuccess("删除成功")
 | 
							},
 | 
				
			||||||
        }).catch(() => {})
 | 
							/** 删除按钮操作 */
 | 
				
			||||||
    },
 | 
							handleDelete(row) {
 | 
				
			||||||
    closeD() {
 | 
								this.$modal
 | 
				
			||||||
      this.$emit('closeDrawer')
 | 
									.confirm('是否确认删除参数列名为"' + row.paramName + '"的数据项?')
 | 
				
			||||||
    },
 | 
									.then(function () {
 | 
				
			||||||
    closeDet() {  // 关闭新增框
 | 
										return deleteEnergyStatisticsDet(row.id);
 | 
				
			||||||
      this.getList()
 | 
									})
 | 
				
			||||||
    }
 | 
									.then(() => {
 | 
				
			||||||
  }
 | 
										this.queryParams.pageNo = 1;
 | 
				
			||||||
}
 | 
										this.getList();
 | 
				
			||||||
 | 
										this.$modal.msgSuccess('删除成功');
 | 
				
			||||||
 | 
									})
 | 
				
			||||||
 | 
									.catch(() => {});
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							closeD() {
 | 
				
			||||||
 | 
								this.$emit('closeDrawer');
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							closeDet() {
 | 
				
			||||||
 | 
								// 关闭新增框
 | 
				
			||||||
 | 
								this.getList();
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
<style lang="scss" scoped>
 | 
					<style lang="scss" scoped>
 | 
				
			||||||
.box {
 | 
					.box {
 | 
				
			||||||
  padding: 0 32px;
 | 
						padding: 0 32px;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
</style>
 | 
					</style>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,179 +1,178 @@
 | 
				
			|||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <el-drawer
 | 
						<el-drawer
 | 
				
			||||||
    title="新增"
 | 
							title="新增"
 | 
				
			||||||
    :visible.sync="centervisible"
 | 
							:visible.sync="centervisible"
 | 
				
			||||||
    size="60%"
 | 
							size="60%"
 | 
				
			||||||
    @close='closeA'
 | 
							@close="closeA"
 | 
				
			||||||
    :show-close='false'>
 | 
							:show-close="false">
 | 
				
			||||||
    <div class="box">
 | 
							<div class="box">
 | 
				
			||||||
      <!-- 搜索工作栏 -->
 | 
								<!-- 搜索工作栏 -->
 | 
				
			||||||
      <search-bar
 | 
								<search-bar
 | 
				
			||||||
        :formConfigs="formConfig"
 | 
									:formConfigs="formConfig"
 | 
				
			||||||
        ref="searchBarForm"
 | 
									ref="searchBarForm"
 | 
				
			||||||
        :removeBlue='true'
 | 
									:removeBlue="true"
 | 
				
			||||||
        @headBtnClick="buttonClick"
 | 
									@headBtnClick="buttonClick" />
 | 
				
			||||||
      />
 | 
								<!-- 列表 -->
 | 
				
			||||||
      <!-- 列表 -->
 | 
								<base-table
 | 
				
			||||||
      <base-table
 | 
									:page="queryParams.pageNo"
 | 
				
			||||||
        :page="queryParams.pageNo"
 | 
									:limit="queryParams.pageSize"
 | 
				
			||||||
        :limit="queryParams.pageSize"
 | 
									:table-props="tableProps"
 | 
				
			||||||
        :table-props="tableProps"
 | 
									:table-data="list"
 | 
				
			||||||
        :table-data="list"
 | 
									:max-height="tableH"
 | 
				
			||||||
        :max-height="tableH"
 | 
									:selectWidth="55"
 | 
				
			||||||
        :selectWidth="55"
 | 
									@selection-change="selectChange"></base-table>
 | 
				
			||||||
        @selection-change="selectChange"
 | 
								<pagination
 | 
				
			||||||
      >
 | 
									:page.sync="queryParams.pageNo"
 | 
				
			||||||
      </base-table>
 | 
									:limit.sync="queryParams.pageSize"
 | 
				
			||||||
      <pagination
 | 
									:total="total"
 | 
				
			||||||
        :page.sync="queryParams.pageNo"
 | 
									@pagination="getList" />
 | 
				
			||||||
        :limit.sync="queryParams.pageSize"
 | 
							</div>
 | 
				
			||||||
        :total="total"
 | 
						</el-drawer>
 | 
				
			||||||
        @pagination="getList"
 | 
					 | 
				
			||||||
      />
 | 
					 | 
				
			||||||
    </div>
 | 
					 | 
				
			||||||
  </el-drawer>
 | 
					 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import { addParamPage, createEnergyStatisticsDet } from '@/api/monitoring/energyStatisticsDet'
 | 
					import {
 | 
				
			||||||
import { publicFormatter } from '@/utils/dict'
 | 
						addParamPage,
 | 
				
			||||||
 | 
						createEnergyStatisticsDet,
 | 
				
			||||||
 | 
					} from '@/api/monitoring/energyStatisticsDet';
 | 
				
			||||||
 | 
					import { publicFormatter } from '@/utils/dict';
 | 
				
			||||||
const tableProps = [
 | 
					const tableProps = [
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'objName',
 | 
							prop: 'objName',
 | 
				
			||||||
    label: '所属对象'
 | 
							label: '所属对象',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'objCode',
 | 
							prop: 'objCode',
 | 
				
			||||||
    label: '对象编码'
 | 
							label: '对象编码',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'paramName',
 | 
							prop: 'paramName',
 | 
				
			||||||
    label: '参数名称'
 | 
							label: '参数名称',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'unit',
 | 
							prop: 'unit',
 | 
				
			||||||
    label: '单位',
 | 
							label: '单位',
 | 
				
			||||||
    filter: publicFormatter('energy_unit')
 | 
							filter: publicFormatter('unit_dict'),
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'desc',
 | 
							prop: 'desc',
 | 
				
			||||||
    label: '描述'
 | 
							label: '描述',
 | 
				
			||||||
  }
 | 
						},
 | 
				
			||||||
]
 | 
					];
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: 'EnergyStatisticsDetAdd',
 | 
						name: 'EnergyStatisticsDetAdd',
 | 
				
			||||||
  data() {
 | 
						data() {
 | 
				
			||||||
    return {
 | 
							return {
 | 
				
			||||||
      centervisible: false,
 | 
								centervisible: false,
 | 
				
			||||||
      formConfig: [
 | 
								formConfig: [
 | 
				
			||||||
        {
 | 
									{
 | 
				
			||||||
          type: 'select',
 | 
										type: 'select',
 | 
				
			||||||
          label: '对象类型',
 | 
										label: '对象类型',
 | 
				
			||||||
          selectOptions: this.getDictDatas(this.DICT_TYPE.OBJECT_TYPE),
 | 
										selectOptions: this.getDictDatas(this.DICT_TYPE.OBJECT_TYPE),
 | 
				
			||||||
          labelField: 'label',
 | 
										labelField: 'label',
 | 
				
			||||||
          valueField: 'value',
 | 
										valueField: 'value',
 | 
				
			||||||
          param: 'objType'
 | 
										param: 'objType',
 | 
				
			||||||
        },
 | 
									},
 | 
				
			||||||
        {
 | 
									{
 | 
				
			||||||
          type: 'input',
 | 
										type: 'input',
 | 
				
			||||||
          label: '参数名称',
 | 
										label: '参数名称',
 | 
				
			||||||
          placeholder: '参数名称',
 | 
										placeholder: '参数名称',
 | 
				
			||||||
          param: 'paramName'
 | 
										param: 'paramName',
 | 
				
			||||||
        },
 | 
									},
 | 
				
			||||||
        {
 | 
									{
 | 
				
			||||||
          type: 'button',
 | 
										type: 'button',
 | 
				
			||||||
          btnName: '查询',
 | 
										btnName: '查询',
 | 
				
			||||||
          name: 'search',
 | 
										name: 'search',
 | 
				
			||||||
          color: 'primary'
 | 
										color: 'primary',
 | 
				
			||||||
        },
 | 
									},
 | 
				
			||||||
        {
 | 
									{
 | 
				
			||||||
          type: 'separate'
 | 
										type: 'separate',
 | 
				
			||||||
        },
 | 
									},
 | 
				
			||||||
        {
 | 
									{
 | 
				
			||||||
          type: 'button',
 | 
										type: 'button',
 | 
				
			||||||
          btnName: '关联',
 | 
										btnName: '关联',
 | 
				
			||||||
          name: 'add',
 | 
										name: 'add',
 | 
				
			||||||
          color: 'primary',
 | 
										color: 'primary',
 | 
				
			||||||
          plain: true
 | 
										plain: true,
 | 
				
			||||||
        }
 | 
									},
 | 
				
			||||||
      ],
 | 
								],
 | 
				
			||||||
      queryParams: {
 | 
								queryParams: {
 | 
				
			||||||
        pageNo: 1,
 | 
									pageNo: 1,
 | 
				
			||||||
        pageSize: 20,
 | 
									pageSize: 20,
 | 
				
			||||||
        energyTypeId: null,
 | 
									energyTypeId: null,
 | 
				
			||||||
        statisticId: null,
 | 
									statisticId: null,
 | 
				
			||||||
        paramName: '',
 | 
									paramName: '',
 | 
				
			||||||
        objType: ''
 | 
									objType: '',
 | 
				
			||||||
      },
 | 
								},
 | 
				
			||||||
      tableProps,
 | 
								tableProps,
 | 
				
			||||||
      list: [],
 | 
								list: [],
 | 
				
			||||||
      total: 0,
 | 
								total: 0,
 | 
				
			||||||
      tableH: this.tableHeight(260),
 | 
								tableH: this.tableHeight(260),
 | 
				
			||||||
      selectedList: []
 | 
								selectedList: [],
 | 
				
			||||||
    }
 | 
							};
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  methods: {
 | 
						methods: {
 | 
				
			||||||
    init(param) {
 | 
							init(param) {
 | 
				
			||||||
      this.queryParams.statisticId = param.statisticsId
 | 
								this.queryParams.statisticId = param.statisticsId;
 | 
				
			||||||
      this.queryParams.energyTypeId = param.energyTypeId
 | 
								this.queryParams.energyTypeId = param.energyTypeId;
 | 
				
			||||||
      window.addEventListener('resize', () => {
 | 
								window.addEventListener('resize', () => {
 | 
				
			||||||
        this.tableH = this.tableHeight(260)
 | 
									this.tableH = this.tableHeight(260);
 | 
				
			||||||
      })
 | 
								});
 | 
				
			||||||
      this.centervisible = true
 | 
								this.centervisible = true;
 | 
				
			||||||
      this.getList()
 | 
								this.getList();
 | 
				
			||||||
    },
 | 
							},
 | 
				
			||||||
    getList() {
 | 
							getList() {
 | 
				
			||||||
      addParamPage({...this.queryParams}).then((res) => {
 | 
								addParamPage({ ...this.queryParams }).then((res) => {
 | 
				
			||||||
        this.list = res.data.list || []
 | 
									this.list = res.data.list || [];
 | 
				
			||||||
        this.total = res.data.total
 | 
									this.total = res.data.total;
 | 
				
			||||||
      })
 | 
								});
 | 
				
			||||||
    },
 | 
							},
 | 
				
			||||||
    buttonClick(val) {
 | 
							buttonClick(val) {
 | 
				
			||||||
      switch (val.btnName) {
 | 
								switch (val.btnName) {
 | 
				
			||||||
        case 'search':
 | 
									case 'search':
 | 
				
			||||||
          this.queryParams.pageNo = 1;
 | 
										this.queryParams.pageNo = 1;
 | 
				
			||||||
          this.queryParams.objType = val.objType
 | 
										this.queryParams.objType = val.objType;
 | 
				
			||||||
          this.queryParams.paramName = val.paramName
 | 
										this.queryParams.paramName = val.paramName;
 | 
				
			||||||
          this.getList()
 | 
										this.getList();
 | 
				
			||||||
          break
 | 
										break;
 | 
				
			||||||
        default:
 | 
									default:
 | 
				
			||||||
          // 关联
 | 
										// 关联
 | 
				
			||||||
          this.connectParam()
 | 
										this.connectParam();
 | 
				
			||||||
      }
 | 
								}
 | 
				
			||||||
    },
 | 
							},
 | 
				
			||||||
    // 选中数据
 | 
							// 选中数据
 | 
				
			||||||
    selectChange(val) {
 | 
							selectChange(val) {
 | 
				
			||||||
      this.selectedList = val
 | 
								this.selectedList = val;
 | 
				
			||||||
    },
 | 
							},
 | 
				
			||||||
    // 关联
 | 
							// 关联
 | 
				
			||||||
    connectParam() {
 | 
							connectParam() {
 | 
				
			||||||
      let param = {
 | 
								let param = {
 | 
				
			||||||
        statisticsId: this.queryParams.statisticId,
 | 
									statisticsId: this.queryParams.statisticId,
 | 
				
			||||||
        plcParamIds: []
 | 
									plcParamIds: [],
 | 
				
			||||||
      }
 | 
								};
 | 
				
			||||||
      if (this.selectedList.length === 0) {
 | 
								if (this.selectedList.length === 0) {
 | 
				
			||||||
        this.$modal.msgWarning("请选勾选数据")
 | 
									this.$modal.msgWarning('请选勾选数据');
 | 
				
			||||||
        return false
 | 
									return false;
 | 
				
			||||||
      } else {
 | 
								} else {
 | 
				
			||||||
        this.selectedList.map((item) => {
 | 
									this.selectedList.map((item) => {
 | 
				
			||||||
          param.plcParamIds.push(item.id)
 | 
										param.plcParamIds.push(item.id);
 | 
				
			||||||
        })
 | 
									});
 | 
				
			||||||
      }
 | 
								}
 | 
				
			||||||
      createEnergyStatisticsDet({...param}).then((res) => {
 | 
								createEnergyStatisticsDet({ ...param }).then((res) => {
 | 
				
			||||||
        if (res.code === 0) {
 | 
									if (res.code === 0) {
 | 
				
			||||||
          this.$modal.msgSuccess("操作成功");
 | 
										this.$modal.msgSuccess('操作成功');
 | 
				
			||||||
          this.queryParams.pageNo = 1;
 | 
										this.queryParams.pageNo = 1;
 | 
				
			||||||
          this.getList()
 | 
										this.getList();
 | 
				
			||||||
        }
 | 
									}
 | 
				
			||||||
      })
 | 
								});
 | 
				
			||||||
    },
 | 
							},
 | 
				
			||||||
    closeA() {
 | 
							closeA() {
 | 
				
			||||||
      this.$emit('closeDet')
 | 
								this.$emit('closeDet');
 | 
				
			||||||
    }
 | 
							},
 | 
				
			||||||
  }
 | 
						},
 | 
				
			||||||
}
 | 
					};
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
<style lang="scss" scoped>
 | 
					<style lang="scss" scoped>
 | 
				
			||||||
.box {
 | 
					.box {
 | 
				
			||||||
  padding: 0 32px;
 | 
						padding: 0 32px;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
</style>
 | 
					</style>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -53,6 +53,7 @@ import { publicFormatter } from '@/utils/dict';
 | 
				
			|||||||
import { getEnergyTypeListAll } from '@/api/base/energyType';
 | 
					import { getEnergyTypeListAll } from '@/api/base/energyType';
 | 
				
			||||||
import EnergyStatisticsAdd from './components/energyStatisticsAdd';
 | 
					import EnergyStatisticsAdd from './components/energyStatisticsAdd';
 | 
				
			||||||
import EnergyStatisticsDet from './components/energyStatisticsDet';
 | 
					import EnergyStatisticsDet from './components/energyStatisticsDet';
 | 
				
			||||||
 | 
					import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
 | 
				
			||||||
const tableProps = [
 | 
					const tableProps = [
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		prop: 'name',
 | 
							prop: 'name',
 | 
				
			||||||
@@ -70,9 +71,9 @@ const tableProps = [
 | 
				
			|||||||
		filter: publicFormatter('statistic_type'),
 | 
							filter: publicFormatter('statistic_type'),
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		prop: 'energyType',
 | 
							prop: 'energyTypeLabel',
 | 
				
			||||||
		label: '能源类型',
 | 
							label: '能源类型',
 | 
				
			||||||
		filter: publicFormatter('energy_type'),
 | 
							showOverflowtooltip: true,
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		prop: 'paramNum',
 | 
							prop: 'paramNum',
 | 
				
			||||||
@@ -86,6 +87,7 @@ const tableProps = [
 | 
				
			|||||||
export default {
 | 
					export default {
 | 
				
			||||||
	name: 'EnergyStatistics',
 | 
						name: 'EnergyStatistics',
 | 
				
			||||||
	components: { EnergyStatisticsAdd, EnergyStatisticsDet },
 | 
						components: { EnergyStatisticsAdd, EnergyStatisticsDet },
 | 
				
			||||||
 | 
						mixins: [tableHeightMixin],
 | 
				
			||||||
	data() {
 | 
						data() {
 | 
				
			||||||
		return {
 | 
							return {
 | 
				
			||||||
			formConfig: [
 | 
								formConfig: [
 | 
				
			||||||
@@ -139,7 +141,6 @@ export default {
 | 
				
			|||||||
					  }
 | 
										  }
 | 
				
			||||||
					: undefined,
 | 
										: undefined,
 | 
				
			||||||
			].filter((v) => v),
 | 
								].filter((v) => v),
 | 
				
			||||||
			tableH: this.tableHeight(260),
 | 
					 | 
				
			||||||
			// 总条数
 | 
								// 总条数
 | 
				
			||||||
			total: 0,
 | 
								total: 0,
 | 
				
			||||||
			// 班次基础信息列表
 | 
								// 班次基础信息列表
 | 
				
			||||||
@@ -158,9 +159,6 @@ export default {
 | 
				
			|||||||
		};
 | 
							};
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	created() {
 | 
						created() {
 | 
				
			||||||
		window.addEventListener('resize', () => {
 | 
					 | 
				
			||||||
			this.tableH = this.tableHeight(260);
 | 
					 | 
				
			||||||
		});
 | 
					 | 
				
			||||||
		this.getList();
 | 
							this.getList();
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	mounted() {
 | 
						mounted() {
 | 
				
			||||||
@@ -187,6 +185,13 @@ export default {
 | 
				
			|||||||
		getList() {
 | 
							getList() {
 | 
				
			||||||
			getEnergyStatisticsPage(this.queryParams).then((response) => {
 | 
								getEnergyStatisticsPage(this.queryParams).then((response) => {
 | 
				
			||||||
				let arr = response.data.list || [];
 | 
									let arr = response.data.list || [];
 | 
				
			||||||
 | 
									arr.map((item) => {
 | 
				
			||||||
 | 
										this.getDictDatas('energy_type').map((subItem) => {
 | 
				
			||||||
 | 
											if (item.energyType === subItem.value) {
 | 
				
			||||||
 | 
												item.energyTypeLabel = subItem.label;
 | 
				
			||||||
 | 
											}
 | 
				
			||||||
 | 
										});
 | 
				
			||||||
 | 
									});
 | 
				
			||||||
				this.list = arr;
 | 
									this.list = arr;
 | 
				
			||||||
				this.total = response.data.total;
 | 
									this.total = response.data.total;
 | 
				
			||||||
			});
 | 
								});
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,271 +1,289 @@
 | 
				
			|||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <div class="orderEnergyContainer">
 | 
						<div class="orderEnergyContainer">
 | 
				
			||||||
    <div class="box1">
 | 
							<div class="box1">
 | 
				
			||||||
      <!-- 搜索工作栏 -->
 | 
								<!-- 搜索工作栏 -->
 | 
				
			||||||
      <search-bar
 | 
								<search-bar
 | 
				
			||||||
        :formConfigs="formConfig"
 | 
									:formConfigs="formConfig"
 | 
				
			||||||
        ref="searchBarForm"
 | 
									ref="searchBarForm"
 | 
				
			||||||
        @headBtnClick="buttonClick"
 | 
									@headBtnClick="buttonClick" />
 | 
				
			||||||
      />
 | 
							</div>
 | 
				
			||||||
    </div>
 | 
							<div class="box2">
 | 
				
			||||||
    <div class="box2">
 | 
								<div class="boxTitle">
 | 
				
			||||||
      <div class="boxTitle">
 | 
									<span class="blueTitle"></span>
 | 
				
			||||||
        <span class="blueTitle"></span>
 | 
									<span>工单信息</span>
 | 
				
			||||||
        <span>工单信息</span>
 | 
								</div>
 | 
				
			||||||
      </div>
 | 
								<el-row>
 | 
				
			||||||
      <el-row>
 | 
									<el-col :span="4">
 | 
				
			||||||
        <el-col :span='4'>
 | 
										<div class="blodTip">工单名称</div>
 | 
				
			||||||
          <div class="blodTip">工单名称</div>
 | 
										<div class="lightTip">{{ orderMsg.name }}</div>
 | 
				
			||||||
          <div class="lightTip">{{ orderMsg.name }}</div>
 | 
									</el-col>
 | 
				
			||||||
        </el-col>
 | 
									<el-col :span="4">
 | 
				
			||||||
        <el-col :span='4'>
 | 
										<div class="blodTip">产品名称</div>
 | 
				
			||||||
          <div class="blodTip">产品名称</div>
 | 
										<div class="lightTip">{{ orderMsg.productName }}</div>
 | 
				
			||||||
          <div class="lightTip">{{orderMsg.productName }}</div>
 | 
									</el-col>
 | 
				
			||||||
        </el-col>
 | 
									<el-col :span="4">
 | 
				
			||||||
        <el-col :span='4'>
 | 
										<div class="blodTip">计划完成数量</div>
 | 
				
			||||||
          <div class="blodTip">计划完成数量</div>
 | 
										<div class="lightTip">{{ orderMsg.planQuantity }}</div>
 | 
				
			||||||
          <div class="lightTip">{{orderMsg.planQuantity }}</div>
 | 
									</el-col>
 | 
				
			||||||
        </el-col>
 | 
									<el-col :span="4">
 | 
				
			||||||
        <el-col :span='4'>
 | 
										<div class="blodTip">实际开始时间</div>
 | 
				
			||||||
          <div class="blodTip">实际开始时间</div>
 | 
										<div class="lightTip">{{ parseTime(orderMsg.startProduceTime) }}</div>
 | 
				
			||||||
          <div class="lightTip">{{ parseTime(orderMsg.startProduceTime) }}</div>
 | 
									</el-col>
 | 
				
			||||||
        </el-col>
 | 
									<el-col :span="4">
 | 
				
			||||||
        <el-col :span='4'>
 | 
										<div class="blodTip">实际完成时间</div>
 | 
				
			||||||
          <div class="blodTip">实际完成时间</div>
 | 
										<div class="lightTip">
 | 
				
			||||||
          <div class="lightTip">{{ parseTime(orderMsg.finishProduceTime) }}</div>
 | 
											{{ parseTime(orderMsg.finishProduceTime) }}
 | 
				
			||||||
        </el-col>
 | 
										</div>
 | 
				
			||||||
        <el-col :span='4'>
 | 
									</el-col>
 | 
				
			||||||
          <div class="blodTip">实际加工数量</div>
 | 
									<el-col :span="4">
 | 
				
			||||||
          <div class="lightTip">{{orderMsg.actualQuantity }}</div>
 | 
										<div class="blodTip">实际加工数量</div>
 | 
				
			||||||
        </el-col>
 | 
										<div class="lightTip">{{ orderMsg.actualQuantity }}</div>
 | 
				
			||||||
      </el-row>
 | 
									</el-col>
 | 
				
			||||||
    </div>
 | 
								</el-row>
 | 
				
			||||||
    <div class="box3">
 | 
							</div>
 | 
				
			||||||
      <div class="boxTitle">
 | 
							<div class="box3">
 | 
				
			||||||
        <span class="blueTitle"></span>
 | 
								<div class="boxTitle">
 | 
				
			||||||
        <span>能耗信息</span>
 | 
									<span class="blueTitle"></span>
 | 
				
			||||||
      </div>
 | 
									<span>能耗信息</span>
 | 
				
			||||||
      <div class="toggleTabBox">
 | 
								</div>
 | 
				
			||||||
        <div :class="{ active: activeModule === 'dataList' }" @click="toggleTab('dataList')">数据列表</div>
 | 
								<div class="toggleTabBox">
 | 
				
			||||||
        <div :class="{ active: activeModule === 'barChart' }" @click="toggleTab('barChart')">柱状图</div>
 | 
									<div
 | 
				
			||||||
      </div>
 | 
										:class="{ active: activeModule === 'dataList' }"
 | 
				
			||||||
      <div>
 | 
										@click="toggleTab('dataList')">
 | 
				
			||||||
        <div  v-show="activeModule === 'dataList'">
 | 
										数据列表
 | 
				
			||||||
          <!-- 表格 -->
 | 
									</div>
 | 
				
			||||||
          <base-table
 | 
									<div
 | 
				
			||||||
            :page="queryParams.pageNo"
 | 
										:class="{ active: activeModule === 'barChart' }"
 | 
				
			||||||
            :limit="queryParams.pageSize"
 | 
										@click="toggleTab('barChart')">
 | 
				
			||||||
            :table-props="tableProps"
 | 
										柱状图
 | 
				
			||||||
            :table-data="tableData"
 | 
									</div>
 | 
				
			||||||
            :max-height="tableH"
 | 
								</div>
 | 
				
			||||||
          />
 | 
								<div>
 | 
				
			||||||
        </div>
 | 
									<div v-show="activeModule === 'dataList'">
 | 
				
			||||||
        <!-- 图形 -->
 | 
										<!-- 表格 -->
 | 
				
			||||||
        <div v-show="activeModule === 'barChart'">
 | 
										<base-table
 | 
				
			||||||
          <bar-chart ref="orderEnergyChart" :chartData="chartData"/>
 | 
											:page="queryParams.pageNo"
 | 
				
			||||||
        </div>
 | 
											:limit="queryParams.pageSize"
 | 
				
			||||||
      </div>
 | 
											:table-props="tableProps"
 | 
				
			||||||
    </div>
 | 
											:table-data="tableData"
 | 
				
			||||||
  </div>
 | 
											:max-height="tableH" />
 | 
				
			||||||
 | 
									</div>
 | 
				
			||||||
 | 
									<!-- 图形 -->
 | 
				
			||||||
 | 
									<div v-show="activeModule === 'barChart'">
 | 
				
			||||||
 | 
										<bar-chart
 | 
				
			||||||
 | 
											ref="orderEnergyChart"
 | 
				
			||||||
 | 
											:chartData="chartData" />
 | 
				
			||||||
 | 
									</div>
 | 
				
			||||||
 | 
								</div>
 | 
				
			||||||
 | 
							</div>
 | 
				
			||||||
 | 
						</div>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
const tableProps = [
 | 
					const tableProps = [
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'objName',
 | 
							prop: 'objName',
 | 
				
			||||||
    label: '对象名称'
 | 
							label: '对象名称',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'objCode',
 | 
							prop: 'objCode',
 | 
				
			||||||
    label: '对象编码'
 | 
							label: '对象编码',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'energyType',
 | 
							prop: 'energyType',
 | 
				
			||||||
    label: '能源类型'
 | 
							label: '能源类型',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'startNum',
 | 
							prop: 'startNum',
 | 
				
			||||||
    label: '工单开始值'
 | 
							label: '工单开始值',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'endNum',
 | 
							prop: 'endNum',
 | 
				
			||||||
    label: '工单结束值/当前值'
 | 
							label: '工单结束值/当前值',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'useNum',
 | 
							prop: 'useNum',
 | 
				
			||||||
    label: '使用量'
 | 
							label: '使用量',
 | 
				
			||||||
  }
 | 
						},
 | 
				
			||||||
]
 | 
					];
 | 
				
			||||||
import { getEnergyTypeListAll } from '@/api/base/energyType'
 | 
					import { getEnergyTypeListAll } from '@/api/base/energyType';
 | 
				
			||||||
import { workOrderList } from '@/api/base/orderManage'
 | 
					import { workOrderList } from '@/api/base/orderManage';
 | 
				
			||||||
import { getWorkOrderMsg, getOrderEnergyData } from '@/api/monitoring/orderEnergy'
 | 
					import {
 | 
				
			||||||
import BarChart from "./components/barChart"
 | 
						getWorkOrderMsg,
 | 
				
			||||||
 | 
						getOrderEnergyData,
 | 
				
			||||||
 | 
					} from '@/api/monitoring/orderEnergy';
 | 
				
			||||||
 | 
					import BarChart from './components/barChart';
 | 
				
			||||||
 | 
					import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: 'OrderEnergy',
 | 
						name: 'OrderEnergy',
 | 
				
			||||||
  data() {
 | 
						mixins: [tableHeightMixin],
 | 
				
			||||||
    return {
 | 
						data() {
 | 
				
			||||||
      formConfig: [
 | 
							return {
 | 
				
			||||||
        {
 | 
								formConfig: [
 | 
				
			||||||
          type: 'select',
 | 
									{
 | 
				
			||||||
          label: '工单',
 | 
										type: 'select',
 | 
				
			||||||
          selectOptions: [],
 | 
										label: '工单',
 | 
				
			||||||
          param: 'workOrderId',
 | 
										selectOptions: [],
 | 
				
			||||||
          clearable: false
 | 
										param: 'workOrderId',
 | 
				
			||||||
        },
 | 
										clearable: false,
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: 'select',
 | 
									{
 | 
				
			||||||
          label: '能源类型',
 | 
										type: 'select',
 | 
				
			||||||
          selectOptions: [],
 | 
										label: '能源类型',
 | 
				
			||||||
          param: 'energyTypeId',
 | 
										selectOptions: [],
 | 
				
			||||||
          filterable: true,
 | 
										param: 'energyTypeId',
 | 
				
			||||||
          width: 120,
 | 
										labelField: 'labelName',
 | 
				
			||||||
          clearable: false
 | 
										filterable: true,
 | 
				
			||||||
        },
 | 
										width: 120,
 | 
				
			||||||
        {
 | 
										clearable: false,
 | 
				
			||||||
          type: 'select',
 | 
									},
 | 
				
			||||||
          label: '对象维度',
 | 
									{
 | 
				
			||||||
          selectOptions: this.getDictDatas(this.DICT_TYPE.OBJECT_TYPE),
 | 
										type: 'select',
 | 
				
			||||||
          labelField: 'label',
 | 
										label: '对象维度',
 | 
				
			||||||
          valueField: 'value',
 | 
										selectOptions: this.getDictDatas(this.DICT_TYPE.OBJECT_TYPE),
 | 
				
			||||||
          param: 'objType',
 | 
										labelField: 'label',
 | 
				
			||||||
          width: 100,
 | 
										valueField: 'value',
 | 
				
			||||||
          clearable: false
 | 
										param: 'objType',
 | 
				
			||||||
        },
 | 
										width: 100,
 | 
				
			||||||
        {
 | 
										clearable: false,
 | 
				
			||||||
          type: 'button',
 | 
									},
 | 
				
			||||||
          btnName: '查询',
 | 
									{
 | 
				
			||||||
          name: 'search',
 | 
										type: 'button',
 | 
				
			||||||
          color: 'primary'
 | 
										btnName: '查询',
 | 
				
			||||||
        }
 | 
										name: 'search',
 | 
				
			||||||
      ],
 | 
										color: 'primary',
 | 
				
			||||||
      tableProps,
 | 
									},
 | 
				
			||||||
      tableData: [],
 | 
								],
 | 
				
			||||||
      tableH: this.tableHeight(400),
 | 
								tableProps,
 | 
				
			||||||
      // 查询参数
 | 
								tableData: [],
 | 
				
			||||||
      queryParams: {
 | 
								heightNum: 400,
 | 
				
			||||||
        workOrderId: '',
 | 
								// 查询参数
 | 
				
			||||||
        objType: '',
 | 
								queryParams: {
 | 
				
			||||||
        energyTypeId: ''
 | 
									workOrderId: '',
 | 
				
			||||||
      },
 | 
									objType: '',
 | 
				
			||||||
      orderMsg: {},
 | 
									energyTypeId: '',
 | 
				
			||||||
      chartData: [],
 | 
								},
 | 
				
			||||||
      activeModule: 'dataList'
 | 
								orderMsg: {},
 | 
				
			||||||
    }
 | 
								chartData: [],
 | 
				
			||||||
  },
 | 
								activeModule: 'dataList',
 | 
				
			||||||
  components: { BarChart },
 | 
							};
 | 
				
			||||||
  mounted() {
 | 
						},
 | 
				
			||||||
    window.addEventListener('resize', () => {
 | 
						components: { BarChart },
 | 
				
			||||||
      this.tableH = this.tableHeight(400)
 | 
						mounted() {
 | 
				
			||||||
    })
 | 
							this.getListArr();
 | 
				
			||||||
    this.getListArr()
 | 
						},
 | 
				
			||||||
  },
 | 
						methods: {
 | 
				
			||||||
  methods: {
 | 
							getListArr() {
 | 
				
			||||||
    getListArr() {
 | 
								workOrderList().then((res) => {
 | 
				
			||||||
      workOrderList().then(res => {
 | 
									this.formConfig[0].selectOptions = res.data || [];
 | 
				
			||||||
        this.formConfig[0].selectOptions = res.data || []
 | 
								});
 | 
				
			||||||
      })
 | 
								getEnergyTypeListAll().then((res) => {
 | 
				
			||||||
      getEnergyTypeListAll().then(res => {
 | 
									this.formConfig[1].selectOptions = res.data || [];
 | 
				
			||||||
        this.formConfig[1].selectOptions = res.data || []
 | 
								});
 | 
				
			||||||
      })
 | 
							},
 | 
				
			||||||
    },
 | 
							buttonClick(val) {
 | 
				
			||||||
    buttonClick(val) {
 | 
								if (!val.workOrderId) {
 | 
				
			||||||
      if (!val.workOrderId) {
 | 
									this.$modal.msgWarning('工单不能为空');
 | 
				
			||||||
        this.$modal.msgWarning('工单不能为空')
 | 
									return false;
 | 
				
			||||||
        return false
 | 
								}
 | 
				
			||||||
      }
 | 
								if (!val.energyTypeId) {
 | 
				
			||||||
      if (!val.energyTypeId) {
 | 
									this.$modal.msgWarning('能源类型不能为空');
 | 
				
			||||||
        this.$modal.msgWarning('能源类型不能为空')
 | 
									return false;
 | 
				
			||||||
        return false
 | 
								}
 | 
				
			||||||
      }
 | 
								if (!val.objType) {
 | 
				
			||||||
      if (!val.objType) {
 | 
									this.$modal.msgWarning('对象维度不能为空');
 | 
				
			||||||
        this.$modal.msgWarning('对象维度不能为空')
 | 
									return false;
 | 
				
			||||||
        return false
 | 
								}
 | 
				
			||||||
      }
 | 
								this.queryParams.workOrderId = val.workOrderId;
 | 
				
			||||||
      this.queryParams.workOrderId = val.workOrderId
 | 
								this.queryParams.objType = val.objType;
 | 
				
			||||||
      this.queryParams.objType = val.objType
 | 
								this.queryParams.energyTypeId = val.energyTypeId;
 | 
				
			||||||
      this.queryParams.energyTypeId = val.energyTypeId
 | 
								getWorkOrderMsg({ ...this.queryParams }).then((res) => {
 | 
				
			||||||
      getWorkOrderMsg({ ...this.queryParams }).then(res => {
 | 
									this.orderMsg = res.data || {};
 | 
				
			||||||
        this.orderMsg = res.data || {}
 | 
									getOrderEnergyData({
 | 
				
			||||||
        getOrderEnergyData({
 | 
										...this.queryParams,
 | 
				
			||||||
          ...this.queryParams,
 | 
										startProduceTime: res.data.startProduceTime || '',
 | 
				
			||||||
          startProduceTime: res.data.startProduceTime	 || '',
 | 
										finishProduceTime: res.data.finishProduceTime || '',
 | 
				
			||||||
          finishProduceTime: res.data.finishProduceTime || ''
 | 
									}).then((result) => {
 | 
				
			||||||
        }).then(result => {
 | 
										this.tableData = result.data || [];
 | 
				
			||||||
          this.tableData = result.data || []
 | 
										this.chartData = result.data || [];
 | 
				
			||||||
          this.chartData = result.data || []
 | 
									});
 | 
				
			||||||
        })
 | 
								});
 | 
				
			||||||
      })
 | 
							},
 | 
				
			||||||
    },
 | 
							toggleTab(val) {
 | 
				
			||||||
    toggleTab(val) {
 | 
								this.activeModule = val;
 | 
				
			||||||
      this.activeModule = val
 | 
								if (this.activeModule === 'barChart') {
 | 
				
			||||||
      if (this.activeModule === 'barChart') {
 | 
									this.$nextTick((res) => {
 | 
				
			||||||
        this.$nextTick((res) => {
 | 
										this.$refs.orderEnergyChart.getChart();
 | 
				
			||||||
          this.$refs.orderEnergyChart.getChart()
 | 
									});
 | 
				
			||||||
        })
 | 
								}
 | 
				
			||||||
      }
 | 
							},
 | 
				
			||||||
    },
 | 
							headBtnClick() {},
 | 
				
			||||||
    headBtnClick() {}
 | 
						},
 | 
				
			||||||
  }
 | 
					};
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
<style lang='scss' scoped>
 | 
					<style lang='scss' scoped>
 | 
				
			||||||
.orderEnergyContainer {
 | 
					.orderEnergyContainer {
 | 
				
			||||||
  background-color: rgb(242, 244, 249);
 | 
						background-color: rgb(242, 244, 249);
 | 
				
			||||||
  .box1, .box2, .box3 {
 | 
						.box1,
 | 
				
			||||||
    background-color: #fff;
 | 
						.box2,
 | 
				
			||||||
    border-radius: 9px;
 | 
						.box3 {
 | 
				
			||||||
  }
 | 
							background-color: #fff;
 | 
				
			||||||
  .box1 {
 | 
							border-radius: 9px;
 | 
				
			||||||
    height: 64px;
 | 
						}
 | 
				
			||||||
    padding: 12px 16px 0;
 | 
						.box1 {
 | 
				
			||||||
  }
 | 
							height: 64px;
 | 
				
			||||||
  .box2 {
 | 
							padding: 12px 16px 0;
 | 
				
			||||||
    height: 122px;
 | 
						}
 | 
				
			||||||
    margin: 8px 0;
 | 
						.box2 {
 | 
				
			||||||
    padding: 16px;
 | 
							height: 122px;
 | 
				
			||||||
    .blodTip {
 | 
							margin: 8px 0;
 | 
				
			||||||
      font-weight: 600;
 | 
							padding: 16px;
 | 
				
			||||||
      color: rgba(0,0,0,0.85);
 | 
							.blodTip {
 | 
				
			||||||
      margin-bottom: 8px;
 | 
								font-weight: 600;
 | 
				
			||||||
    }
 | 
								color: rgba(0, 0, 0, 0.85);
 | 
				
			||||||
    .lightTip {
 | 
								margin-bottom: 8px;
 | 
				
			||||||
      font-weight: 400;
 | 
							}
 | 
				
			||||||
      color: rgba(102,102,102,0.75);
 | 
							.lightTip {
 | 
				
			||||||
    }
 | 
								font-weight: 400;
 | 
				
			||||||
  }
 | 
								color: rgba(102, 102, 102, 0.75);
 | 
				
			||||||
  .box3 {
 | 
								overflow: hidden;
 | 
				
			||||||
    padding: 16px;
 | 
								white-space: nowrap;
 | 
				
			||||||
    height: calc(100vh - 330px);
 | 
								text-overflow: ellipsis;
 | 
				
			||||||
    .toggleTabBox {
 | 
							}
 | 
				
			||||||
      display: inline-block;
 | 
						}
 | 
				
			||||||
      div {
 | 
						.box3 {
 | 
				
			||||||
        display: inline-block;
 | 
							padding: 16px;
 | 
				
			||||||
        padding:0 8px 4px;
 | 
							height: calc(100vh - 330px);
 | 
				
			||||||
        color: rgba(102, 102, 102, 0.5);
 | 
							.toggleTabBox {
 | 
				
			||||||
        border-bottom: 2px solid rgba(242, 244, 249, 1);
 | 
								display: inline-block;
 | 
				
			||||||
        cursor: pointer;
 | 
								div {
 | 
				
			||||||
      }
 | 
									display: inline-block;
 | 
				
			||||||
      .active {
 | 
									padding: 0 8px 4px;
 | 
				
			||||||
        color: rgba(0,0,0,0.85);
 | 
									color: rgba(102, 102, 102, 0.5);
 | 
				
			||||||
        border-bottom-color: #0B58FF;
 | 
									border-bottom: 2px solid rgba(242, 244, 249, 1);
 | 
				
			||||||
      }
 | 
									cursor: pointer;
 | 
				
			||||||
    }
 | 
								}
 | 
				
			||||||
  }
 | 
								.active {
 | 
				
			||||||
  .boxTitle {
 | 
									color: rgba(0, 0, 0, 0.85);
 | 
				
			||||||
    display: inline-block;
 | 
									border-bottom-color: #0b58ff;
 | 
				
			||||||
    font-size: 16px;
 | 
								}
 | 
				
			||||||
    font-weight: 400;
 | 
							}
 | 
				
			||||||
    color: #000000;
 | 
						}
 | 
				
			||||||
    margin:0 10px 20px 0;
 | 
						.boxTitle {
 | 
				
			||||||
  }
 | 
							display: inline-block;
 | 
				
			||||||
  .blueTitle {
 | 
							font-size: 16px;
 | 
				
			||||||
    content: '';
 | 
							font-weight: 400;
 | 
				
			||||||
    display: inline-block;
 | 
							color: #000000;
 | 
				
			||||||
    width: 4px;
 | 
							margin: 0 10px 20px 0;
 | 
				
			||||||
    height: 18px;
 | 
						}
 | 
				
			||||||
    background-color: #0B58FF;
 | 
						.blueTitle {
 | 
				
			||||||
    border-radius: 1px;
 | 
							content: '';
 | 
				
			||||||
    margin-right: 8px;
 | 
							display: inline-block;
 | 
				
			||||||
    vertical-align: bottom;
 | 
							width: 4px;
 | 
				
			||||||
  }
 | 
							height: 18px;
 | 
				
			||||||
 | 
							background-color: #0b58ff;
 | 
				
			||||||
 | 
							border-radius: 1px;
 | 
				
			||||||
 | 
							margin-right: 8px;
 | 
				
			||||||
 | 
							vertical-align: bottom;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
</style>
 | 
					</style>
 | 
				
			||||||
@@ -1,244 +1,292 @@
 | 
				
			|||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <div class="app-container">
 | 
						<div class="app-container">
 | 
				
			||||||
 | 
							<!-- 搜索工作栏 -->
 | 
				
			||||||
    <!-- 搜索工作栏 -->
 | 
							<search-bar
 | 
				
			||||||
    <search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
 | 
								:formConfigs="formConfig"
 | 
				
			||||||
    <!-- 列表 -->
 | 
								ref="searchBarForm"
 | 
				
			||||||
    <base-table :page="queryParams.pageNo" :limit="queryParams.pageSize" :table-props="tableProps" :table-data="list"
 | 
								@headBtnClick="buttonClick" />
 | 
				
			||||||
      :max-height="tableH">
 | 
							<!-- 列表 -->
 | 
				
			||||||
      <method-btn v-if="tableBtn.length" slot="handleBtn" :width="120" label="操作" :method-list="tableBtn"
 | 
							<base-table
 | 
				
			||||||
        @clickBtn="handleClick" />
 | 
								:page="queryParams.pageNo"
 | 
				
			||||||
    </base-table>
 | 
								:limit="queryParams.pageSize"
 | 
				
			||||||
    <pagination :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize" :total="total"
 | 
								:table-props="tableProps"
 | 
				
			||||||
      @pagination="getList" />
 | 
								:table-data="list"
 | 
				
			||||||
    <!-- 新增 -->
 | 
								:max-height="tableH">
 | 
				
			||||||
    <base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="centervisible" @cancel="handleCancel"
 | 
								<method-btn
 | 
				
			||||||
      @confirm="handleConfirm" :before-close="handleCancel" width='50%'>
 | 
									v-if="tableBtn.length"
 | 
				
			||||||
      <group-class-add ref="classList" @successSubmit="successSubmit" />
 | 
									slot="handleBtn"
 | 
				
			||||||
    </base-dialog>
 | 
									:width="120"
 | 
				
			||||||
  </div>
 | 
									label="操作"
 | 
				
			||||||
 | 
									:method-list="tableBtn"
 | 
				
			||||||
 | 
									@clickBtn="handleClick" />
 | 
				
			||||||
 | 
							</base-table>
 | 
				
			||||||
 | 
							<pagination
 | 
				
			||||||
 | 
								:page.sync="queryParams.pageNo"
 | 
				
			||||||
 | 
								:limit.sync="queryParams.pageSize"
 | 
				
			||||||
 | 
								:total="total"
 | 
				
			||||||
 | 
								@pagination="getList" />
 | 
				
			||||||
 | 
							<!-- 新增 -->
 | 
				
			||||||
 | 
							<base-dialog
 | 
				
			||||||
 | 
								:dialogTitle="addOrEditTitle"
 | 
				
			||||||
 | 
								:dialogVisible="centervisible"
 | 
				
			||||||
 | 
								@cancel="handleCancel"
 | 
				
			||||||
 | 
								@confirm="handleConfirm"
 | 
				
			||||||
 | 
								:before-close="handleCancel"
 | 
				
			||||||
 | 
								width="50%">
 | 
				
			||||||
 | 
								<group-class-add
 | 
				
			||||||
 | 
									ref="classList"
 | 
				
			||||||
 | 
									@successSubmit="successSubmit" />
 | 
				
			||||||
 | 
							</base-dialog>
 | 
				
			||||||
 | 
						</div>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import { getGroupClassesPage, deleteGroupClasses, updateGroupClasses } from "@/api/base/groupClasses";
 | 
					import {
 | 
				
			||||||
import GroupClassAdd from './components/groupClassAdd'
 | 
						getGroupClassesPage,
 | 
				
			||||||
import { formatDate } from '@/utils'
 | 
						deleteGroupClasses,
 | 
				
			||||||
import { publicFormatter } from '@/utils/dict'
 | 
						updateGroupClasses,
 | 
				
			||||||
 | 
					} from '@/api/base/groupClasses';
 | 
				
			||||||
 | 
					import GroupClassAdd from './components/groupClassAdd';
 | 
				
			||||||
 | 
					import { formatDate } from '@/utils';
 | 
				
			||||||
 | 
					import { publicFormatter } from '@/utils/dict';
 | 
				
			||||||
 | 
					import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
 | 
				
			||||||
const tableProps = [
 | 
					const tableProps = [
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'enableTimeStr',
 | 
							prop: 'enableTimeStr',
 | 
				
			||||||
    label: '生效时段',
 | 
							label: '生效时段',
 | 
				
			||||||
    minWidth: 300
 | 
							minWidth: 300,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'roomNameDict',
 | 
							prop: 'roomNameDict',
 | 
				
			||||||
    label: '车间名称',
 | 
							label: '车间名称',
 | 
				
			||||||
    filter: publicFormatter('workshop'),
 | 
							filter: publicFormatter('workshop'),
 | 
				
			||||||
    minWidth: 100
 | 
							minWidth: 100,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'name',
 | 
							prop: 'name',
 | 
				
			||||||
    label: '班次名称'
 | 
							label: '班次名称',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'timeStr',
 | 
							prop: 'timeStr',
 | 
				
			||||||
    label: '班次时间',
 | 
							label: '班次时间',
 | 
				
			||||||
    minWidth: 100
 | 
							minWidth: 100,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'code',
 | 
							prop: 'code',
 | 
				
			||||||
    label: '班次编码',
 | 
							label: '班次编码',
 | 
				
			||||||
    minWidth: 200
 | 
							minWidth: 200,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'status',
 | 
							prop: 'status',
 | 
				
			||||||
    label: '班次状态'
 | 
							label: '班次状态',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'remark',
 | 
							prop: 'remark',
 | 
				
			||||||
    label: '备注'
 | 
							label: '备注',
 | 
				
			||||||
  }
 | 
						},
 | 
				
			||||||
]
 | 
					];
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: "GroupClasses",
 | 
						name: 'GroupClasses',
 | 
				
			||||||
  components: { GroupClassAdd },
 | 
						components: { GroupClassAdd },
 | 
				
			||||||
  data() {
 | 
						mixins: [tableHeightMixin],
 | 
				
			||||||
    return {
 | 
						data() {
 | 
				
			||||||
      formConfig: [
 | 
							return {
 | 
				
			||||||
        {
 | 
								formConfig: [
 | 
				
			||||||
          type: 'input',
 | 
									{
 | 
				
			||||||
          label: '班次名称',
 | 
										type: 'input',
 | 
				
			||||||
          placeholder: '班次名称',
 | 
										label: '班次名称',
 | 
				
			||||||
          param: 'name'
 | 
										placeholder: '班次名称',
 | 
				
			||||||
        },
 | 
										param: 'name',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: 'button',
 | 
									{
 | 
				
			||||||
          btnName: '查询',
 | 
										type: 'button',
 | 
				
			||||||
          name: 'search',
 | 
										btnName: '查询',
 | 
				
			||||||
          color: 'primary'
 | 
										name: 'search',
 | 
				
			||||||
        },
 | 
										color: 'primary',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: 'separate'
 | 
									{
 | 
				
			||||||
        },
 | 
										type: 'separate',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: this.$auth.hasPermi('base:group-classes:create') ? 'button' : '',
 | 
									{
 | 
				
			||||||
          btnName: '新增',
 | 
										type: this.$auth.hasPermi('base:group-classes:create')
 | 
				
			||||||
          name: 'add',
 | 
											? 'button'
 | 
				
			||||||
          color: 'success',
 | 
											: '',
 | 
				
			||||||
          plain: true
 | 
										btnName: '新增',
 | 
				
			||||||
        }
 | 
										name: 'add',
 | 
				
			||||||
      ],
 | 
										color: 'success',
 | 
				
			||||||
      tableProps,
 | 
										plain: true,
 | 
				
			||||||
      tableBtn: [
 | 
									},
 | 
				
			||||||
        this.$auth.hasPermi('base:group-classes:cancel')
 | 
								],
 | 
				
			||||||
          ? {
 | 
								tableProps,
 | 
				
			||||||
            type: 'cancel',
 | 
								tableBtn: [
 | 
				
			||||||
            btnName: '作废',
 | 
									this.$auth.hasPermi('base:group-classes:cancel')
 | 
				
			||||||
            showParam: {
 | 
										? {
 | 
				
			||||||
              type: '&',
 | 
												type: 'cancel',
 | 
				
			||||||
              data: [
 | 
												btnName: '作废',
 | 
				
			||||||
                {
 | 
												showParam: {
 | 
				
			||||||
                  type: 'unequal',
 | 
													type: '&',
 | 
				
			||||||
                  name: 'status',
 | 
													data: [
 | 
				
			||||||
                  value: '不可用'
 | 
														{
 | 
				
			||||||
                }
 | 
															type: 'unequal',
 | 
				
			||||||
              ]
 | 
															name: 'status',
 | 
				
			||||||
            }
 | 
															value: '不可用',
 | 
				
			||||||
          }
 | 
														},
 | 
				
			||||||
          : undefined,
 | 
													],
 | 
				
			||||||
        this.$auth.hasPermi('base:group-classes:update')
 | 
												},
 | 
				
			||||||
          ? {
 | 
										  }
 | 
				
			||||||
            type: 'edit',
 | 
										: undefined,
 | 
				
			||||||
            btnName: '编辑'
 | 
									this.$auth.hasPermi('base:group-classes:update')
 | 
				
			||||||
          }
 | 
										? {
 | 
				
			||||||
          : undefined,
 | 
												type: 'edit',
 | 
				
			||||||
        this.$auth.hasPermi('base:group-classes:delete')
 | 
												btnName: '编辑',
 | 
				
			||||||
          ? {
 | 
										  }
 | 
				
			||||||
            type: 'delete',
 | 
										: undefined,
 | 
				
			||||||
            btnName: '删除'
 | 
									this.$auth.hasPermi('base:group-classes:delete')
 | 
				
			||||||
          }
 | 
										? {
 | 
				
			||||||
          : undefined
 | 
												type: 'delete',
 | 
				
			||||||
      ].filter((v) => v),
 | 
												btnName: '删除',
 | 
				
			||||||
      tableH: this.tableHeight(260),
 | 
										  }
 | 
				
			||||||
      // 总条数
 | 
										: undefined,
 | 
				
			||||||
      total: 0,
 | 
								].filter((v) => v),
 | 
				
			||||||
      // 班次基础信息列表
 | 
								// 总条数
 | 
				
			||||||
      list: [],
 | 
								total: 0,
 | 
				
			||||||
      // 弹出层标题
 | 
								// 班次基础信息列表
 | 
				
			||||||
      addOrEditTitle: "",
 | 
								list: [],
 | 
				
			||||||
      // 是否显示弹出层
 | 
								// 弹出层标题
 | 
				
			||||||
      centervisible: false,
 | 
								addOrEditTitle: '',
 | 
				
			||||||
      // 查询参数
 | 
								// 是否显示弹出层
 | 
				
			||||||
      queryParams: {
 | 
								centervisible: false,
 | 
				
			||||||
        pageNo: 1,
 | 
								// 查询参数
 | 
				
			||||||
        pageSize: 20,
 | 
								queryParams: {
 | 
				
			||||||
        name: null
 | 
									pageNo: 1,
 | 
				
			||||||
      }
 | 
									pageSize: 20,
 | 
				
			||||||
    };
 | 
									name: null,
 | 
				
			||||||
  },
 | 
								},
 | 
				
			||||||
  created() {
 | 
							};
 | 
				
			||||||
    window.addEventListener('resize', () => {
 | 
						},
 | 
				
			||||||
      this.tableH = this.tableHeight(260)
 | 
						created() {
 | 
				
			||||||
    })
 | 
							this.getList();
 | 
				
			||||||
    this.getList()
 | 
						},
 | 
				
			||||||
  },
 | 
						methods: {
 | 
				
			||||||
  methods: {
 | 
							buttonClick(val) {
 | 
				
			||||||
    buttonClick(val) {
 | 
								switch (val.btnName) {
 | 
				
			||||||
      switch (val.btnName) {
 | 
									case 'search':
 | 
				
			||||||
        case 'search':
 | 
										this.queryParams.pageNo = 1;
 | 
				
			||||||
          this.queryParams.pageNo = 1;
 | 
										this.queryParams.name = val.name;
 | 
				
			||||||
          this.queryParams.name = val.name
 | 
										this.getList();
 | 
				
			||||||
          this.getList()
 | 
										break;
 | 
				
			||||||
          break
 | 
									default:
 | 
				
			||||||
        default:
 | 
										this.addOrEditTitle = '新增';
 | 
				
			||||||
          this.addOrEditTitle = '新增'
 | 
										this.centervisible = true;
 | 
				
			||||||
          this.centervisible = true
 | 
										this.$nextTick(() => {
 | 
				
			||||||
          this.$nextTick(() => {
 | 
											this.$refs.classList.init();
 | 
				
			||||||
            this.$refs.classList.init()
 | 
										});
 | 
				
			||||||
          })
 | 
								}
 | 
				
			||||||
      }
 | 
							},
 | 
				
			||||||
    },
 | 
							/** 查询列表 */
 | 
				
			||||||
    /** 查询列表 */
 | 
							getList() {
 | 
				
			||||||
    getList() {
 | 
								getGroupClassesPage(this.queryParams).then((res) => {
 | 
				
			||||||
      getGroupClassesPage(this.queryParams).then(res => {
 | 
									if (res.code === 0 && res.data.list.length > 0) {
 | 
				
			||||||
        if (res.code === 0 && res.data.list.length > 0) {
 | 
										res.data.list.map((item) => {
 | 
				
			||||||
          res.data.list.map(item => {
 | 
											item.enableTimeStr =
 | 
				
			||||||
            item.enableTimeStr = formatDate(item.enableTime) + '至' + (item.disableTime ? formatDate(item.disableTime) : '永久')
 | 
												formatDate(item.enableTime) +
 | 
				
			||||||
            item.timeStr = item.startTime.slice(0, 5) + '-' + item.endTime.slice(0, 5)
 | 
												'至' +
 | 
				
			||||||
            item.status = item.status === true ? '可用' : '不可用'
 | 
												(item.disableTime ? formatDate(item.disableTime) : '永久');
 | 
				
			||||||
          })
 | 
											item.timeStr =
 | 
				
			||||||
          this.list = res.data.list;
 | 
												item.startTime.slice(0, 5) + '-' + item.endTime.slice(0, 5);
 | 
				
			||||||
          this.total = res.data.total;
 | 
											item.status = item.status === true ? '可用' : '不可用';
 | 
				
			||||||
        } else {
 | 
										});
 | 
				
			||||||
          this.list = []
 | 
										this.list = res.data.list;
 | 
				
			||||||
          this.total = 0
 | 
										this.total = res.data.total;
 | 
				
			||||||
        }
 | 
									} else {
 | 
				
			||||||
      });
 | 
										this.list = [];
 | 
				
			||||||
    },
 | 
										this.total = 0;
 | 
				
			||||||
    handleClick(val) {
 | 
									}
 | 
				
			||||||
      switch (val.type) {
 | 
								});
 | 
				
			||||||
        case 'edit':
 | 
							},
 | 
				
			||||||
          this.addOrEditTitle = '编辑'
 | 
							handleClick(val) {
 | 
				
			||||||
          this.$nextTick(() => {
 | 
								switch (val.type) {
 | 
				
			||||||
            this.$refs.classList.init(val.data.id)
 | 
									case 'edit':
 | 
				
			||||||
          })
 | 
										this.addOrEditTitle = '编辑';
 | 
				
			||||||
          this.centervisible = true
 | 
										this.$nextTick(() => {
 | 
				
			||||||
          break
 | 
											this.$refs.classList.init(val.data.id);
 | 
				
			||||||
        case 'cancel':
 | 
										});
 | 
				
			||||||
          this.discard(val.data)
 | 
										this.centervisible = true;
 | 
				
			||||||
          break
 | 
										break;
 | 
				
			||||||
        default:
 | 
									case 'cancel':
 | 
				
			||||||
          this.handleDelete(val.data)
 | 
										this.discard(val.data);
 | 
				
			||||||
      }
 | 
										break;
 | 
				
			||||||
    },
 | 
									default:
 | 
				
			||||||
    handleCancel() {
 | 
										this.handleDelete(val.data);
 | 
				
			||||||
      this.$refs.classList.formClear()
 | 
								}
 | 
				
			||||||
      this.centervisible = false
 | 
							},
 | 
				
			||||||
      this.addOrEditTitle = ''
 | 
							handleCancel() {
 | 
				
			||||||
    },
 | 
								this.$refs.classList.formClear();
 | 
				
			||||||
    handleConfirm() {
 | 
								this.centervisible = false;
 | 
				
			||||||
      this.$refs.classList.submitForm()
 | 
								this.addOrEditTitle = '';
 | 
				
			||||||
    },
 | 
							},
 | 
				
			||||||
    successSubmit() {
 | 
							handleConfirm() {
 | 
				
			||||||
      this.handleCancel()
 | 
								this.$refs.classList.submitForm();
 | 
				
			||||||
      this.getList()
 | 
							},
 | 
				
			||||||
    },
 | 
							successSubmit() {
 | 
				
			||||||
    discard(row) {
 | 
								this.handleCancel();
 | 
				
			||||||
      let obj = {}
 | 
								this.getList();
 | 
				
			||||||
      obj.id = row.id
 | 
							},
 | 
				
			||||||
      obj.startTime = row.startTime
 | 
							discard(row) {
 | 
				
			||||||
      obj.endTime = row.endTime
 | 
								let obj = {};
 | 
				
			||||||
      obj.enableTime = row.enableTime
 | 
								obj.id = row.id;
 | 
				
			||||||
      obj.disableTime = Date.parse(new Date())
 | 
								obj.startTime = row.startTime;
 | 
				
			||||||
      this.$modal.confirm('是否确认作废班次名称为"' + row.name + '"的数据项?').then(function () {
 | 
								obj.endTime = row.endTime;
 | 
				
			||||||
        return updateGroupClasses({ ...obj })
 | 
								obj.enableTime = row.enableTime;
 | 
				
			||||||
      }).then(() => {
 | 
								obj.disableTime = Date.parse(new Date());
 | 
				
			||||||
        this.getList();
 | 
								this.$modal
 | 
				
			||||||
        this.$modal.msgSuccess("操作成功");
 | 
									.confirm('是否确认作废班次名称为"' + row.name + '"的数据项?')
 | 
				
			||||||
      }).catch(() => { });
 | 
									.then(function () {
 | 
				
			||||||
    },
 | 
										return updateGroupClasses({ ...obj });
 | 
				
			||||||
    /** 删除按钮操作 */
 | 
									})
 | 
				
			||||||
    handleDelete(row) {
 | 
									.then(() => {
 | 
				
			||||||
      console.log(row)
 | 
										this.getList();
 | 
				
			||||||
      let _this = this
 | 
										this.$modal.msgSuccess('操作成功');
 | 
				
			||||||
      if (row.status === '可用') {// 可用
 | 
									})
 | 
				
			||||||
        _this.$modal.confirm('删除的班次"' + row.name + '"可能会影响交接班计划,请点取消再次确认!').then(function () {
 | 
									.catch(() => {});
 | 
				
			||||||
          return _this.$modal.confirm('是否确认删除班次名称为"' + row.name + '"的数据项?').then(function () {
 | 
							},
 | 
				
			||||||
            return deleteGroupClasses(row.id);
 | 
							/** 删除按钮操作 */
 | 
				
			||||||
          }).then(() => {
 | 
							handleDelete(row) {
 | 
				
			||||||
            _this.getList();
 | 
								console.log(row);
 | 
				
			||||||
            _this.$modal.msgSuccess("删除成功");
 | 
								let _this = this;
 | 
				
			||||||
          }).catch(() => { });
 | 
								if (row.status === '可用') {
 | 
				
			||||||
        })
 | 
									// 可用
 | 
				
			||||||
      } else {
 | 
									_this.$modal
 | 
				
			||||||
        _this.$modal.confirm('是否确认删除班次名称为"' + row.name + '"的数据项?').then(function () {
 | 
										.confirm(
 | 
				
			||||||
          return deleteGroupClasses(row.id);
 | 
											'删除的班次"' +
 | 
				
			||||||
        }).then(() => {
 | 
												row.name +
 | 
				
			||||||
          _this.getList();
 | 
												'"可能会影响交接班计划,请点取消再次确认!'
 | 
				
			||||||
          _this.$modal.msgSuccess("删除成功");
 | 
										)
 | 
				
			||||||
        }).catch(() => { });
 | 
										.then(function () {
 | 
				
			||||||
      }
 | 
											return _this.$modal
 | 
				
			||||||
    }
 | 
												.confirm('是否确认删除班次名称为"' + row.name + '"的数据项?')
 | 
				
			||||||
  }
 | 
												.then(function () {
 | 
				
			||||||
 | 
													return deleteGroupClasses(row.id);
 | 
				
			||||||
 | 
												})
 | 
				
			||||||
 | 
												.then(() => {
 | 
				
			||||||
 | 
													_this.getList();
 | 
				
			||||||
 | 
													_this.$modal.msgSuccess('删除成功');
 | 
				
			||||||
 | 
												})
 | 
				
			||||||
 | 
												.catch(() => {});
 | 
				
			||||||
 | 
										});
 | 
				
			||||||
 | 
								} else {
 | 
				
			||||||
 | 
									_this.$modal
 | 
				
			||||||
 | 
										.confirm('是否确认删除班次名称为"' + row.name + '"的数据项?')
 | 
				
			||||||
 | 
										.then(function () {
 | 
				
			||||||
 | 
											return deleteGroupClasses(row.id);
 | 
				
			||||||
 | 
										})
 | 
				
			||||||
 | 
										.then(() => {
 | 
				
			||||||
 | 
											_this.getList();
 | 
				
			||||||
 | 
											_this.$modal.msgSuccess('删除成功');
 | 
				
			||||||
 | 
										})
 | 
				
			||||||
 | 
										.catch(() => {});
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,253 +1,260 @@
 | 
				
			|||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <div class="app-container">
 | 
						<div class="app-container">
 | 
				
			||||||
 | 
							<!-- 搜索工作栏 -->
 | 
				
			||||||
    <!-- 搜索工作栏 -->
 | 
							<search-bar
 | 
				
			||||||
    <search-bar
 | 
								:formConfigs="formConfig"
 | 
				
			||||||
      :formConfigs="formConfig"
 | 
								ref="searchBarForm"
 | 
				
			||||||
      ref="searchBarForm"
 | 
								@headBtnClick="buttonClick" />
 | 
				
			||||||
      @headBtnClick="buttonClick"
 | 
							<!-- 列表 -->
 | 
				
			||||||
    />
 | 
							<base-table
 | 
				
			||||||
    <!-- 列表 -->
 | 
								:page="queryParams.pageNo"
 | 
				
			||||||
    <base-table
 | 
								:limit="queryParams.pageSize"
 | 
				
			||||||
      :page="queryParams.pageNo"
 | 
								:table-props="tableProps"
 | 
				
			||||||
      :limit="queryParams.pageSize"
 | 
								:table-data="list"
 | 
				
			||||||
      :table-props="tableProps"
 | 
								:max-height="tableH"
 | 
				
			||||||
      :table-data="list"
 | 
								@emitFun="handleTableEvents">
 | 
				
			||||||
      :max-height="tableH"
 | 
								<method-btn
 | 
				
			||||||
      @emitFun="handleTableEvents"
 | 
									v-if="tableBtn.length"
 | 
				
			||||||
    >
 | 
									slot="handleBtn"
 | 
				
			||||||
      <method-btn
 | 
									:width="80"
 | 
				
			||||||
        v-if="tableBtn.length"
 | 
									label="操作"
 | 
				
			||||||
        slot="handleBtn"
 | 
									:method-list="tableBtn"
 | 
				
			||||||
        :width="80"
 | 
									@clickBtn="handleClick" />
 | 
				
			||||||
        label="操作"
 | 
							</base-table>
 | 
				
			||||||
        :method-list="tableBtn"
 | 
							<pagination
 | 
				
			||||||
        @clickBtn="handleClick"
 | 
								:page.sync="queryParams.pageNo"
 | 
				
			||||||
      />
 | 
								:limit.sync="queryParams.pageSize"
 | 
				
			||||||
    </base-table>
 | 
								:total="total"
 | 
				
			||||||
    <pagination
 | 
								@pagination="getList" />
 | 
				
			||||||
      :page.sync="queryParams.pageNo"
 | 
							<!-- 新增 -->
 | 
				
			||||||
      :limit.sync="queryParams.pageSize"
 | 
							<base-dialog
 | 
				
			||||||
      :total="total"
 | 
								:dialogTitle="addOrEditTitle"
 | 
				
			||||||
      @pagination="getList"
 | 
								:dialogVisible="centervisible"
 | 
				
			||||||
    />
 | 
								@cancel="handleCancel"
 | 
				
			||||||
    <!-- 新增 -->
 | 
								@confirm="handleConfirm"
 | 
				
			||||||
    <base-dialog
 | 
								:before-close="handleCancel"
 | 
				
			||||||
      :dialogTitle="addOrEditTitle"
 | 
								width="40%">
 | 
				
			||||||
      :dialogVisible="centervisible"
 | 
								<group-team-add
 | 
				
			||||||
      @cancel="handleCancel"
 | 
									ref="groupList"
 | 
				
			||||||
      @confirm="handleConfirm"
 | 
									@successSubmit="successSubmit" />
 | 
				
			||||||
      :before-close="handleCancel"
 | 
							</base-dialog>
 | 
				
			||||||
      width='40%'
 | 
							<!-- 组员编辑 -->
 | 
				
			||||||
    >
 | 
							<worker-edit
 | 
				
			||||||
      <group-team-add ref="groupList" @successSubmit="successSubmit" />
 | 
								v-if="paramVisible"
 | 
				
			||||||
    </base-dialog>
 | 
								ref="workerEditParam"
 | 
				
			||||||
    <!-- 组员编辑 -->
 | 
								@closeDrawer="closeDrawer"></worker-edit>
 | 
				
			||||||
    <worker-edit v-if='paramVisible' ref='workerEditParam' @closeDrawer="closeDrawer"></worker-edit>
 | 
						</div>
 | 
				
			||||||
  </div>
 | 
					 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import { getGroupTeamPage, deleteGroupTeam, updateGroupTeam } from "@/api/base/groupTeam";
 | 
					import {
 | 
				
			||||||
import { parseTime } from '@/utils/ruoyi'
 | 
						getGroupTeamPage,
 | 
				
			||||||
import GroupTeamAdd from './components/groupTeamAdd'
 | 
						deleteGroupTeam,
 | 
				
			||||||
import StatusBtn from './components/statusBtn'
 | 
						updateGroupTeam,
 | 
				
			||||||
import WorkerOperate from './components/workerOperate'
 | 
					} from '@/api/base/groupTeam';
 | 
				
			||||||
import WorkerEdit from './components/workerEdit'
 | 
					import { parseTime } from '@/utils/ruoyi';
 | 
				
			||||||
import { publicFormatter } from '@/utils/dict'
 | 
					import GroupTeamAdd from './components/groupTeamAdd';
 | 
				
			||||||
 | 
					import StatusBtn from './components/statusBtn';
 | 
				
			||||||
 | 
					import WorkerOperate from './components/workerOperate';
 | 
				
			||||||
 | 
					import WorkerEdit from './components/workerEdit';
 | 
				
			||||||
 | 
					import { publicFormatter } from '@/utils/dict';
 | 
				
			||||||
 | 
					import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
 | 
				
			||||||
const tableProps = [
 | 
					const tableProps = [
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'createTime',
 | 
							prop: 'createTime',
 | 
				
			||||||
    label: '创建时间',
 | 
							label: '创建时间',
 | 
				
			||||||
    filter: parseTime,
 | 
							filter: parseTime,
 | 
				
			||||||
    minWidth: 160
 | 
							minWidth: 160,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'roomNameDict',
 | 
							prop: 'roomNameDict',
 | 
				
			||||||
    label: '车间名称',
 | 
							label: '车间名称',
 | 
				
			||||||
    filter: publicFormatter('workshop')
 | 
							filter: publicFormatter('workshop'),
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'name',
 | 
							prop: 'name',
 | 
				
			||||||
    label: '班组名称'
 | 
							label: '班组名称',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'code',
 | 
							prop: 'code',
 | 
				
			||||||
    label: '编码',
 | 
							label: '编码',
 | 
				
			||||||
    minWidth: 220
 | 
							minWidth: 220,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'num',
 | 
							prop: 'num',
 | 
				
			||||||
    label: '班组人数'
 | 
							label: '班组人数',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'leaderName',
 | 
							prop: 'leaderName',
 | 
				
			||||||
    label: '组长'
 | 
							label: '组长',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'enabled',
 | 
							prop: 'enabled',
 | 
				
			||||||
    label: '班组状态',
 | 
							label: '班组状态',
 | 
				
			||||||
    subcomponent: StatusBtn
 | 
							subcomponent: StatusBtn,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'workerName',
 | 
							prop: 'workerName',
 | 
				
			||||||
    label: '组员',
 | 
							label: '组员',
 | 
				
			||||||
    subcomponent: WorkerOperate
 | 
							subcomponent: WorkerOperate,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
]
 | 
					];
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: "GroupTeam",
 | 
						name: 'GroupTeam',
 | 
				
			||||||
  components: { GroupTeamAdd, WorkerEdit },
 | 
						components: { GroupTeamAdd, WorkerEdit },
 | 
				
			||||||
  data() {
 | 
						mixins: [tableHeightMixin],
 | 
				
			||||||
    return {
 | 
						data() {
 | 
				
			||||||
      formConfig: [
 | 
							return {
 | 
				
			||||||
        {
 | 
								formConfig: [
 | 
				
			||||||
          type: 'input',
 | 
									{
 | 
				
			||||||
          label: '班组名称',
 | 
										type: 'input',
 | 
				
			||||||
          placeholder: '班组名称',
 | 
										label: '班组名称',
 | 
				
			||||||
          param: 'name'
 | 
										placeholder: '班组名称',
 | 
				
			||||||
        },
 | 
										param: 'name',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: 'input',
 | 
									{
 | 
				
			||||||
          label: '组长',
 | 
										type: 'input',
 | 
				
			||||||
          placeholder: '组长',
 | 
										label: '组长',
 | 
				
			||||||
          param: 'leaderName'
 | 
										placeholder: '组长',
 | 
				
			||||||
        },
 | 
										param: 'leaderName',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: 'button',
 | 
									{
 | 
				
			||||||
          btnName: '查询',
 | 
										type: 'button',
 | 
				
			||||||
          name: 'search',
 | 
										btnName: '查询',
 | 
				
			||||||
          color: 'primary'
 | 
										name: 'search',
 | 
				
			||||||
        },
 | 
										color: 'primary',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: 'separate'
 | 
									{
 | 
				
			||||||
        },
 | 
										type: 'separate',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: this.$auth.hasPermi('base:group-team:create') ? 'button' : '',
 | 
									{
 | 
				
			||||||
          btnName: '新增',
 | 
										type: this.$auth.hasPermi('base:group-team:create') ? 'button' : '',
 | 
				
			||||||
          name: 'add',
 | 
										btnName: '新增',
 | 
				
			||||||
          color: 'success',
 | 
										name: 'add',
 | 
				
			||||||
          plain: true
 | 
										color: 'success',
 | 
				
			||||||
        }
 | 
										plain: true,
 | 
				
			||||||
      ],
 | 
									},
 | 
				
			||||||
      tableProps,
 | 
								],
 | 
				
			||||||
      tableBtn: [
 | 
								tableProps,
 | 
				
			||||||
        this.$auth.hasPermi('base:group-team:update')
 | 
								tableBtn: [
 | 
				
			||||||
          ? {
 | 
									this.$auth.hasPermi('base:group-team:update')
 | 
				
			||||||
              type: 'edit',
 | 
										? {
 | 
				
			||||||
              btnName: '编辑'
 | 
												type: 'edit',
 | 
				
			||||||
            }
 | 
												btnName: '编辑',
 | 
				
			||||||
          : undefined,
 | 
										  }
 | 
				
			||||||
        this.$auth.hasPermi('base:group-team:delete')
 | 
										: undefined,
 | 
				
			||||||
          ? {
 | 
									this.$auth.hasPermi('base:group-team:delete')
 | 
				
			||||||
              type: 'delete',
 | 
										? {
 | 
				
			||||||
              btnName: '删除'
 | 
												type: 'delete',
 | 
				
			||||||
            }
 | 
												btnName: '删除',
 | 
				
			||||||
          : undefined
 | 
										  }
 | 
				
			||||||
      ].filter((v) => v),
 | 
										: undefined,
 | 
				
			||||||
      tableH: this.tableHeight(260),
 | 
								].filter((v) => v),
 | 
				
			||||||
      // 总条数
 | 
								// 总条数
 | 
				
			||||||
      total: 0,
 | 
								total: 0,
 | 
				
			||||||
      // 班次基础信息列表
 | 
								// 班次基础信息列表
 | 
				
			||||||
      list: [],
 | 
								list: [],
 | 
				
			||||||
      // 弹出层标题
 | 
								// 弹出层标题
 | 
				
			||||||
      addOrEditTitle: "",
 | 
								addOrEditTitle: '',
 | 
				
			||||||
      // 是否显示弹出层
 | 
								// 是否显示弹出层
 | 
				
			||||||
      centervisible: false,
 | 
								centervisible: false,
 | 
				
			||||||
      // 查询参数
 | 
								// 查询参数
 | 
				
			||||||
      queryParams: {
 | 
								queryParams: {
 | 
				
			||||||
        pageNo: 1,
 | 
									pageNo: 1,
 | 
				
			||||||
        pageSize: 20,
 | 
									pageSize: 20,
 | 
				
			||||||
        name: null,
 | 
									name: null,
 | 
				
			||||||
        code: null
 | 
									code: null,
 | 
				
			||||||
      },
 | 
								},
 | 
				
			||||||
      paramVisible: false
 | 
								paramVisible: false,
 | 
				
			||||||
    };
 | 
							};
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  created() {
 | 
						created() {
 | 
				
			||||||
    window.addEventListener('resize', () => {
 | 
							this.getList();
 | 
				
			||||||
      this.tableH = this.tableHeight(260)
 | 
						},
 | 
				
			||||||
    })
 | 
						methods: {
 | 
				
			||||||
    this.getList();
 | 
							buttonClick(val) {
 | 
				
			||||||
  },
 | 
								switch (val.btnName) {
 | 
				
			||||||
  methods: {
 | 
									case 'search':
 | 
				
			||||||
    buttonClick(val) {
 | 
										this.queryParams.pageNo = 1;
 | 
				
			||||||
      switch (val.btnName) {
 | 
										this.queryParams.leaderName = val.leaderName;
 | 
				
			||||||
        case 'search':
 | 
										this.queryParams.name = val.name;
 | 
				
			||||||
          this.queryParams.pageNo = 1;
 | 
										this.getList();
 | 
				
			||||||
          this.queryParams.leaderName = val.leaderName
 | 
										break;
 | 
				
			||||||
          this.queryParams.name = val.name
 | 
									default:
 | 
				
			||||||
          this.getList()
 | 
										this.addOrEditTitle = '新增';
 | 
				
			||||||
          break
 | 
										this.centervisible = true;
 | 
				
			||||||
        default:
 | 
										this.$nextTick(() => {
 | 
				
			||||||
          this.addOrEditTitle = '新增'
 | 
											this.$refs.groupList.init();
 | 
				
			||||||
          this.centervisible = true
 | 
										});
 | 
				
			||||||
          this.$nextTick(() => {
 | 
								}
 | 
				
			||||||
            this.$refs.groupList.init()
 | 
							},
 | 
				
			||||||
          })
 | 
							/** 查询列表 */
 | 
				
			||||||
      }
 | 
							getList() {
 | 
				
			||||||
    },
 | 
								getGroupTeamPage(this.queryParams).then((response) => {
 | 
				
			||||||
    /** 查询列表 */
 | 
									this.list = response.data.list;
 | 
				
			||||||
    getList() {
 | 
									this.total = response.data.total;
 | 
				
			||||||
      getGroupTeamPage(this.queryParams).then(response => {
 | 
								});
 | 
				
			||||||
        this.list = response.data.list;
 | 
							},
 | 
				
			||||||
        this.total = response.data.total;
 | 
							handleClick(val) {
 | 
				
			||||||
      });
 | 
								switch (val.type) {
 | 
				
			||||||
    },
 | 
									case 'edit':
 | 
				
			||||||
    handleClick(val) {
 | 
										this.addOrEditTitle = '编辑';
 | 
				
			||||||
      switch (val.type) {
 | 
										this.$nextTick(() => {
 | 
				
			||||||
        case 'edit':
 | 
											this.$refs.groupList.init(val.data.id);
 | 
				
			||||||
          this.addOrEditTitle = '编辑'
 | 
										});
 | 
				
			||||||
          this.$nextTick(() => {
 | 
										this.centervisible = true;
 | 
				
			||||||
            this.$refs.groupList.init(val.data.id)
 | 
										break;
 | 
				
			||||||
          })
 | 
									default:
 | 
				
			||||||
          this.centervisible = true
 | 
										this.handleDelete(val.data);
 | 
				
			||||||
          break
 | 
								}
 | 
				
			||||||
        default:
 | 
							},
 | 
				
			||||||
        this.handleDelete(val.data)
 | 
							// 班组状态
 | 
				
			||||||
      }
 | 
							handleTableEvents(params) {
 | 
				
			||||||
    },
 | 
								console.log(params);
 | 
				
			||||||
    // 班组状态
 | 
								if (params.name === 'state') {
 | 
				
			||||||
    handleTableEvents(params) {
 | 
									// 班组状态
 | 
				
			||||||
      console.log(params)
 | 
									updateGroupTeam({ ...params.payload }).then((res) => {
 | 
				
			||||||
      if (params.name === 'state') {// 班组状态
 | 
										if (res.code === 0) {
 | 
				
			||||||
        updateGroupTeam({ ...params.payload }).then((res) => {
 | 
											this.$modal.msgSuccess('操作成功');
 | 
				
			||||||
          if (res.code === 0) {
 | 
										}
 | 
				
			||||||
            this.$modal.msgSuccess("操作成功");
 | 
									});
 | 
				
			||||||
          }
 | 
								} else {
 | 
				
			||||||
        })
 | 
									// 编辑&查看
 | 
				
			||||||
      }else {// 编辑&查看
 | 
									this.paramVisible = true;
 | 
				
			||||||
        this.paramVisible = true
 | 
									this.$nextTick(() => {
 | 
				
			||||||
        this.$nextTick(() => {
 | 
										this.$refs.workerEditParam.init(params);
 | 
				
			||||||
          this.$refs.workerEditParam.init(params)
 | 
									});
 | 
				
			||||||
        })
 | 
								}
 | 
				
			||||||
      }
 | 
							},
 | 
				
			||||||
    },
 | 
							handleCancel() {
 | 
				
			||||||
    handleCancel() {
 | 
								this.$refs.groupList.formClear();
 | 
				
			||||||
      this.$refs.groupList.formClear()
 | 
								this.centervisible = false;
 | 
				
			||||||
      this.centervisible = false
 | 
								this.addOrEditTitle = '';
 | 
				
			||||||
      this.addOrEditTitle = ''
 | 
							},
 | 
				
			||||||
    },
 | 
							handleConfirm() {
 | 
				
			||||||
    handleConfirm() {
 | 
								this.$refs.groupList.submitForm();
 | 
				
			||||||
      this.$refs.groupList.submitForm()
 | 
							},
 | 
				
			||||||
    },
 | 
							successSubmit() {
 | 
				
			||||||
    successSubmit() {
 | 
								this.handleCancel();
 | 
				
			||||||
      this.handleCancel()
 | 
								this.getList();
 | 
				
			||||||
      this.getList()
 | 
							},
 | 
				
			||||||
    },
 | 
							/** 删除按钮操作 */
 | 
				
			||||||
    /** 删除按钮操作 */
 | 
							handleDelete(row) {
 | 
				
			||||||
    handleDelete(row) {
 | 
								this.$modal
 | 
				
			||||||
      this.$modal.confirm('是否确认删除班组名称为"' + row.name + '"的数据项?').then(function() {
 | 
									.confirm('是否确认删除班组名称为"' + row.name + '"的数据项?')
 | 
				
			||||||
          return deleteGroupTeam(row.id);
 | 
									.then(function () {
 | 
				
			||||||
        }).then(() => {
 | 
										return deleteGroupTeam(row.id);
 | 
				
			||||||
          this.queryParams.pageNo = 1;
 | 
									})
 | 
				
			||||||
          this.getList();
 | 
									.then(() => {
 | 
				
			||||||
          this.$modal.msgSuccess("删除成功");
 | 
										this.queryParams.pageNo = 1;
 | 
				
			||||||
        }).catch(() => {});
 | 
										this.getList();
 | 
				
			||||||
    },
 | 
										this.$modal.msgSuccess('删除成功');
 | 
				
			||||||
    closeDrawer() {
 | 
									})
 | 
				
			||||||
      this.getList()
 | 
									.catch(() => {});
 | 
				
			||||||
    }
 | 
							},
 | 
				
			||||||
  }
 | 
							closeDrawer() {
 | 
				
			||||||
 | 
								this.getList();
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,152 +1,150 @@
 | 
				
			|||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <div class="app-container">
 | 
						<div class="app-container">
 | 
				
			||||||
    <!-- 搜索工作栏 -->
 | 
							<!-- 搜索工作栏 -->
 | 
				
			||||||
    <search-bar
 | 
							<search-bar
 | 
				
			||||||
      :formConfigs="formConfig"
 | 
								:formConfigs="formConfig"
 | 
				
			||||||
      ref="searchBarForm"
 | 
								ref="searchBarForm"
 | 
				
			||||||
      @headBtnClick="buttonClick"
 | 
								@headBtnClick="buttonClick" />
 | 
				
			||||||
    />
 | 
							<!-- 列表 -->
 | 
				
			||||||
    <!-- 列表 -->
 | 
							<base-table
 | 
				
			||||||
    <base-table
 | 
								:page="queryParams.pageNo"
 | 
				
			||||||
      :page="queryParams.pageNo"
 | 
								:limit="queryParams.pageSize"
 | 
				
			||||||
      :limit="queryParams.pageSize"
 | 
								:table-props="tableProps"
 | 
				
			||||||
      :table-props="tableProps"
 | 
								:table-data="list"
 | 
				
			||||||
      :table-data="list"
 | 
								:max-height="tableH">
 | 
				
			||||||
      :max-height="tableH"
 | 
								<method-btn
 | 
				
			||||||
    >
 | 
									v-if="tableBtn.length"
 | 
				
			||||||
      <method-btn
 | 
									slot="handleBtn"
 | 
				
			||||||
        v-if="tableBtn.length"
 | 
									:width="160"
 | 
				
			||||||
        slot="handleBtn"
 | 
									label="操作"
 | 
				
			||||||
        :width="160"
 | 
									:method-list="tableBtn"
 | 
				
			||||||
        label="操作"
 | 
									@clickBtn="handleClick" />
 | 
				
			||||||
        :method-list="tableBtn"
 | 
							</base-table>
 | 
				
			||||||
        @clickBtn="handleClick"
 | 
							<!-- 查看详情 -->
 | 
				
			||||||
      />
 | 
							<group-team-view-detail
 | 
				
			||||||
    </base-table>
 | 
								v-if="paramVisible"
 | 
				
			||||||
    <!-- 查看详情 -->
 | 
								ref="groupTeamViewDetail" />
 | 
				
			||||||
    <group-team-view-detail v-if="paramVisible" ref="groupTeamViewDetail"/>
 | 
						</div>
 | 
				
			||||||
  </div>
 | 
					 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import { getByWorkOrder } from '@/api/monitoring/groupTeamView'
 | 
					import { getByWorkOrder } from '@/api/monitoring/groupTeamView';
 | 
				
			||||||
import { workOrderList } from '@/api/base/workOrder'
 | 
					import { workOrderList } from '@/api/base/workOrder';
 | 
				
			||||||
import GroupTeamViewDetail from './components/groupTeamViewDetail.vue'
 | 
					import GroupTeamViewDetail from './components/groupTeamViewDetail.vue';
 | 
				
			||||||
import { publicFormatter } from '@/utils/dict'
 | 
					import { publicFormatter } from '@/utils/dict';
 | 
				
			||||||
 | 
					import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
 | 
				
			||||||
const tableProps = [
 | 
					const tableProps = [
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'roomNameDict',
 | 
							prop: 'roomNameDict',
 | 
				
			||||||
    label: '车间名称',
 | 
							label: '车间名称',
 | 
				
			||||||
    filter: publicFormatter('workshop'),
 | 
							filter: publicFormatter('workshop'),
 | 
				
			||||||
    showOverflowtooltip: true,
 | 
							showOverflowtooltip: true,
 | 
				
			||||||
    minWidth: 100
 | 
							minWidth: 100,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'name',
 | 
							prop: 'name',
 | 
				
			||||||
    label: '班组名称'
 | 
							label: '班组名称',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'leaderName',
 | 
							prop: 'leaderName',
 | 
				
			||||||
    label: '班组长'
 | 
							label: '班组长',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'num',
 | 
							prop: 'num',
 | 
				
			||||||
    label: '人数'
 | 
							label: '人数',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'workCount',
 | 
							prop: 'workCount',
 | 
				
			||||||
    label: '上班次数'
 | 
							label: '上班次数',
 | 
				
			||||||
  }
 | 
						},
 | 
				
			||||||
]
 | 
					];
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: 'GroupTeamView',
 | 
						name: 'GroupTeamView',
 | 
				
			||||||
  data() {
 | 
						mixins: [tableHeightMixin],
 | 
				
			||||||
    return {
 | 
						data() {
 | 
				
			||||||
      formConfig: [
 | 
							return {
 | 
				
			||||||
        {
 | 
								formConfig: [
 | 
				
			||||||
          type: 'select',
 | 
									{
 | 
				
			||||||
          label: '工单',
 | 
										type: 'select',
 | 
				
			||||||
          selectOptions: [],
 | 
										label: '工单',
 | 
				
			||||||
          param: 'workOrderId',
 | 
										selectOptions: [],
 | 
				
			||||||
          clearable: false,
 | 
										param: 'workOrderId',
 | 
				
			||||||
          filterable: true
 | 
										clearable: false,
 | 
				
			||||||
        },
 | 
										filterable: true,
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: 'button',
 | 
									{
 | 
				
			||||||
          btnName: '查询',
 | 
										type: 'button',
 | 
				
			||||||
          name: 'search',
 | 
										btnName: '查询',
 | 
				
			||||||
          color: 'primary'
 | 
										name: 'search',
 | 
				
			||||||
        }
 | 
										color: 'primary',
 | 
				
			||||||
      ],
 | 
									},
 | 
				
			||||||
      // 查询参数
 | 
								],
 | 
				
			||||||
      queryParams: {
 | 
								// 查询参数
 | 
				
			||||||
        pageNo: 1,
 | 
								queryParams: {
 | 
				
			||||||
        pageSize: 1000,
 | 
									pageNo: 1,
 | 
				
			||||||
        workOrderId: ''
 | 
									pageSize: 1000,
 | 
				
			||||||
      },
 | 
									workOrderId: '',
 | 
				
			||||||
      workOrderList: [],
 | 
								},
 | 
				
			||||||
      workOrderName: '',
 | 
								heightNum: 220,
 | 
				
			||||||
      tableBtn: [
 | 
								workOrderList: [],
 | 
				
			||||||
      this.$auth.hasPermi('base:group-team-view:detail')
 | 
								workOrderName: '',
 | 
				
			||||||
          ? {
 | 
								tableBtn: [
 | 
				
			||||||
              type: 'detail',
 | 
									this.$auth.hasPermi('base:group-team-view:detail')
 | 
				
			||||||
              btnName: '详情'
 | 
										? {
 | 
				
			||||||
            }
 | 
												type: 'detail',
 | 
				
			||||||
          : undefined
 | 
												btnName: '详情',
 | 
				
			||||||
      ].filter((v) => v),
 | 
										  }
 | 
				
			||||||
      tableProps,
 | 
										: undefined,
 | 
				
			||||||
      tableH: this.tableHeight(220),
 | 
								].filter((v) => v),
 | 
				
			||||||
      list: [],
 | 
								tableProps,
 | 
				
			||||||
      paramVisible: false
 | 
								list: [],
 | 
				
			||||||
    }
 | 
								paramVisible: false,
 | 
				
			||||||
  },
 | 
							};
 | 
				
			||||||
  components: { GroupTeamViewDetail },
 | 
						},
 | 
				
			||||||
  mounted() {
 | 
						components: { GroupTeamViewDetail },
 | 
				
			||||||
    window.addEventListener('resize', () => {
 | 
						mounted() {
 | 
				
			||||||
      this.tableH = this.tableHeight(220)
 | 
							this.getOrderList();
 | 
				
			||||||
    })
 | 
						},
 | 
				
			||||||
    this.getOrderList()
 | 
						methods: {
 | 
				
			||||||
  },
 | 
							// 获取工单list
 | 
				
			||||||
  methods: {
 | 
							getOrderList() {
 | 
				
			||||||
    // 获取工单list
 | 
								workOrderList().then((res) => {
 | 
				
			||||||
    getOrderList() {
 | 
									console.log(res);
 | 
				
			||||||
      workOrderList().then(res => {
 | 
									this.formConfig[0].selectOptions = res.data || [];
 | 
				
			||||||
        console.log(res)
 | 
									this.workOrderList = res.data || [];
 | 
				
			||||||
        this.formConfig[0].selectOptions = res.data || []
 | 
								});
 | 
				
			||||||
        this.workOrderList = res.data || []
 | 
							},
 | 
				
			||||||
      })
 | 
							// 查询
 | 
				
			||||||
    },
 | 
							buttonClick(val) {
 | 
				
			||||||
    // 查询
 | 
								if (!val.workOrderId) {
 | 
				
			||||||
    buttonClick(val) {
 | 
									this.$modal.msgWarning('工单不能为空');
 | 
				
			||||||
      if (!val.workOrderId) {
 | 
									return false;
 | 
				
			||||||
        this.$modal.msgWarning('工单不能为空')
 | 
								}
 | 
				
			||||||
        return false
 | 
								this.queryParams.workOrderId = val.workOrderId;
 | 
				
			||||||
      }
 | 
								this.getList();
 | 
				
			||||||
      this.queryParams.workOrderId = val.workOrderId
 | 
							},
 | 
				
			||||||
      this.getList()
 | 
							// 获取table数据
 | 
				
			||||||
    },
 | 
							getList() {
 | 
				
			||||||
    // 获取table数据
 | 
								getByWorkOrder({ id: this.queryParams.workOrderId }).then((res) => {
 | 
				
			||||||
    getList() {
 | 
									this.list = res.data || [];
 | 
				
			||||||
      getByWorkOrder({ id: this.queryParams.workOrderId }).then(res => {
 | 
								});
 | 
				
			||||||
        this.list = res.data || []
 | 
							},
 | 
				
			||||||
      })
 | 
							handleClick(val) {
 | 
				
			||||||
    },
 | 
								this.paramVisible = true;
 | 
				
			||||||
    handleClick(val) {
 | 
								let params = {};
 | 
				
			||||||
      this.paramVisible = true
 | 
								params.teamId = val.data.id;
 | 
				
			||||||
      let params = {}
 | 
								params.teamName = val.data.name;
 | 
				
			||||||
      params.teamId = val.data.id
 | 
								this.workOrderList.map((item) => {
 | 
				
			||||||
      params.teamName = val.data.name
 | 
									if (val.data.workOrderId === item.id) {
 | 
				
			||||||
      this.workOrderList.map(item => {
 | 
										this.workOrderName = item.name;
 | 
				
			||||||
        if (val.data.workOrderId === item.id) {
 | 
									}
 | 
				
			||||||
          this.workOrderName = item.name
 | 
								});
 | 
				
			||||||
        }
 | 
								params.workOrderId = val.data.workOrderId;
 | 
				
			||||||
      })
 | 
								params.workOrderName = this.workOrderName;
 | 
				
			||||||
      params.workOrderId = val.data.workOrderId
 | 
								params.roomNameDict = val.data.roomNameDict;
 | 
				
			||||||
      params.workOrderName = this.workOrderName
 | 
								this.$nextTick(() => {
 | 
				
			||||||
      params.roomNameDict = val.data.roomNameDict
 | 
									this.$refs.groupTeamViewDetail.init(params);
 | 
				
			||||||
      this.$nextTick(() => {
 | 
								});
 | 
				
			||||||
        this.$refs.groupTeamViewDetail.init(params)
 | 
							},
 | 
				
			||||||
      })
 | 
						},
 | 
				
			||||||
    }
 | 
					};
 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
@@ -1,130 +1,146 @@
 | 
				
			|||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <div class="app-container">
 | 
						<div class="app-container">
 | 
				
			||||||
    <!-- 搜索工作栏 -->
 | 
							<!-- 搜索工作栏 -->
 | 
				
			||||||
    <search-area @submit="buttonClick" />
 | 
							<search-area @submit="buttonClick" />
 | 
				
			||||||
    <!-- <search-bar
 | 
							<!-- <search-bar
 | 
				
			||||||
      :formConfigs="formConfig"
 | 
					      :formConfigs="formConfig"
 | 
				
			||||||
      ref="searchBarForm"
 | 
					      ref="searchBarForm"
 | 
				
			||||||
      @headBtnClick="buttonClick"
 | 
					      @headBtnClick="buttonClick"
 | 
				
			||||||
    /> -->
 | 
					    /> -->
 | 
				
			||||||
    <!-- 列表 -->
 | 
							<!-- 列表 -->
 | 
				
			||||||
    <base-table :page="queryParams.pageNo" :limit="queryParams.pageSize" :table-props="tableProps" :table-data="list"
 | 
							<base-table
 | 
				
			||||||
      :max-height="tableH">
 | 
								:page="queryParams.pageNo"
 | 
				
			||||||
      <method-btn v-if="tableBtn.length" slot="handleBtn" :width="80" label="操作" :method-list="tableBtn"
 | 
								:limit="queryParams.pageSize"
 | 
				
			||||||
        @clickBtn="handleClick" />
 | 
								:table-props="tableProps"
 | 
				
			||||||
    </base-table>
 | 
								:table-data="list"
 | 
				
			||||||
    <pagination :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize" :total="total"
 | 
								:max-height="tableH">
 | 
				
			||||||
      @pagination="getList" />
 | 
								<method-btn
 | 
				
			||||||
    <!-- 查看生产情况 -->
 | 
									v-if="tableBtn.length"
 | 
				
			||||||
    <team-production-detail v-if='paramVisible' ref='schedulingMonitoringDetail' />
 | 
									slot="handleBtn"
 | 
				
			||||||
  </div>
 | 
									:width="80"
 | 
				
			||||||
 | 
									label="操作"
 | 
				
			||||||
 | 
									:method-list="tableBtn"
 | 
				
			||||||
 | 
									@clickBtn="handleClick" />
 | 
				
			||||||
 | 
							</base-table>
 | 
				
			||||||
 | 
							<pagination
 | 
				
			||||||
 | 
								:page.sync="queryParams.pageNo"
 | 
				
			||||||
 | 
								:limit.sync="queryParams.pageSize"
 | 
				
			||||||
 | 
								:total="total"
 | 
				
			||||||
 | 
								@pagination="getList" />
 | 
				
			||||||
 | 
							<!-- 查看生产情况 -->
 | 
				
			||||||
 | 
							<team-production-detail
 | 
				
			||||||
 | 
								v-if="paramVisible"
 | 
				
			||||||
 | 
								ref="schedulingMonitoringDetail" />
 | 
				
			||||||
 | 
						</div>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import { groupTeamSchedulingPage } from '@/api/monitoring/teamProduction'
 | 
					import { groupTeamSchedulingPage } from '@/api/monitoring/teamProduction';
 | 
				
			||||||
import { parseTime } from '@/utils/ruoyi'
 | 
					import { parseTime } from '@/utils/ruoyi';
 | 
				
			||||||
import TeamProductionDetail from './components/teamProductionDetail'
 | 
					import TeamProductionDetail from './components/teamProductionDetail';
 | 
				
			||||||
import { publicFormatter } from '@/utils/dict'
 | 
					import { publicFormatter } from '@/utils/dict';
 | 
				
			||||||
import SearchArea from './components/searchArea'
 | 
					import SearchArea from './components/searchArea';
 | 
				
			||||||
 | 
					import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
 | 
				
			||||||
const tableProps = [
 | 
					const tableProps = [
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'roomNameDict',
 | 
							prop: 'roomNameDict',
 | 
				
			||||||
    label: '车间名称',
 | 
							label: '车间名称',
 | 
				
			||||||
    filter: publicFormatter('workshop'),
 | 
							filter: publicFormatter('workshop'),
 | 
				
			||||||
    showOverflowtooltip: true,
 | 
							showOverflowtooltip: true,
 | 
				
			||||||
    minWidth: 100
 | 
							minWidth: 100,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  // {
 | 
						// {
 | 
				
			||||||
  //   prop: 'createTime',
 | 
						//   prop: 'createTime',
 | 
				
			||||||
  //   label: '排班创建时间',
 | 
						//   label: '排班创建时间',
 | 
				
			||||||
  //   filter: parseTime,
 | 
						//   filter: parseTime,
 | 
				
			||||||
  //   minWidth: 160
 | 
						//   minWidth: 160
 | 
				
			||||||
  // },
 | 
						// },
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'startDay',
 | 
							prop: 'startDay',
 | 
				
			||||||
    label: '上班日期',
 | 
							label: '上班日期',
 | 
				
			||||||
    minWidth: 100
 | 
							minWidth: 100,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'startTime',
 | 
							prop: 'startTime',
 | 
				
			||||||
    label: '上班时间',
 | 
							label: '上班时间',
 | 
				
			||||||
    filter: parseTime,
 | 
							filter: parseTime,
 | 
				
			||||||
    minWidth: 160
 | 
							minWidth: 160,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'endTime',
 | 
							prop: 'endTime',
 | 
				
			||||||
    label: '下班时间',
 | 
							label: '下班时间',
 | 
				
			||||||
    filter: parseTime,
 | 
							filter: parseTime,
 | 
				
			||||||
    minWidth: 160
 | 
							minWidth: 160,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'classesName',
 | 
							prop: 'classesName',
 | 
				
			||||||
    label: '班次名称',
 | 
							label: '班次名称',
 | 
				
			||||||
    showOverflowtooltip: true
 | 
							showOverflowtooltip: true,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'teamName',
 | 
							prop: 'teamName',
 | 
				
			||||||
    label: '班组名称',
 | 
							label: '班组名称',
 | 
				
			||||||
    showOverflowtooltip: true
 | 
							showOverflowtooltip: true,
 | 
				
			||||||
  }
 | 
						},
 | 
				
			||||||
]
 | 
					];
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: 'GroupTeamScheduling',
 | 
						name: 'GroupTeamScheduling',
 | 
				
			||||||
  data() {
 | 
						mixins: [tableHeightMixin],
 | 
				
			||||||
    return {
 | 
						data() {
 | 
				
			||||||
      // 查询参数
 | 
							return {
 | 
				
			||||||
      queryParams: {
 | 
								// 查询参数
 | 
				
			||||||
        pageNo: 1,
 | 
								queryParams: {
 | 
				
			||||||
        pageSize: 20,
 | 
									pageNo: 1,
 | 
				
			||||||
        classesId: '',
 | 
									pageSize: 20,
 | 
				
			||||||
        teamName: '',
 | 
									classesId: '',
 | 
				
			||||||
        startDay: []
 | 
									teamName: '',
 | 
				
			||||||
      },
 | 
									startDay: [],
 | 
				
			||||||
      tableProps,
 | 
								},
 | 
				
			||||||
      tableBtn: [
 | 
								tableProps,
 | 
				
			||||||
        this.$auth.hasPermi('base:team-production:detail')
 | 
								tableBtn: [
 | 
				
			||||||
          ? {
 | 
									this.$auth.hasPermi('base:team-production:detail')
 | 
				
			||||||
            type: 'productionDetail',
 | 
										? {
 | 
				
			||||||
            btnName: '查看',
 | 
												type: 'productionDetail',
 | 
				
			||||||
            showTip: '生产情况'
 | 
												btnName: '查看',
 | 
				
			||||||
          }
 | 
												showTip: '生产情况',
 | 
				
			||||||
          : undefined
 | 
										  }
 | 
				
			||||||
      ].filter((v) => v),
 | 
										: undefined,
 | 
				
			||||||
      list: [],
 | 
								].filter((v) => v),
 | 
				
			||||||
      tableH: this.tableHeight(260),
 | 
								list: [],
 | 
				
			||||||
      total: 0,
 | 
								total: 0,
 | 
				
			||||||
      paramVisible: false
 | 
								paramVisible: false,
 | 
				
			||||||
    }
 | 
							};
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  components: { TeamProductionDetail, SearchArea },
 | 
						components: { TeamProductionDetail, SearchArea },
 | 
				
			||||||
  mounted() {
 | 
						mounted() {
 | 
				
			||||||
    window.addEventListener('resize', () => {
 | 
							this.getList();
 | 
				
			||||||
      this.tableH = this.tableHeight(260)
 | 
						},
 | 
				
			||||||
    })
 | 
						methods: {
 | 
				
			||||||
    this.getList()
 | 
							buttonClick(val) {
 | 
				
			||||||
  },
 | 
								this.queryParams.pageNo = 1;
 | 
				
			||||||
  methods: {
 | 
								this.queryParams.classesId = val.classesId;
 | 
				
			||||||
    buttonClick(val) {
 | 
								this.queryParams.teamName = val.teamName;
 | 
				
			||||||
      this.queryParams.pageNo = 1;
 | 
								this.queryParams.startDay[0] = val.tiemStr
 | 
				
			||||||
      this.queryParams.classesId = val.classesId
 | 
									? val.tiemStr[0] + ' 00:00:00'
 | 
				
			||||||
      this.queryParams.teamName = val.teamName
 | 
									: '';
 | 
				
			||||||
      this.queryParams.startDay[0] = val.tiemStr ? val.tiemStr[0] + ' 00:00:00' : ''
 | 
								this.queryParams.startDay[1] = val.tiemStr
 | 
				
			||||||
      this.queryParams.startDay[1] = val.tiemStr ? val.tiemStr[1] + ' 23:59:59' : ''
 | 
									? val.tiemStr[1] + ' 23:59:59'
 | 
				
			||||||
      this.getList()
 | 
									: '';
 | 
				
			||||||
    },
 | 
								this.getList();
 | 
				
			||||||
    getList() {
 | 
							},
 | 
				
			||||||
      groupTeamSchedulingPage({ ...this.queryParams }).then(res => {
 | 
							getList() {
 | 
				
			||||||
        console.log(res)
 | 
								groupTeamSchedulingPage({ ...this.queryParams }).then((res) => {
 | 
				
			||||||
        this.list = res.data.list || []
 | 
									console.log(res);
 | 
				
			||||||
        this.total = res.data.total || 0
 | 
									this.list = res.data.list || [];
 | 
				
			||||||
      })
 | 
									this.total = res.data.total || 0;
 | 
				
			||||||
    },
 | 
								});
 | 
				
			||||||
    handleClick(val) {
 | 
							},
 | 
				
			||||||
      console.log(val)
 | 
							handleClick(val) {
 | 
				
			||||||
      this.paramVisible = true
 | 
								console.log(val);
 | 
				
			||||||
      this.$nextTick(() => {
 | 
								this.paramVisible = true;
 | 
				
			||||||
        this.$refs.schedulingMonitoringDetail.init(val.data)
 | 
								this.$nextTick(() => {
 | 
				
			||||||
      })
 | 
									this.$refs.schedulingMonitoringDetail.init(val.data);
 | 
				
			||||||
    }
 | 
								});
 | 
				
			||||||
  }
 | 
							},
 | 
				
			||||||
}
 | 
						},
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
@@ -1,440 +1,465 @@
 | 
				
			|||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <div class="app-container">
 | 
						<div class="app-container">
 | 
				
			||||||
    <!-- 搜索工作栏 -->
 | 
							<!-- 搜索工作栏 -->
 | 
				
			||||||
    <search-bar
 | 
							<search-bar
 | 
				
			||||||
      :formConfigs="formConfig"
 | 
								:formConfigs="formConfig"
 | 
				
			||||||
      ref="searchBarForm"
 | 
								ref="searchBarForm"
 | 
				
			||||||
      @headBtnClick="buttonClick"
 | 
								@headBtnClick="buttonClick" />
 | 
				
			||||||
    />
 | 
							<!-- 列表 -->
 | 
				
			||||||
    <!-- 列表 -->
 | 
							<base-table
 | 
				
			||||||
    <base-table
 | 
								:page="queryParams.pageNo"
 | 
				
			||||||
      :page="queryParams.pageNo"
 | 
								:limit="queryParams.pageSize"
 | 
				
			||||||
      :limit="queryParams.pageSize"
 | 
								:table-props="tableProps"
 | 
				
			||||||
      :table-props="tableProps"
 | 
								:table-data="list"
 | 
				
			||||||
      :table-data="list"
 | 
								:max-height="tableH">
 | 
				
			||||||
      :max-height="tableH"
 | 
								<method-btn
 | 
				
			||||||
    >
 | 
									v-if="tableBtn.length"
 | 
				
			||||||
      <method-btn
 | 
									slot="handleBtn"
 | 
				
			||||||
        v-if="tableBtn.length"
 | 
									:width="240"
 | 
				
			||||||
        slot="handleBtn"
 | 
									label="操作"
 | 
				
			||||||
        :width="240"
 | 
									:method-list="tableBtn"
 | 
				
			||||||
        label="操作"
 | 
									@clickBtn="handleClick" />
 | 
				
			||||||
        :method-list="tableBtn"
 | 
							</base-table>
 | 
				
			||||||
        @clickBtn="handleClick"
 | 
							<pagination
 | 
				
			||||||
      />
 | 
								:page.sync="queryParams.pageNo"
 | 
				
			||||||
    </base-table>
 | 
								:limit.sync="queryParams.pageSize"
 | 
				
			||||||
    <pagination
 | 
								:total="total"
 | 
				
			||||||
      :page.sync="queryParams.pageNo"
 | 
								@pagination="getList" />
 | 
				
			||||||
      :limit.sync="queryParams.pageSize"
 | 
							<!-- 新增&编辑 -->
 | 
				
			||||||
      :total="total"
 | 
							<base-dialog
 | 
				
			||||||
      @pagination="getList"
 | 
								:dialogTitle="addOrEditTitle"
 | 
				
			||||||
    />
 | 
								:dialogVisible="centervisible"
 | 
				
			||||||
    <!-- 新增&编辑 -->
 | 
								@cancel="handleCancel"
 | 
				
			||||||
    <base-dialog
 | 
								@confirm="handleConfirm"
 | 
				
			||||||
      :dialogTitle="addOrEditTitle"
 | 
								:before-close="handleCancel"
 | 
				
			||||||
      :dialogVisible="centervisible"
 | 
								width="60%">
 | 
				
			||||||
      @cancel="handleCancel"
 | 
								<order-group-add
 | 
				
			||||||
      @confirm="handleConfirm"
 | 
									ref="orderGroupAdd"
 | 
				
			||||||
      :before-close="handleCancel"
 | 
									@successSubmit="successSubmit" />
 | 
				
			||||||
      width='60%'
 | 
							</base-dialog>
 | 
				
			||||||
    >
 | 
							<!-- 查看详情 -->
 | 
				
			||||||
      <order-group-add ref="orderGroupAdd" @successSubmit="successSubmit" />
 | 
							<!-- 新增工单 -->
 | 
				
			||||||
    </base-dialog>
 | 
							<base-dialog
 | 
				
			||||||
    <!-- 查看详情 -->
 | 
								dialogTitle="绑定厂务订单"
 | 
				
			||||||
    <!-- 新增工单 -->
 | 
								:dialogVisible="bindOrderVisible"
 | 
				
			||||||
    <base-dialog
 | 
								@cancel="bindOrderCancel"
 | 
				
			||||||
      dialogTitle="绑定厂务订单"
 | 
								@confirm="bindOrderConfirm"
 | 
				
			||||||
      :dialogVisible="bindOrderVisible"
 | 
								:before-close="bindOrderCancel"
 | 
				
			||||||
      @cancel="bindOrderCancel"
 | 
								width="60%">
 | 
				
			||||||
      @confirm="bindOrderConfirm"
 | 
								<bind-order
 | 
				
			||||||
      :before-close="bindOrderCancel"
 | 
									ref="bindOrder"
 | 
				
			||||||
      width='60%'
 | 
									@bindOrderSubmit="bindOrderSubmit" />
 | 
				
			||||||
    >
 | 
							</base-dialog>
 | 
				
			||||||
      <bind-order ref="bindOrder" @bindOrderSubmit="bindOrderSubmit" />
 | 
						</div>
 | 
				
			||||||
    </base-dialog>
 | 
					 | 
				
			||||||
  </div>
 | 
					 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import { parseTime } from '@/utils/ruoyi'
 | 
					import { parseTime } from '@/utils/ruoyi';
 | 
				
			||||||
import { getOrderGroupPage, groupOrderStatusSet } from '@/api/base/orderGroup'
 | 
					import { getOrderGroupPage, groupOrderStatusSet } from '@/api/base/orderGroup';
 | 
				
			||||||
import { customerList } from '@/api/base/orderManage'
 | 
					import { customerList } from '@/api/base/orderManage';
 | 
				
			||||||
import OrderGroupAdd from './components/orderGroupAdd'
 | 
					import OrderGroupAdd from './components/orderGroupAdd';
 | 
				
			||||||
import BindOrder from './components/bindOrder'
 | 
					import BindOrder from './components/bindOrder';
 | 
				
			||||||
import { publicFormatter } from '@/utils/dict'
 | 
					import { publicFormatter } from '@/utils/dict';
 | 
				
			||||||
 | 
					import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
 | 
				
			||||||
const tableProps = [
 | 
					const tableProps = [
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'createTime',
 | 
							prop: 'createTime',
 | 
				
			||||||
    label: '添加时间',
 | 
							label: '添加时间',
 | 
				
			||||||
    filter: parseTime,
 | 
							filter: parseTime,
 | 
				
			||||||
    minWidth: 160
 | 
							minWidth: 160,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'name',
 | 
							prop: 'name',
 | 
				
			||||||
    label: '订单名称',
 | 
							label: '订单名称',
 | 
				
			||||||
    minWidth: 140,
 | 
							minWidth: 140,
 | 
				
			||||||
    showOverflowtooltip: true
 | 
							showOverflowtooltip: true,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'code',
 | 
							prop: 'code',
 | 
				
			||||||
    label: '订单编码',
 | 
							label: '订单编码',
 | 
				
			||||||
    minWidth: 150
 | 
							minWidth: 150,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'customerId',
 | 
							prop: 'customerId',
 | 
				
			||||||
    label: '客户',
 | 
							label: '客户',
 | 
				
			||||||
    showOverflowtooltip: true
 | 
							showOverflowtooltip: true,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'status',
 | 
							prop: 'status',
 | 
				
			||||||
    label: '订单状态',
 | 
							label: '订单状态',
 | 
				
			||||||
    filter: publicFormatter('order_status')
 | 
							filter: publicFormatter('order_status'),
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'productName',
 | 
							prop: 'productName',
 | 
				
			||||||
    label: '产品名称',
 | 
							label: '产品名称',
 | 
				
			||||||
    minWidth: 200,
 | 
							minWidth: 200,
 | 
				
			||||||
    showOverflowtooltip: true
 | 
							showOverflowtooltip: true,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'specifications',
 | 
							prop: 'specifications',
 | 
				
			||||||
    label: '产品规格',
 | 
							label: '产品规格',
 | 
				
			||||||
    minWidth: 120,
 | 
							minWidth: 120,
 | 
				
			||||||
    showOverflowtooltip: true
 | 
							showOverflowtooltip: true,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'unit',
 | 
							prop: 'unit',
 | 
				
			||||||
    label: '单位',
 | 
							label: '单位',
 | 
				
			||||||
    filter: publicFormatter('unit_dict')
 | 
							filter: publicFormatter('unit_dict'),
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'planQuantity',
 | 
							prop: 'planQuantity',
 | 
				
			||||||
    label: '计划加工量',
 | 
							label: '计划加工量',
 | 
				
			||||||
    width: 100
 | 
							width: 100,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'actualquantity',
 | 
							prop: 'actualquantity',
 | 
				
			||||||
    label: '实际加工量',
 | 
							label: '实际加工量',
 | 
				
			||||||
    width: 100
 | 
							width: 100,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'deliveTime',
 | 
							prop: 'deliveTime',
 | 
				
			||||||
    label: '交货时间',
 | 
							label: '交货时间',
 | 
				
			||||||
    filter: parseTime,
 | 
							filter: parseTime,
 | 
				
			||||||
    minWidth: 160
 | 
							minWidth: 160,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'packReq',
 | 
							prop: 'packReq',
 | 
				
			||||||
    label: '包装要求',
 | 
							label: '包装要求',
 | 
				
			||||||
    // filter: publicFormatter('pack_spec'),
 | 
							// filter: publicFormatter('pack_spec'),
 | 
				
			||||||
    minWidth: 120,
 | 
							minWidth: 120,
 | 
				
			||||||
    showOverflowtooltip: true
 | 
							showOverflowtooltip: true,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'orderIdNum',
 | 
							prop: 'orderIdNum',
 | 
				
			||||||
    label: '订单数量'
 | 
							label: '订单数量',
 | 
				
			||||||
  }  
 | 
						},
 | 
				
			||||||
]
 | 
					];
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: 'OrderGroup',
 | 
						name: 'OrderGroup',
 | 
				
			||||||
  data() {
 | 
						mixins: [tableHeightMixin],
 | 
				
			||||||
    return {
 | 
						data() {
 | 
				
			||||||
      formConfig: [
 | 
							return {
 | 
				
			||||||
        {
 | 
								formConfig: [
 | 
				
			||||||
          type: 'input',
 | 
									{
 | 
				
			||||||
          label: '订单名称',
 | 
										type: 'input',
 | 
				
			||||||
          placeholder: '订单名称',
 | 
										label: '订单名称',
 | 
				
			||||||
          param: 'name'
 | 
										placeholder: '订单名称',
 | 
				
			||||||
        },
 | 
										param: 'name',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: 'select',
 | 
									{
 | 
				
			||||||
          label: '状态',
 | 
										type: 'select',
 | 
				
			||||||
          selectOptions: this.getDictDatas(this.DICT_TYPE.ORDER_STATUS),
 | 
										label: '状态',
 | 
				
			||||||
          labelField: 'label',
 | 
										selectOptions: this.getDictDatas(this.DICT_TYPE.ORDER_STATUS),
 | 
				
			||||||
          valueField: 'value',
 | 
										labelField: 'label',
 | 
				
			||||||
          param: 'status'
 | 
										valueField: 'value',
 | 
				
			||||||
        },
 | 
										param: 'status',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: 'datePicker',
 | 
									{
 | 
				
			||||||
          label: '时间段',
 | 
										type: 'datePicker',
 | 
				
			||||||
          dateType: 'daterange',
 | 
										label: '时间段',
 | 
				
			||||||
          format: 'yyyy-MM-dd',
 | 
										dateType: 'daterange',
 | 
				
			||||||
          valueFormat: "yyyy-MM-dd",
 | 
										format: 'yyyy-MM-dd',
 | 
				
			||||||
          rangeSeparator: '-',
 | 
										valueFormat: 'yyyy-MM-dd',
 | 
				
			||||||
          startPlaceholder: '开始时间',
 | 
										rangeSeparator: '-',
 | 
				
			||||||
          endPlaceholder: '结束时间',
 | 
										startPlaceholder: '开始时间',
 | 
				
			||||||
          param: 'timeVal',
 | 
										endPlaceholder: '结束时间',
 | 
				
			||||||
          defaultSelect: [],
 | 
										param: 'timeVal',
 | 
				
			||||||
          width: 250
 | 
										defaultSelect: [],
 | 
				
			||||||
        },
 | 
										width: 250,
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: 'button',
 | 
									{
 | 
				
			||||||
          btnName: '查询',
 | 
										type: 'button',
 | 
				
			||||||
          name: 'search',
 | 
										btnName: '查询',
 | 
				
			||||||
          color: 'primary'
 | 
										name: 'search',
 | 
				
			||||||
        },
 | 
										color: 'primary',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: this.$auth.hasPermi('base:order-group:create') ? 'separate' : '',
 | 
									{
 | 
				
			||||||
        },
 | 
										type: this.$auth.hasPermi('base:order-group:create')
 | 
				
			||||||
        {
 | 
											? 'separate'
 | 
				
			||||||
          type: this.$auth.hasPermi('base:order-group:create') ? 'button' : '',
 | 
											: '',
 | 
				
			||||||
          btnName: '新增',
 | 
									},
 | 
				
			||||||
          name: 'add',
 | 
									{
 | 
				
			||||||
          color: 'success',
 | 
										type: this.$auth.hasPermi('base:order-group:create') ? 'button' : '',
 | 
				
			||||||
          plain: true
 | 
										btnName: '新增',
 | 
				
			||||||
        }
 | 
										name: 'add',
 | 
				
			||||||
      ],
 | 
										color: 'success',
 | 
				
			||||||
      // 查询参数
 | 
										plain: true,
 | 
				
			||||||
      queryParams: {
 | 
									},
 | 
				
			||||||
        pageNo: 1,
 | 
								],
 | 
				
			||||||
        pageSize: 20,
 | 
								// 查询参数
 | 
				
			||||||
        name: null,
 | 
								queryParams: {
 | 
				
			||||||
        status: null,
 | 
									pageNo: 1,
 | 
				
			||||||
        planFinishTime: []
 | 
									pageSize: 20,
 | 
				
			||||||
      },
 | 
									name: null,
 | 
				
			||||||
      total: 0,
 | 
									status: null,
 | 
				
			||||||
      tableProps,
 | 
									planFinishTime: [],
 | 
				
			||||||
      list: [],
 | 
								},
 | 
				
			||||||
      tableH: this.tableHeight(260),
 | 
								total: 0,
 | 
				
			||||||
      tableBtn: [
 | 
								tableProps,
 | 
				
			||||||
      this.$auth.hasPermi('base:order-group:bind')
 | 
								list: [],
 | 
				
			||||||
          ? {
 | 
								tableBtn: [
 | 
				
			||||||
              type: 'bind',
 | 
									this.$auth.hasPermi('base:order-group:bind')
 | 
				
			||||||
              btnName: '绑定',
 | 
										? {
 | 
				
			||||||
              showTip: '厂务订单',
 | 
												type: 'bind',
 | 
				
			||||||
              showParam: {
 | 
												btnName: '绑定',
 | 
				
			||||||
                type: '&',
 | 
												showTip: '厂务订单',
 | 
				
			||||||
                data: [
 | 
												showParam: {
 | 
				
			||||||
                  {
 | 
													type: '&',
 | 
				
			||||||
                    type: 'less',
 | 
													data: [
 | 
				
			||||||
                    name: 'status',
 | 
														{
 | 
				
			||||||
                    value: 3
 | 
															type: 'less',
 | 
				
			||||||
                  }
 | 
															name: 'status',
 | 
				
			||||||
                ]
 | 
															value: 3,
 | 
				
			||||||
              }
 | 
														},
 | 
				
			||||||
            }
 | 
													],
 | 
				
			||||||
          : undefined,
 | 
												},
 | 
				
			||||||
      this.$auth.hasPermi('base:order-group:complete')
 | 
										  }
 | 
				
			||||||
          ? {
 | 
										: undefined,
 | 
				
			||||||
              type: 'complete',
 | 
									this.$auth.hasPermi('base:order-group:complete')
 | 
				
			||||||
              btnName: '完成',
 | 
										? {
 | 
				
			||||||
              showTip: '完成订单',
 | 
												type: 'complete',
 | 
				
			||||||
              showParam: {
 | 
												btnName: '完成',
 | 
				
			||||||
                type: '&',
 | 
												showTip: '完成订单',
 | 
				
			||||||
                data: [
 | 
												showParam: {
 | 
				
			||||||
                  {
 | 
													type: '&',
 | 
				
			||||||
                    type: 'equal',
 | 
													data: [
 | 
				
			||||||
                    name: 'status',
 | 
														{
 | 
				
			||||||
                    value: 3
 | 
															type: 'equal',
 | 
				
			||||||
                  }
 | 
															name: 'status',
 | 
				
			||||||
                ]
 | 
															value: 3,
 | 
				
			||||||
              }
 | 
														},
 | 
				
			||||||
            }
 | 
													],
 | 
				
			||||||
          : undefined,
 | 
												},
 | 
				
			||||||
          this.$auth.hasPermi('base:order-group:termination')
 | 
										  }
 | 
				
			||||||
          ? {
 | 
										: undefined,
 | 
				
			||||||
              type: 'termination',
 | 
									this.$auth.hasPermi('base:order-group:termination')
 | 
				
			||||||
              btnName: '终止',
 | 
										? {
 | 
				
			||||||
              showTip: '终止',
 | 
												type: 'termination',
 | 
				
			||||||
              showParam: {
 | 
												btnName: '终止',
 | 
				
			||||||
                type: '&',
 | 
												showTip: '终止',
 | 
				
			||||||
                data: [
 | 
												showParam: {
 | 
				
			||||||
                  {
 | 
													type: '&',
 | 
				
			||||||
                    type: 'equal',
 | 
													data: [
 | 
				
			||||||
                    name: 'status',
 | 
														{
 | 
				
			||||||
                    value: 3
 | 
															type: 'equal',
 | 
				
			||||||
                  }
 | 
															name: 'status',
 | 
				
			||||||
                ]
 | 
															value: 3,
 | 
				
			||||||
              }
 | 
														},
 | 
				
			||||||
            }
 | 
													],
 | 
				
			||||||
          : undefined,
 | 
												},
 | 
				
			||||||
          this.$auth.hasPermi('base:order-group:cancel')
 | 
										  }
 | 
				
			||||||
          ? {
 | 
										: undefined,
 | 
				
			||||||
              type: 'cancel',
 | 
									this.$auth.hasPermi('base:order-group:cancel')
 | 
				
			||||||
              btnName: '作废',
 | 
										? {
 | 
				
			||||||
              showTip: '作废',
 | 
												type: 'cancel',
 | 
				
			||||||
              showParam: {
 | 
												btnName: '作废',
 | 
				
			||||||
                type: '&',
 | 
												showTip: '作废',
 | 
				
			||||||
                data: [
 | 
												showParam: {
 | 
				
			||||||
                  {
 | 
													type: '&',
 | 
				
			||||||
                    type: 'less',
 | 
													data: [
 | 
				
			||||||
                    name: 'status',
 | 
														{
 | 
				
			||||||
                    value: 2
 | 
															type: 'less',
 | 
				
			||||||
                  }
 | 
															name: 'status',
 | 
				
			||||||
                ]
 | 
															value: 2,
 | 
				
			||||||
              }
 | 
														},
 | 
				
			||||||
            }
 | 
													],
 | 
				
			||||||
          : undefined,
 | 
												},
 | 
				
			||||||
          {
 | 
										  }
 | 
				
			||||||
            type: 'detail',
 | 
										: undefined,
 | 
				
			||||||
            btnName: '详情'
 | 
									{
 | 
				
			||||||
          },
 | 
										type: 'detail',
 | 
				
			||||||
        this.$auth.hasPermi('base:order-group:edit')
 | 
										btnName: '详情',
 | 
				
			||||||
          ? {
 | 
									},
 | 
				
			||||||
              type: 'edit',
 | 
									this.$auth.hasPermi('base:order-group:edit')
 | 
				
			||||||
              btnName: '编辑',
 | 
										? {
 | 
				
			||||||
              showParam: {
 | 
												type: 'edit',
 | 
				
			||||||
                type: '&',
 | 
												btnName: '编辑',
 | 
				
			||||||
                data: [
 | 
												showParam: {
 | 
				
			||||||
                  {
 | 
													type: '&',
 | 
				
			||||||
                    type: 'less',
 | 
													data: [
 | 
				
			||||||
                    name: 'status',
 | 
														{
 | 
				
			||||||
                    value: 2
 | 
															type: 'less',
 | 
				
			||||||
                  }
 | 
															name: 'status',
 | 
				
			||||||
                ]
 | 
															value: 2,
 | 
				
			||||||
              }
 | 
														},
 | 
				
			||||||
            }
 | 
													],
 | 
				
			||||||
          : undefined
 | 
												},
 | 
				
			||||||
      ].filter((v) => v),
 | 
										  }
 | 
				
			||||||
      addOrEditTitle: '',
 | 
										: undefined,
 | 
				
			||||||
      centervisible: false,
 | 
								].filter((v) => v),
 | 
				
			||||||
      priorityList: this.getDictDatas(this.DICT_TYPE.ORDER_PRIORITY),
 | 
								addOrEditTitle: '',
 | 
				
			||||||
      workIssueTitle: '',
 | 
								centervisible: false,
 | 
				
			||||||
      bindOrderVisible: false,
 | 
								priorityList: this.getDictDatas(this.DICT_TYPE.ORDER_PRIORITY),
 | 
				
			||||||
      orderDetailVisible: false
 | 
								workIssueTitle: '',
 | 
				
			||||||
    }
 | 
								bindOrderVisible: false,
 | 
				
			||||||
  },
 | 
								orderDetailVisible: false,
 | 
				
			||||||
  components: { OrderGroupAdd, BindOrder },
 | 
							};
 | 
				
			||||||
  created() {
 | 
						},
 | 
				
			||||||
    window.addEventListener('resize', () => {
 | 
						components: { OrderGroupAdd, BindOrder },
 | 
				
			||||||
      this.tableH = this.tableHeight(260)
 | 
						created() {
 | 
				
			||||||
    })
 | 
							this.getList();
 | 
				
			||||||
    this.getList()
 | 
						},
 | 
				
			||||||
  },
 | 
						methods: {
 | 
				
			||||||
  methods: {
 | 
							getList() {
 | 
				
			||||||
    getList() {
 | 
								getOrderGroupPage({ ...this.queryParams }).then((res) => {
 | 
				
			||||||
      getOrderGroupPage({...this.queryParams}).then(res => {
 | 
									let arr = res.data.records || [];
 | 
				
			||||||
        let arr = res.data.records || []
 | 
									this.total = res.data.total || 0;
 | 
				
			||||||
        this.total = res.data.total || 0
 | 
									if (arr.length > 0) {
 | 
				
			||||||
        if (arr.length > 0) {
 | 
										customerList().then((result) => {
 | 
				
			||||||
          customerList().then(result => {
 | 
											let tempData = result.data || [];
 | 
				
			||||||
            let tempData = result.data || []
 | 
											if (tempData.length > 0) {
 | 
				
			||||||
            if (tempData.length > 0) {
 | 
												arr.map((item) => {
 | 
				
			||||||
              arr.map(item => {
 | 
													for (let i of tempData) {
 | 
				
			||||||
                for (let i of tempData) {
 | 
														if (item.customerId === i.id) {
 | 
				
			||||||
                  if (item.customerId === i.id) {
 | 
															item.customerId = i.name;
 | 
				
			||||||
                    item.customerId = i.name
 | 
														}
 | 
				
			||||||
                  }
 | 
													}
 | 
				
			||||||
                }
 | 
												});
 | 
				
			||||||
              })
 | 
												this.list = arr;
 | 
				
			||||||
              this.list = arr
 | 
											}
 | 
				
			||||||
            }
 | 
										});
 | 
				
			||||||
          })
 | 
									} else {
 | 
				
			||||||
        }else {
 | 
										this.list = arr;
 | 
				
			||||||
          this.list = arr
 | 
									}
 | 
				
			||||||
        }
 | 
								});
 | 
				
			||||||
      })
 | 
							},
 | 
				
			||||||
    },
 | 
							buttonClick(val) {
 | 
				
			||||||
    buttonClick(val) {
 | 
								console.log(val);
 | 
				
			||||||
      console.log(val)
 | 
								if (val.btnName === 'search') {
 | 
				
			||||||
      if (val.btnName === 'search') {
 | 
									this.queryParams.name = val.name;
 | 
				
			||||||
        this.queryParams.name = val.name
 | 
									this.queryParams.status = val.status;
 | 
				
			||||||
        this.queryParams.status = val.status
 | 
									if (val.timeVal && val.timeVal.length > 0) {
 | 
				
			||||||
        if (val.timeVal && val.timeVal.length > 0) {
 | 
										this.queryParams.planFinishTime[0] = val.timeVal[0] + ' 00:00:00';
 | 
				
			||||||
          this.queryParams.planFinishTime[0] = val.timeVal[0] + ' 00:00:00'
 | 
										this.queryParams.planFinishTime[1] = val.timeVal[1] + ' 23:59:59';
 | 
				
			||||||
          this.queryParams.planFinishTime[1] = val.timeVal[1] + ' 23:59:59'
 | 
									} else {
 | 
				
			||||||
        } else {
 | 
										this.queryParams.planFinishTime = [];
 | 
				
			||||||
          this.queryParams.planFinishTime = []
 | 
									}
 | 
				
			||||||
        }
 | 
									this.getList();
 | 
				
			||||||
        this.getList()
 | 
								} else {
 | 
				
			||||||
      } else {
 | 
									this.addOrEditTitle = '新增';
 | 
				
			||||||
        this.addOrEditTitle = '新增'
 | 
									this.centervisible = true;
 | 
				
			||||||
        this.centervisible = true
 | 
									this.$nextTick(() => {
 | 
				
			||||||
        this.$nextTick(() => {
 | 
										this.$refs.orderGroupAdd.init();
 | 
				
			||||||
          this.$refs.orderGroupAdd.init()
 | 
									});
 | 
				
			||||||
        })
 | 
								}
 | 
				
			||||||
      }
 | 
							},
 | 
				
			||||||
    },
 | 
							handleClick(val) {
 | 
				
			||||||
    handleClick(val) {
 | 
								console.log(val);
 | 
				
			||||||
      console.log(val)
 | 
								switch (val.type) {
 | 
				
			||||||
      switch (val.type) {
 | 
									case 'edit':
 | 
				
			||||||
        case 'edit':
 | 
										this.addOrEditTitle = '编辑';
 | 
				
			||||||
          this.addOrEditTitle = '编辑'
 | 
										this.centervisible = true;
 | 
				
			||||||
          this.centervisible = true
 | 
										this.$nextTick(() => {
 | 
				
			||||||
          this.$nextTick(() => {
 | 
											this.$refs.orderGroupAdd.init(val.data.id);
 | 
				
			||||||
            this.$refs.orderGroupAdd.init(val.data.id)
 | 
										});
 | 
				
			||||||
          })
 | 
										break;
 | 
				
			||||||
          break
 | 
									case 'cancel':
 | 
				
			||||||
        case 'cancel':
 | 
										this.handleEditStatus(val.data, '作废', '6');
 | 
				
			||||||
          this.handleEditStatus(val.data, '作废', '6')
 | 
										break;
 | 
				
			||||||
          break
 | 
									case 'detail':
 | 
				
			||||||
        case 'detail':
 | 
										this.$router.push({
 | 
				
			||||||
          this.$router.push({path: '/order/base/order-group/order-group-detail-data?orderGroupId='+ val.data.id})
 | 
											path:
 | 
				
			||||||
          break
 | 
												'/order/base/order-group/order-group-detail-data?orderGroupId=' +
 | 
				
			||||||
        case 'termination':
 | 
												val.data.id,
 | 
				
			||||||
          this.handleEditStatus(val.data, '终止', '5')
 | 
										});
 | 
				
			||||||
          break
 | 
										break;
 | 
				
			||||||
        case 'bind':
 | 
									case 'termination':
 | 
				
			||||||
          this.workIssueTitle = '绑定工单'
 | 
										this.handleEditStatus(val.data, '终止', '5');
 | 
				
			||||||
          this.bindOrderVisible = true
 | 
										break;
 | 
				
			||||||
          this.$nextTick(() => {
 | 
									case 'bind':
 | 
				
			||||||
            this.$refs.bindOrder.init(val.data)
 | 
										this.workIssueTitle = '绑定工单';
 | 
				
			||||||
          })
 | 
										this.bindOrderVisible = true;
 | 
				
			||||||
          break
 | 
										this.$nextTick(() => {
 | 
				
			||||||
        case 'complete':
 | 
											this.$refs.bindOrder.init(val.data);
 | 
				
			||||||
          this.handleEditStatus(val.data, '完成', '4')
 | 
										});
 | 
				
			||||||
          break
 | 
										break;
 | 
				
			||||||
        default:
 | 
									case 'complete':
 | 
				
			||||||
      }
 | 
										this.handleEditStatus(val.data, '完成', '4');
 | 
				
			||||||
    },
 | 
										break;
 | 
				
			||||||
    // 完成,终止,作废
 | 
									default:
 | 
				
			||||||
    handleEditStatus(val, tip, status) {
 | 
								}
 | 
				
			||||||
      let _this = this
 | 
							},
 | 
				
			||||||
      if (val.orderIdNum > 0) {// 有下级订单
 | 
							// 完成,终止,作废
 | 
				
			||||||
        _this.$confirm('是否将"'+tip+'"操作同步至下级订单和工单?','确认信息', {
 | 
							handleEditStatus(val, tip, status) {
 | 
				
			||||||
          type: 'warning',
 | 
								let _this = this;
 | 
				
			||||||
          distinguishCancelAndClose: true,
 | 
								if (val.orderIdNum > 0) {
 | 
				
			||||||
          confirmButtonText: '同步',
 | 
									// 有下级订单
 | 
				
			||||||
          cancelButtonText: '不同步'
 | 
									_this
 | 
				
			||||||
        }).then(function() {
 | 
										.$confirm(
 | 
				
			||||||
          console.log('同步')
 | 
											'是否将"' + tip + '"操作同步至下级订单和工单?',
 | 
				
			||||||
          groupOrderStatusSet({ id: val.id, status: status, isSync: true}).then(() => {
 | 
											'确认信息',
 | 
				
			||||||
            _this.getList();
 | 
											{
 | 
				
			||||||
            _this.$modal.msgSuccess("操作成功");
 | 
												type: 'warning',
 | 
				
			||||||
          })
 | 
												distinguishCancelAndClose: true,
 | 
				
			||||||
        }).catch(action => {
 | 
												confirmButtonText: '同步',
 | 
				
			||||||
          if (action === 'cancel') {
 | 
												cancelButtonText: '不同步',
 | 
				
			||||||
            console.log('不同步')
 | 
											}
 | 
				
			||||||
            groupOrderStatusSet({ id: val.id, status: status, isSync: false}).then(() => {
 | 
										)
 | 
				
			||||||
              _this.getList();
 | 
										.then(function () {
 | 
				
			||||||
              _this.$modal.msgSuccess("操作成功");
 | 
											console.log('同步');
 | 
				
			||||||
            })
 | 
											groupOrderStatusSet({
 | 
				
			||||||
          }else {
 | 
												id: val.id,
 | 
				
			||||||
            return console.log('关闭')
 | 
												status: status,
 | 
				
			||||||
          }
 | 
												isSync: true,
 | 
				
			||||||
        })
 | 
											}).then(() => {
 | 
				
			||||||
      }else{// 无下级订单
 | 
												_this.getList();
 | 
				
			||||||
        _this.$modal.confirm('是否确认"'+tip+'"集团订单名称为"' + val.name + '"的数据项?').then(function() {
 | 
												_this.$modal.msgSuccess('操作成功');
 | 
				
			||||||
          return groupOrderStatusSet({ id: val.id, status: status})
 | 
											});
 | 
				
			||||||
        }).then(() => {
 | 
										})
 | 
				
			||||||
          _this.getList();
 | 
										.catch((action) => {
 | 
				
			||||||
          _this.$modal.msgSuccess("操作成功");
 | 
											if (action === 'cancel') {
 | 
				
			||||||
        }).catch(() => {});
 | 
												console.log('不同步');
 | 
				
			||||||
      }
 | 
												groupOrderStatusSet({
 | 
				
			||||||
    },
 | 
													id: val.id,
 | 
				
			||||||
    handleCancel() {
 | 
													status: status,
 | 
				
			||||||
      this.$refs.orderGroupAdd.formClear()
 | 
													isSync: false,
 | 
				
			||||||
      this.centervisible = false
 | 
												}).then(() => {
 | 
				
			||||||
      this.addOrEditTitle = ''
 | 
													_this.getList();
 | 
				
			||||||
    },
 | 
													_this.$modal.msgSuccess('操作成功');
 | 
				
			||||||
    handleConfirm() {
 | 
												});
 | 
				
			||||||
      this.$refs.orderGroupAdd.submitForm()
 | 
											} else {
 | 
				
			||||||
    },
 | 
												return console.log('关闭');
 | 
				
			||||||
    successSubmit() {
 | 
											}
 | 
				
			||||||
      this.handleCancel()
 | 
										});
 | 
				
			||||||
      this.getList()
 | 
								} else {
 | 
				
			||||||
    },
 | 
									// 无下级订单
 | 
				
			||||||
    // 下发新增
 | 
									_this.$modal
 | 
				
			||||||
    bindOrderCancel() {
 | 
										.confirm(
 | 
				
			||||||
      this.$refs.bindOrder.formClear()
 | 
											'是否确认"' + tip + '"集团订单名称为"' + val.name + '"的数据项?'
 | 
				
			||||||
      this.bindOrderVisible = false
 | 
										)
 | 
				
			||||||
    },
 | 
										.then(function () {
 | 
				
			||||||
    bindOrderConfirm() {
 | 
											return groupOrderStatusSet({ id: val.id, status: status });
 | 
				
			||||||
      this.$refs.bindOrder.bindOrderSubmit()
 | 
										})
 | 
				
			||||||
    },
 | 
										.then(() => {
 | 
				
			||||||
    bindOrderSubmit() {
 | 
											_this.getList();
 | 
				
			||||||
      this.bindOrderCancel()
 | 
											_this.$modal.msgSuccess('操作成功');
 | 
				
			||||||
      this.getList()
 | 
										})
 | 
				
			||||||
    }
 | 
										.catch(() => {});
 | 
				
			||||||
  }
 | 
								}
 | 
				
			||||||
}
 | 
							},
 | 
				
			||||||
 | 
							handleCancel() {
 | 
				
			||||||
 | 
								this.$refs.orderGroupAdd.formClear();
 | 
				
			||||||
 | 
								this.centervisible = false;
 | 
				
			||||||
 | 
								this.addOrEditTitle = '';
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							handleConfirm() {
 | 
				
			||||||
 | 
								this.$refs.orderGroupAdd.submitForm();
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							successSubmit() {
 | 
				
			||||||
 | 
								this.handleCancel();
 | 
				
			||||||
 | 
								this.getList();
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							// 下发新增
 | 
				
			||||||
 | 
							bindOrderCancel() {
 | 
				
			||||||
 | 
								this.$refs.bindOrder.formClear();
 | 
				
			||||||
 | 
								this.bindOrderVisible = false;
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							bindOrderConfirm() {
 | 
				
			||||||
 | 
								this.$refs.bindOrder.bindOrderSubmit();
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							bindOrderSubmit() {
 | 
				
			||||||
 | 
								this.bindOrderCancel();
 | 
				
			||||||
 | 
								this.getList();
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
@@ -1,470 +1,494 @@
 | 
				
			|||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <div class="app-container">
 | 
						<div class="app-container">
 | 
				
			||||||
    <!-- 搜索工作栏 -->
 | 
							<!-- 搜索工作栏 -->
 | 
				
			||||||
    <search-bar
 | 
							<search-bar
 | 
				
			||||||
      :formConfigs="formConfig"
 | 
								:formConfigs="formConfig"
 | 
				
			||||||
      ref="searchBarForm"
 | 
								ref="searchBarForm"
 | 
				
			||||||
      @headBtnClick="buttonClick"
 | 
								@headBtnClick="buttonClick" />
 | 
				
			||||||
    />
 | 
							<!-- 列表 -->
 | 
				
			||||||
    <!-- 列表 -->
 | 
							<base-table
 | 
				
			||||||
    <base-table
 | 
								:page="queryParams.pageNo"
 | 
				
			||||||
      :page="queryParams.pageNo"
 | 
								:limit="queryParams.pageSize"
 | 
				
			||||||
      :limit="queryParams.pageSize"
 | 
								:table-props="tableProps"
 | 
				
			||||||
      :table-props="tableProps"
 | 
								:table-data="list"
 | 
				
			||||||
      :table-data="list"
 | 
								:max-height="tableH">
 | 
				
			||||||
      :max-height="tableH"
 | 
								<method-btn
 | 
				
			||||||
    >
 | 
									v-if="tableBtn.length"
 | 
				
			||||||
      <method-btn
 | 
									slot="handleBtn"
 | 
				
			||||||
        v-if="tableBtn.length"
 | 
									:width="290"
 | 
				
			||||||
        slot="handleBtn"
 | 
									label="操作"
 | 
				
			||||||
        :width="290"
 | 
									:method-list="tableBtn"
 | 
				
			||||||
        label="操作"
 | 
									@clickBtn="handleClick" />
 | 
				
			||||||
        :method-list="tableBtn"
 | 
							</base-table>
 | 
				
			||||||
        @clickBtn="handleClick"
 | 
							<pagination
 | 
				
			||||||
      />
 | 
								:page.sync="queryParams.pageNo"
 | 
				
			||||||
    </base-table>
 | 
								:limit.sync="queryParams.pageSize"
 | 
				
			||||||
    <pagination
 | 
								:total="total"
 | 
				
			||||||
      :page.sync="queryParams.pageNo"
 | 
								@pagination="getList" />
 | 
				
			||||||
      :limit.sync="queryParams.pageSize"
 | 
							<!-- 新增&编辑 -->
 | 
				
			||||||
      :total="total"
 | 
							<base-dialog
 | 
				
			||||||
      @pagination="getList"
 | 
								:dialogTitle="addOrEditTitle"
 | 
				
			||||||
    />
 | 
								:dialogVisible="centervisible"
 | 
				
			||||||
    <!-- 新增&编辑 -->
 | 
								@cancel="handleCancel"
 | 
				
			||||||
    <base-dialog
 | 
								@confirm="handleConfirm"
 | 
				
			||||||
      :dialogTitle="addOrEditTitle"
 | 
								:before-close="handleCancel"
 | 
				
			||||||
      :dialogVisible="centervisible"
 | 
								width="60%">
 | 
				
			||||||
      @cancel="handleCancel"
 | 
								<order-add
 | 
				
			||||||
      @confirm="handleConfirm"
 | 
									ref="orderAdd"
 | 
				
			||||||
      :before-close="handleCancel"
 | 
									@successSubmit="successSubmit" />
 | 
				
			||||||
      width='60%'
 | 
							</base-dialog>
 | 
				
			||||||
    >
 | 
							<!-- 查看详情 -->
 | 
				
			||||||
      <order-add ref="orderAdd" @successSubmit="successSubmit" />
 | 
							<!-- 新增工单 -->
 | 
				
			||||||
    </base-dialog>
 | 
							<base-dialog
 | 
				
			||||||
    <!-- 查看详情 -->
 | 
								:dialogTitle="workIssueTitle"
 | 
				
			||||||
    <!-- 新增工单 -->
 | 
								:dialogVisible="addWorkOrdervisible"
 | 
				
			||||||
    <base-dialog
 | 
								@cancel="addWorkOrderCancel"
 | 
				
			||||||
      :dialogTitle="workIssueTitle"
 | 
								@confirm="addWorkOrderConfirm"
 | 
				
			||||||
      :dialogVisible="addWorkOrdervisible"
 | 
								:before-close="addWorkOrderCancel"
 | 
				
			||||||
      @cancel="addWorkOrderCancel"
 | 
								width="70%">
 | 
				
			||||||
      @confirm="addWorkOrderConfirm"
 | 
								<add-work-order
 | 
				
			||||||
      :before-close="addWorkOrderCancel"
 | 
									ref="addWorkOrder"
 | 
				
			||||||
      width='70%'
 | 
									@addWorkOrderSubmit="addWorkOrderSubmit" />
 | 
				
			||||||
    >
 | 
							</base-dialog>
 | 
				
			||||||
      <add-work-order ref="addWorkOrder" @addWorkOrderSubmit="addWorkOrderSubmit" />
 | 
						</div>
 | 
				
			||||||
    </base-dialog>
 | 
					 | 
				
			||||||
  </div>
 | 
					 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import { parseTime } from '@/utils/ruoyi'
 | 
					import { parseTime } from '@/utils/ruoyi';
 | 
				
			||||||
import { getOrderPage, orderStatusSet, customerList, orderFinish } from '@/api/base/orderManage'
 | 
					import {
 | 
				
			||||||
import OrderAdd from './components/orderAdd'
 | 
						getOrderPage,
 | 
				
			||||||
import AddWorkOrder from './components/addWorkOrder'
 | 
						orderStatusSet,
 | 
				
			||||||
import { publicFormatter } from '@/utils/dict'
 | 
						customerList,
 | 
				
			||||||
 | 
						orderFinish,
 | 
				
			||||||
 | 
					} from '@/api/base/orderManage';
 | 
				
			||||||
 | 
					import OrderAdd from './components/orderAdd';
 | 
				
			||||||
 | 
					import AddWorkOrder from './components/addWorkOrder';
 | 
				
			||||||
 | 
					import { publicFormatter } from '@/utils/dict';
 | 
				
			||||||
 | 
					import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
 | 
				
			||||||
const tableProps = [
 | 
					const tableProps = [
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'createTime',
 | 
							prop: 'createTime',
 | 
				
			||||||
    label: '添加时间',
 | 
							label: '添加时间',
 | 
				
			||||||
    filter: parseTime,
 | 
							filter: parseTime,
 | 
				
			||||||
    minWidth: 160
 | 
							minWidth: 160,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'name',
 | 
							prop: 'name',
 | 
				
			||||||
    label: '订单名称',
 | 
							label: '订单名称',
 | 
				
			||||||
    minWidth: 140,
 | 
							minWidth: 140,
 | 
				
			||||||
    showOverflowtooltip: true
 | 
							showOverflowtooltip: true,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'code',
 | 
							prop: 'code',
 | 
				
			||||||
    label: '订单编码',
 | 
							label: '订单编码',
 | 
				
			||||||
    minWidth: 150,
 | 
							minWidth: 150,
 | 
				
			||||||
    showOverflowtooltip: true
 | 
							showOverflowtooltip: true,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'triggerOrigin',
 | 
							prop: 'triggerOrigin',
 | 
				
			||||||
    label: '来源',
 | 
							label: '来源',
 | 
				
			||||||
    filter: publicFormatter('order_Origin')
 | 
							filter: publicFormatter('order_Origin'),
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'priority',
 | 
							prop: 'priority',
 | 
				
			||||||
    label: '优先级',
 | 
							label: '优先级',
 | 
				
			||||||
    filter: publicFormatter('order_priority')
 | 
							filter: publicFormatter('order_priority'),
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'status',
 | 
							prop: 'status',
 | 
				
			||||||
    label: '订单状态',
 | 
							label: '订单状态',
 | 
				
			||||||
    filter: publicFormatter('order_status')
 | 
							filter: publicFormatter('order_status'),
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'planQuantity',
 | 
							prop: 'planQuantity',
 | 
				
			||||||
    label: '计划加工量',
 | 
							label: '计划加工量',
 | 
				
			||||||
    width: 100
 | 
							width: 100,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'actualQuantity',
 | 
							prop: 'actualQuantity',
 | 
				
			||||||
    label: '实际加工量',
 | 
							label: '实际加工量',
 | 
				
			||||||
    width: 100
 | 
							width: 100,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'productName',
 | 
							prop: 'productName',
 | 
				
			||||||
    label: '产品',
 | 
							label: '产品',
 | 
				
			||||||
    width: 200,
 | 
							width: 200,
 | 
				
			||||||
    showOverflowtooltip: true
 | 
							showOverflowtooltip: true,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'unit',
 | 
							prop: 'unit',
 | 
				
			||||||
    label: '单位',
 | 
							label: '单位',
 | 
				
			||||||
    filter: publicFormatter('unit_dict')
 | 
							filter: publicFormatter('unit_dict'),
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'price',
 | 
							prop: 'price',
 | 
				
			||||||
    label: '单价(元)',
 | 
							label: '单价(元)',
 | 
				
			||||||
    align: 'right'
 | 
							align: 'right',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'workOrderNum',
 | 
							prop: 'workOrderNum',
 | 
				
			||||||
    label: '工单数量'
 | 
							label: '工单数量',
 | 
				
			||||||
  }
 | 
						},
 | 
				
			||||||
]
 | 
					];
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: 'OrderManage',
 | 
						name: 'OrderManage',
 | 
				
			||||||
  data() {
 | 
						mixins: [tableHeightMixin],
 | 
				
			||||||
    return {
 | 
						data() {
 | 
				
			||||||
      formConfig: [
 | 
							return {
 | 
				
			||||||
        {
 | 
								formConfig: [
 | 
				
			||||||
          type: 'input',
 | 
									{
 | 
				
			||||||
          label: '订单名称',
 | 
										type: 'input',
 | 
				
			||||||
          placeholder: '订单名称',
 | 
										label: '订单名称',
 | 
				
			||||||
          param: 'name'
 | 
										placeholder: '订单名称',
 | 
				
			||||||
        },
 | 
										param: 'name',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: 'select',
 | 
									{
 | 
				
			||||||
          label: '状态',
 | 
										type: 'select',
 | 
				
			||||||
          selectOptions: this.getDictDatas(this.DICT_TYPE.ORDER_STATUS),
 | 
										label: '状态',
 | 
				
			||||||
          labelField: 'label',
 | 
										selectOptions: this.getDictDatas(this.DICT_TYPE.ORDER_STATUS),
 | 
				
			||||||
          valueField: 'value',
 | 
										labelField: 'label',
 | 
				
			||||||
          param: 'status'
 | 
										valueField: 'value',
 | 
				
			||||||
        },
 | 
										param: 'status',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: 'datePicker',
 | 
									{
 | 
				
			||||||
          label: '时间段',
 | 
										type: 'datePicker',
 | 
				
			||||||
          dateType: 'daterange',
 | 
										label: '时间段',
 | 
				
			||||||
          format: 'yyyy-MM-dd',
 | 
										dateType: 'daterange',
 | 
				
			||||||
          valueFormat: "yyyy-MM-dd",
 | 
										format: 'yyyy-MM-dd',
 | 
				
			||||||
          rangeSeparator: '-',
 | 
										valueFormat: 'yyyy-MM-dd',
 | 
				
			||||||
          startPlaceholder: '开始时间',
 | 
										rangeSeparator: '-',
 | 
				
			||||||
          endPlaceholder: '结束时间',
 | 
										startPlaceholder: '开始时间',
 | 
				
			||||||
          param: 'timeVal',
 | 
										endPlaceholder: '结束时间',
 | 
				
			||||||
          defaultSelect: [],
 | 
										param: 'timeVal',
 | 
				
			||||||
          width: 250
 | 
										defaultSelect: [],
 | 
				
			||||||
        },
 | 
										width: 250,
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: 'button',
 | 
									{
 | 
				
			||||||
          btnName: '查询',
 | 
										type: 'button',
 | 
				
			||||||
          name: 'search',
 | 
										btnName: '查询',
 | 
				
			||||||
          color: 'primary'
 | 
										name: 'search',
 | 
				
			||||||
        },
 | 
										color: 'primary',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: this.$auth.hasPermi('base:order-manage:create') ? 'separate' : '',
 | 
									{
 | 
				
			||||||
        },
 | 
										type: this.$auth.hasPermi('base:order-manage:create')
 | 
				
			||||||
        {
 | 
											? 'separate'
 | 
				
			||||||
          type: this.$auth.hasPermi('base:order-manage:create') ? 'button' : '',
 | 
											: '',
 | 
				
			||||||
          btnName: '新增',
 | 
									},
 | 
				
			||||||
          name: 'add',
 | 
									{
 | 
				
			||||||
          color: 'success',
 | 
										type: this.$auth.hasPermi('base:order-manage:create') ? 'button' : '',
 | 
				
			||||||
          plain: true
 | 
										btnName: '新增',
 | 
				
			||||||
        }
 | 
										name: 'add',
 | 
				
			||||||
      ],
 | 
										color: 'success',
 | 
				
			||||||
      // 查询参数
 | 
										plain: true,
 | 
				
			||||||
      queryParams: {
 | 
									},
 | 
				
			||||||
        pageNo: 1,
 | 
								],
 | 
				
			||||||
        pageSize: 20,
 | 
								// 查询参数
 | 
				
			||||||
        name: null,
 | 
								queryParams: {
 | 
				
			||||||
        status: null,
 | 
									pageNo: 1,
 | 
				
			||||||
        lastIssuedTime: []
 | 
									pageSize: 20,
 | 
				
			||||||
      },
 | 
									name: null,
 | 
				
			||||||
      total: 0,
 | 
									status: null,
 | 
				
			||||||
      tableProps,
 | 
									lastIssuedTime: [],
 | 
				
			||||||
      list: [],
 | 
								},
 | 
				
			||||||
      tableH: this.tableHeight(260),
 | 
								total: 0,
 | 
				
			||||||
      tableBtn: [
 | 
								tableProps,
 | 
				
			||||||
      this.$auth.hasPermi('base:order-manage:addWorkOrder')
 | 
								list: [],
 | 
				
			||||||
          ? {
 | 
								tableBtn: [
 | 
				
			||||||
              type: 'add',
 | 
									this.$auth.hasPermi('base:order-manage:addWorkOrder')
 | 
				
			||||||
              btnName: '新增',
 | 
										? {
 | 
				
			||||||
              showTip: '新增工单',
 | 
												type: 'add',
 | 
				
			||||||
              showParam: {
 | 
												btnName: '新增',
 | 
				
			||||||
                type: '&',
 | 
												showTip: '新增工单',
 | 
				
			||||||
                data: [
 | 
												showParam: {
 | 
				
			||||||
                  {
 | 
													type: '&',
 | 
				
			||||||
                    type: 'less',
 | 
													data: [
 | 
				
			||||||
                    name: 'status',
 | 
														{
 | 
				
			||||||
                    value: 3
 | 
															type: 'less',
 | 
				
			||||||
                  }
 | 
															name: 'status',
 | 
				
			||||||
                ]
 | 
															value: 3,
 | 
				
			||||||
              }
 | 
														},
 | 
				
			||||||
            }
 | 
													],
 | 
				
			||||||
          : undefined,
 | 
												},
 | 
				
			||||||
      this.$auth.hasPermi('base:order-manage:bindWorkOrder')
 | 
										  }
 | 
				
			||||||
          ? {
 | 
										: undefined,
 | 
				
			||||||
              type: 'bind',
 | 
									this.$auth.hasPermi('base:order-manage:bindWorkOrder')
 | 
				
			||||||
              btnName: '绑定',
 | 
										? {
 | 
				
			||||||
              showTip: '绑定工单',
 | 
												type: 'bind',
 | 
				
			||||||
              showParam: {
 | 
												btnName: '绑定',
 | 
				
			||||||
                type: '&',
 | 
												showTip: '绑定工单',
 | 
				
			||||||
                data: [
 | 
												showParam: {
 | 
				
			||||||
                  {
 | 
													type: '&',
 | 
				
			||||||
                    type: 'less',
 | 
													data: [
 | 
				
			||||||
                    name: 'status',
 | 
														{
 | 
				
			||||||
                    value: 3
 | 
															type: 'less',
 | 
				
			||||||
                  }
 | 
															name: 'status',
 | 
				
			||||||
                ]
 | 
															value: 3,
 | 
				
			||||||
              }
 | 
														},
 | 
				
			||||||
            }
 | 
													],
 | 
				
			||||||
          : undefined,
 | 
												},
 | 
				
			||||||
      this.$auth.hasPermi('base:order-manage:complete')
 | 
										  }
 | 
				
			||||||
          ? {
 | 
										: undefined,
 | 
				
			||||||
              type: 'complete',
 | 
									this.$auth.hasPermi('base:order-manage:complete')
 | 
				
			||||||
              btnName: '完成',
 | 
										? {
 | 
				
			||||||
              showTip: '完成订单',
 | 
												type: 'complete',
 | 
				
			||||||
              showParam: {
 | 
												btnName: '完成',
 | 
				
			||||||
                type: '&',
 | 
												showTip: '完成订单',
 | 
				
			||||||
                data: [
 | 
												showParam: {
 | 
				
			||||||
                  {
 | 
													type: '&',
 | 
				
			||||||
                    type: 'equal',
 | 
													data: [
 | 
				
			||||||
                    name: 'status',
 | 
														{
 | 
				
			||||||
                    value: 3
 | 
															type: 'equal',
 | 
				
			||||||
                  }
 | 
															name: 'status',
 | 
				
			||||||
                ]
 | 
															value: 3,
 | 
				
			||||||
              }
 | 
														},
 | 
				
			||||||
            }
 | 
													],
 | 
				
			||||||
          : undefined,
 | 
												},
 | 
				
			||||||
      this.$auth.hasPermi('base:order-manage:termination')
 | 
										  }
 | 
				
			||||||
        ? {
 | 
										: undefined,
 | 
				
			||||||
            type: 'termination',
 | 
									this.$auth.hasPermi('base:order-manage:termination')
 | 
				
			||||||
            btnName: '终止',
 | 
										? {
 | 
				
			||||||
            showTip: '终止',
 | 
												type: 'termination',
 | 
				
			||||||
            showParam: {
 | 
												btnName: '终止',
 | 
				
			||||||
                type: '&',
 | 
												showTip: '终止',
 | 
				
			||||||
                data: [
 | 
												showParam: {
 | 
				
			||||||
                  {
 | 
													type: '&',
 | 
				
			||||||
                    type: 'equal',
 | 
													data: [
 | 
				
			||||||
                    name: 'status',
 | 
														{
 | 
				
			||||||
                    value: 3
 | 
															type: 'equal',
 | 
				
			||||||
                  }
 | 
															name: 'status',
 | 
				
			||||||
                ]
 | 
															value: 3,
 | 
				
			||||||
              }
 | 
														},
 | 
				
			||||||
          }
 | 
													],
 | 
				
			||||||
        : undefined,
 | 
												},
 | 
				
			||||||
      this.$auth.hasPermi('base:order-manage:cancel')
 | 
										  }
 | 
				
			||||||
        ? {
 | 
										: undefined,
 | 
				
			||||||
            type: 'cancel',
 | 
									this.$auth.hasPermi('base:order-manage:cancel')
 | 
				
			||||||
            btnName: '作废',
 | 
										? {
 | 
				
			||||||
            showTip: '作废',
 | 
												type: 'cancel',
 | 
				
			||||||
            showParam: {
 | 
												btnName: '作废',
 | 
				
			||||||
              type: '&',
 | 
												showTip: '作废',
 | 
				
			||||||
              data: [
 | 
												showParam: {
 | 
				
			||||||
                {
 | 
													type: '&',
 | 
				
			||||||
                  type: 'less',
 | 
													data: [
 | 
				
			||||||
                  name: 'status',
 | 
														{
 | 
				
			||||||
                  value: 2
 | 
															type: 'less',
 | 
				
			||||||
                }
 | 
															name: 'status',
 | 
				
			||||||
              ]
 | 
															value: 2,
 | 
				
			||||||
            }
 | 
														},
 | 
				
			||||||
          }
 | 
													],
 | 
				
			||||||
        : undefined,
 | 
												},
 | 
				
			||||||
      this.$auth.hasPermi('base:order-manage:detail')
 | 
										  }
 | 
				
			||||||
          ? {
 | 
										: undefined,
 | 
				
			||||||
              type: 'detail',
 | 
									this.$auth.hasPermi('base:order-manage:detail')
 | 
				
			||||||
              btnName: '详情'
 | 
										? {
 | 
				
			||||||
            }
 | 
												type: 'detail',
 | 
				
			||||||
          : undefined,
 | 
												btnName: '详情',
 | 
				
			||||||
        this.$auth.hasPermi('base:order-manage:edit')
 | 
										  }
 | 
				
			||||||
          ? {
 | 
										: undefined,
 | 
				
			||||||
              type: 'edit',
 | 
									this.$auth.hasPermi('base:order-manage:edit')
 | 
				
			||||||
              btnName: '编辑',
 | 
										? {
 | 
				
			||||||
              showParam: {
 | 
												type: 'edit',
 | 
				
			||||||
                type: '&',
 | 
												btnName: '编辑',
 | 
				
			||||||
                data: [
 | 
												showParam: {
 | 
				
			||||||
                  {
 | 
													type: '&',
 | 
				
			||||||
                    type: 'less',
 | 
													data: [
 | 
				
			||||||
                    name: 'status',
 | 
														{
 | 
				
			||||||
                    value: 2
 | 
															type: 'less',
 | 
				
			||||||
                  }
 | 
															name: 'status',
 | 
				
			||||||
                ]
 | 
															value: 2,
 | 
				
			||||||
              }
 | 
														},
 | 
				
			||||||
            }
 | 
													],
 | 
				
			||||||
          : undefined
 | 
												},
 | 
				
			||||||
      ].filter((v) => v),
 | 
										  }
 | 
				
			||||||
      addOrEditTitle: '',
 | 
										: undefined,
 | 
				
			||||||
      centervisible: false,
 | 
								].filter((v) => v),
 | 
				
			||||||
      priorityList: this.getDictDatas(this.DICT_TYPE.ORDER_PRIORITY),
 | 
								addOrEditTitle: '',
 | 
				
			||||||
      workIssueTitle: '',
 | 
								centervisible: false,
 | 
				
			||||||
      addWorkOrdervisible: false,
 | 
								priorityList: this.getDictDatas(this.DICT_TYPE.ORDER_PRIORITY),
 | 
				
			||||||
      orderDetailVisible: false
 | 
								workIssueTitle: '',
 | 
				
			||||||
    }
 | 
								addWorkOrdervisible: false,
 | 
				
			||||||
  },
 | 
								orderDetailVisible: false,
 | 
				
			||||||
  components: { OrderAdd, AddWorkOrder },
 | 
							};
 | 
				
			||||||
  created() {
 | 
						},
 | 
				
			||||||
    window.addEventListener('resize', () => {
 | 
						components: { OrderAdd, AddWorkOrder },
 | 
				
			||||||
      this.tableH = this.tableHeight(260)
 | 
						created() {
 | 
				
			||||||
    })
 | 
							this.getList();
 | 
				
			||||||
    this.getList()
 | 
						},
 | 
				
			||||||
  },
 | 
						methods: {
 | 
				
			||||||
  methods: {
 | 
							getList() {
 | 
				
			||||||
    getList() {
 | 
								getOrderPage({ ...this.queryParams }).then((res) => {
 | 
				
			||||||
      getOrderPage({...this.queryParams}).then(res => {
 | 
									let arr = res.data.records || [];
 | 
				
			||||||
        let arr = res.data.records || []
 | 
									this.total = res.data.total || 0;
 | 
				
			||||||
        this.total = res.data.total || 0
 | 
									if (arr.length > 0) {
 | 
				
			||||||
        if (arr.length > 0) {
 | 
										customerList().then((result) => {
 | 
				
			||||||
          customerList().then(result => {
 | 
											let tempData = result.data || [];
 | 
				
			||||||
            let tempData = result.data || []
 | 
											if (tempData.length > 0) {
 | 
				
			||||||
            if (tempData.length > 0) {
 | 
												arr.map((item) => {
 | 
				
			||||||
              arr.map(item => {
 | 
													for (let i of tempData) {
 | 
				
			||||||
                for (let i of tempData) {
 | 
														if (item.customerId === i.id) {
 | 
				
			||||||
                  if (item.customerId === i.id) {
 | 
															item.customerId = i.name;
 | 
				
			||||||
                    item.customerId = i.name
 | 
														}
 | 
				
			||||||
                  }
 | 
													}
 | 
				
			||||||
                }
 | 
													item.price = item.price ? item.price.toFixed(2) : '0.00';
 | 
				
			||||||
                item.price =  item.price ? item.price.toFixed(2) : '0.00'
 | 
												});
 | 
				
			||||||
              })
 | 
												this.list = arr;
 | 
				
			||||||
              this.list = arr
 | 
											}
 | 
				
			||||||
            }
 | 
										});
 | 
				
			||||||
          })
 | 
									} else {
 | 
				
			||||||
        }else {
 | 
										this.list = arr;
 | 
				
			||||||
          this.list = arr
 | 
									}
 | 
				
			||||||
        }
 | 
								});
 | 
				
			||||||
      })
 | 
							},
 | 
				
			||||||
    },
 | 
							buttonClick(val) {
 | 
				
			||||||
    buttonClick(val) {
 | 
								console.log(val);
 | 
				
			||||||
      console.log(val)
 | 
								if (val.btnName === 'search') {
 | 
				
			||||||
      if (val.btnName === 'search') {
 | 
									this.queryParams.name = val.name;
 | 
				
			||||||
        this.queryParams.name = val.name
 | 
									this.queryParams.status = val.status;
 | 
				
			||||||
        this.queryParams.status = val.status
 | 
									if (val.timeVal && val.timeVal.length > 0) {
 | 
				
			||||||
        if (val.timeVal && val.timeVal.length > 0) {
 | 
										this.queryParams.lastIssuedTime[0] = val.timeVal[0] + ' 00:00:00';
 | 
				
			||||||
          this.queryParams.lastIssuedTime[0] = val.timeVal[0] + ' 00:00:00'
 | 
										this.queryParams.lastIssuedTime[1] = val.timeVal[1] + ' 23:59:59';
 | 
				
			||||||
          this.queryParams.lastIssuedTime[1] = val.timeVal[1] + ' 23:59:59'
 | 
									} else {
 | 
				
			||||||
        } else {
 | 
										this.queryParams.lastIssuedTime = [];
 | 
				
			||||||
          this.queryParams.lastIssuedTime = []
 | 
									}
 | 
				
			||||||
        }
 | 
									this.getList();
 | 
				
			||||||
        this.getList()
 | 
								} else {
 | 
				
			||||||
      } else {
 | 
									this.addOrEditTitle = '新增';
 | 
				
			||||||
        this.addOrEditTitle = '新增'
 | 
									this.centervisible = true;
 | 
				
			||||||
        this.centervisible = true
 | 
									this.$nextTick(() => {
 | 
				
			||||||
        this.$nextTick(() => {
 | 
										this.$refs.orderAdd.init();
 | 
				
			||||||
          this.$refs.orderAdd.init()
 | 
									});
 | 
				
			||||||
        })
 | 
								}
 | 
				
			||||||
      }
 | 
							},
 | 
				
			||||||
    },
 | 
							handleClick(val) {
 | 
				
			||||||
    handleClick(val) {
 | 
								console.log(val);
 | 
				
			||||||
      console.log(val)
 | 
								switch (val.type) {
 | 
				
			||||||
      switch (val.type) {
 | 
									case 'edit':
 | 
				
			||||||
        case 'edit':
 | 
										this.addOrEditTitle = '编辑';
 | 
				
			||||||
          this.addOrEditTitle = '编辑'
 | 
										this.centervisible = true;
 | 
				
			||||||
          this.centervisible = true
 | 
										this.$nextTick(() => {
 | 
				
			||||||
          this.$nextTick(() => {
 | 
											this.$refs.orderAdd.init(val.data.id);
 | 
				
			||||||
            this.$refs.orderAdd.init(val.data.id)
 | 
										});
 | 
				
			||||||
          })
 | 
										break;
 | 
				
			||||||
          break
 | 
									case 'cancel':
 | 
				
			||||||
        case 'cancel':
 | 
										this.handleEditStatus(val.data, '作废', '6');
 | 
				
			||||||
          this.handleEditStatus(val.data, '作废', '6')
 | 
										break;
 | 
				
			||||||
          break
 | 
									case 'termination':
 | 
				
			||||||
        case 'termination':
 | 
										this.handleEditStatus(val.data, '终止', '5');
 | 
				
			||||||
          this.handleEditStatus(val.data, '终止', '5')
 | 
										break;
 | 
				
			||||||
          break
 | 
									case 'detail':
 | 
				
			||||||
        case 'detail':
 | 
										this.$router.push({
 | 
				
			||||||
          this.$router.push({path: '/order/base/order-manage/order-detail-data?orderId='+ val.data.id})
 | 
											path:
 | 
				
			||||||
          break
 | 
												'/order/base/order-manage/order-detail-data?orderId=' +
 | 
				
			||||||
        case 'add':
 | 
												val.data.id,
 | 
				
			||||||
          this.workIssueTitle = '新增工单'
 | 
										});
 | 
				
			||||||
          this.addWorkOrdervisible = true
 | 
										break;
 | 
				
			||||||
          this.$nextTick(() => {
 | 
									case 'add':
 | 
				
			||||||
            this.$refs.addWorkOrder.init(val.data, 'add')
 | 
										this.workIssueTitle = '新增工单';
 | 
				
			||||||
          })
 | 
										this.addWorkOrdervisible = true;
 | 
				
			||||||
          break
 | 
										this.$nextTick(() => {
 | 
				
			||||||
        case 'bind':
 | 
											this.$refs.addWorkOrder.init(val.data, 'add');
 | 
				
			||||||
          this.workIssueTitle = '绑定工单'
 | 
										});
 | 
				
			||||||
          this.addWorkOrdervisible = true
 | 
										break;
 | 
				
			||||||
          this.$nextTick(() => {
 | 
									case 'bind':
 | 
				
			||||||
            this.$refs.addWorkOrder.init(val.data, 'bind')
 | 
										this.workIssueTitle = '绑定工单';
 | 
				
			||||||
          })
 | 
										this.addWorkOrdervisible = true;
 | 
				
			||||||
          break
 | 
										this.$nextTick(() => {
 | 
				
			||||||
        case 'complete':
 | 
											this.$refs.addWorkOrder.init(val.data, 'bind');
 | 
				
			||||||
          this.handleEditStatus(val.data, '完成', '4')
 | 
										});
 | 
				
			||||||
          break
 | 
										break;
 | 
				
			||||||
        default:
 | 
									case 'complete':
 | 
				
			||||||
      }
 | 
										this.handleEditStatus(val.data, '完成', '4');
 | 
				
			||||||
    },
 | 
										break;
 | 
				
			||||||
    // 完成,终止,作废
 | 
									default:
 | 
				
			||||||
    handleEditStatus(val, tip, status) {
 | 
								}
 | 
				
			||||||
      let _this = this
 | 
							},
 | 
				
			||||||
      if (val.workOrderNum > 0) {//有下级工单
 | 
							// 完成,终止,作废
 | 
				
			||||||
        _this.$confirm('是否将"'+tip+'"操作同步至下级工单?','确认信息', {
 | 
							handleEditStatus(val, tip, status) {
 | 
				
			||||||
          type: 'warning',
 | 
								let _this = this;
 | 
				
			||||||
          distinguishCancelAndClose: true,
 | 
								if (val.workOrderNum > 0) {
 | 
				
			||||||
          confirmButtonText: '同步',
 | 
									//有下级工单
 | 
				
			||||||
          cancelButtonText: '不同步'
 | 
									_this
 | 
				
			||||||
        }).then(function() {
 | 
										.$confirm('是否将"' + tip + '"操作同步至下级工单?', '确认信息', {
 | 
				
			||||||
          console.log('同步')
 | 
											type: 'warning',
 | 
				
			||||||
          orderStatusSet({ id: val.id, status: status, isSync: true}).then(() => {
 | 
											distinguishCancelAndClose: true,
 | 
				
			||||||
            _this.getList();
 | 
											confirmButtonText: '同步',
 | 
				
			||||||
            _this.$modal.msgSuccess("操作成功");
 | 
											cancelButtonText: '不同步',
 | 
				
			||||||
          })
 | 
										})
 | 
				
			||||||
        }).catch(action => {
 | 
										.then(function () {
 | 
				
			||||||
          if (action === 'cancel') {
 | 
											console.log('同步');
 | 
				
			||||||
            console.log('不同步')
 | 
											orderStatusSet({ id: val.id, status: status, isSync: true }).then(
 | 
				
			||||||
            orderStatusSet({ id: val.id, status: status, isSync: false}).then(() => {
 | 
												() => {
 | 
				
			||||||
              _this.getList();
 | 
													_this.getList();
 | 
				
			||||||
              _this.$modal.msgSuccess("操作成功");
 | 
													_this.$modal.msgSuccess('操作成功');
 | 
				
			||||||
            })
 | 
												}
 | 
				
			||||||
          }else {
 | 
											);
 | 
				
			||||||
            return console.log('关闭')
 | 
										})
 | 
				
			||||||
          }
 | 
										.catch((action) => {
 | 
				
			||||||
        })
 | 
											if (action === 'cancel') {
 | 
				
			||||||
      }else{// 无下级工单
 | 
												console.log('不同步');
 | 
				
			||||||
        _this.$modal.confirm('是否确认"'+tip+'"厂务订单名称为"' + val.name + '"的数据项?').then(function() {
 | 
												orderStatusSet({
 | 
				
			||||||
          return orderStatusSet({ id: val.id, status: status})
 | 
													id: val.id,
 | 
				
			||||||
        }).then(() => {
 | 
													status: status,
 | 
				
			||||||
          _this.getList();
 | 
													isSync: false,
 | 
				
			||||||
          _this.$modal.msgSuccess("操作成功");
 | 
												}).then(() => {
 | 
				
			||||||
        }).catch(() => {});
 | 
													_this.getList();
 | 
				
			||||||
      }
 | 
													_this.$modal.msgSuccess('操作成功');
 | 
				
			||||||
    },
 | 
												});
 | 
				
			||||||
    // 新增
 | 
											} else {
 | 
				
			||||||
    handleCancel() {
 | 
												return console.log('关闭');
 | 
				
			||||||
      this.$refs.orderAdd.formClear()
 | 
											}
 | 
				
			||||||
      this.centervisible = false
 | 
										});
 | 
				
			||||||
      this.addOrEditTitle = ''
 | 
								} else {
 | 
				
			||||||
    },
 | 
									// 无下级工单
 | 
				
			||||||
    handleConfirm() {
 | 
									_this.$modal
 | 
				
			||||||
      this.$refs.orderAdd.submitForm()
 | 
										.confirm(
 | 
				
			||||||
    },
 | 
											'是否确认"' + tip + '"厂务订单名称为"' + val.name + '"的数据项?'
 | 
				
			||||||
    successSubmit() {
 | 
										)
 | 
				
			||||||
      this.handleCancel()
 | 
										.then(function () {
 | 
				
			||||||
      this.getList()
 | 
											return orderStatusSet({ id: val.id, status: status });
 | 
				
			||||||
    },
 | 
										})
 | 
				
			||||||
    // 下发新增
 | 
										.then(() => {
 | 
				
			||||||
    addWorkOrderCancel() {
 | 
											_this.getList();
 | 
				
			||||||
      this.$refs.addWorkOrder.formClear()
 | 
											_this.$modal.msgSuccess('操作成功');
 | 
				
			||||||
      this.addWorkOrdervisible = false
 | 
										})
 | 
				
			||||||
    },
 | 
										.catch(() => {});
 | 
				
			||||||
    addWorkOrderConfirm() {
 | 
								}
 | 
				
			||||||
      this.$refs.addWorkOrder.addWorkOrderSubmit()
 | 
							},
 | 
				
			||||||
    },
 | 
							// 新增
 | 
				
			||||||
    addWorkOrderSubmit() {
 | 
							handleCancel() {
 | 
				
			||||||
      this.addWorkOrderCancel()
 | 
								this.$refs.orderAdd.formClear();
 | 
				
			||||||
      this.getList()
 | 
								this.centervisible = false;
 | 
				
			||||||
    }
 | 
								this.addOrEditTitle = '';
 | 
				
			||||||
    // bindWorkOrderCancel() {
 | 
							},
 | 
				
			||||||
    //   this.$refs.bindWorkOrder.formClear()
 | 
							handleConfirm() {
 | 
				
			||||||
    //   this.bindWorkOrdervisible = false
 | 
								this.$refs.orderAdd.submitForm();
 | 
				
			||||||
    // },
 | 
							},
 | 
				
			||||||
    // bindWorkOrderConfirm() {
 | 
							successSubmit() {
 | 
				
			||||||
    //   this.$refs.bindWorkOrder.bindWorkOrderSubmit()
 | 
								this.handleCancel();
 | 
				
			||||||
    // },
 | 
								this.getList();
 | 
				
			||||||
    // bindWorkOrderSubmit() {
 | 
							},
 | 
				
			||||||
    //   this.bindWorkOrderCancel()
 | 
							// 下发新增
 | 
				
			||||||
    //   this.getList()
 | 
							addWorkOrderCancel() {
 | 
				
			||||||
    // }
 | 
								this.$refs.addWorkOrder.formClear();
 | 
				
			||||||
  }
 | 
								this.addWorkOrdervisible = false;
 | 
				
			||||||
}
 | 
							},
 | 
				
			||||||
 | 
							addWorkOrderConfirm() {
 | 
				
			||||||
 | 
								this.$refs.addWorkOrder.addWorkOrderSubmit();
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							addWorkOrderSubmit() {
 | 
				
			||||||
 | 
								this.addWorkOrderCancel();
 | 
				
			||||||
 | 
								this.getList();
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							// bindWorkOrderCancel() {
 | 
				
			||||||
 | 
							//   this.$refs.bindWorkOrder.formClear()
 | 
				
			||||||
 | 
							//   this.bindWorkOrdervisible = false
 | 
				
			||||||
 | 
							// },
 | 
				
			||||||
 | 
							// bindWorkOrderConfirm() {
 | 
				
			||||||
 | 
							//   this.$refs.bindWorkOrder.bindWorkOrderSubmit()
 | 
				
			||||||
 | 
							// },
 | 
				
			||||||
 | 
							// bindWorkOrderSubmit() {
 | 
				
			||||||
 | 
							//   this.bindWorkOrderCancel()
 | 
				
			||||||
 | 
							//   this.getList()
 | 
				
			||||||
 | 
							// }
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
@@ -1,390 +1,427 @@
 | 
				
			|||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <div class="app-container orderMonitoring">
 | 
						<div class="app-container orderMonitoring">
 | 
				
			||||||
    <!-- 搜索工作栏 -->
 | 
							<!-- 搜索工作栏 -->
 | 
				
			||||||
    <search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
 | 
							<search-bar
 | 
				
			||||||
    <el-tabs v-model="activeName" @tab-click="toggleTab">
 | 
								:formConfigs="formConfig"
 | 
				
			||||||
      <el-tab-pane label="数据列表" name="dataList"></el-tab-pane>
 | 
								ref="searchBarForm"
 | 
				
			||||||
      <el-tab-pane label="环形图" name="barChart"></el-tab-pane>
 | 
								@headBtnClick="buttonClick" />
 | 
				
			||||||
    </el-tabs>
 | 
							<el-tabs
 | 
				
			||||||
    <!-- 表 -->
 | 
								v-model="activeName"
 | 
				
			||||||
    <div v-if="activeName === 'dataList'">
 | 
								@tab-click="toggleTab">
 | 
				
			||||||
      <base-table :page="1" :limit="1000000000000" :table-props="tableProps" :table-data="list" :max-height="tableH"
 | 
								<el-tab-pane
 | 
				
			||||||
        row-key="id" :tree-props="{ children: 'orderMonitorVOS', hasChildren: 'hasChildren' }">
 | 
									label="数据列表"
 | 
				
			||||||
        <method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
 | 
									name="dataList"></el-tab-pane>
 | 
				
			||||||
          @clickBtn="handleClick" />
 | 
								<el-tab-pane
 | 
				
			||||||
      </base-table>
 | 
									label="环形图"
 | 
				
			||||||
    </div>
 | 
									name="barChart"></el-tab-pane>
 | 
				
			||||||
    <!-- 图 -->
 | 
							</el-tabs>
 | 
				
			||||||
    <monitoring-ring-charts ref='monitoringRingCharts' v-else :chart-list='chartList' />
 | 
							<!-- 表 -->
 | 
				
			||||||
    <!-- <pagination
 | 
							<div v-if="activeName === 'dataList'">
 | 
				
			||||||
 | 
								<base-table
 | 
				
			||||||
 | 
									:page="1"
 | 
				
			||||||
 | 
									:limit="1000000000000"
 | 
				
			||||||
 | 
									:table-props="tableProps"
 | 
				
			||||||
 | 
									:table-data="list"
 | 
				
			||||||
 | 
									:max-height="tableH"
 | 
				
			||||||
 | 
									row-key="id"
 | 
				
			||||||
 | 
									:tree-props="{
 | 
				
			||||||
 | 
										children: 'orderMonitorVOS',
 | 
				
			||||||
 | 
										hasChildren: 'hasChildren',
 | 
				
			||||||
 | 
									}">
 | 
				
			||||||
 | 
									<method-btn
 | 
				
			||||||
 | 
										v-if="tableBtn.length"
 | 
				
			||||||
 | 
										slot="handleBtn"
 | 
				
			||||||
 | 
										:width="100"
 | 
				
			||||||
 | 
										label="操作"
 | 
				
			||||||
 | 
										:method-list="tableBtn"
 | 
				
			||||||
 | 
										@clickBtn="handleClick" />
 | 
				
			||||||
 | 
								</base-table>
 | 
				
			||||||
 | 
							</div>
 | 
				
			||||||
 | 
							<!-- 图 -->
 | 
				
			||||||
 | 
							<monitoring-ring-charts
 | 
				
			||||||
 | 
								ref="monitoringRingCharts"
 | 
				
			||||||
 | 
								v-else
 | 
				
			||||||
 | 
								:chart-list="chartList" />
 | 
				
			||||||
 | 
							<!-- <pagination
 | 
				
			||||||
      :page.sync="queryParams.pageNo"
 | 
					      :page.sync="queryParams.pageNo"
 | 
				
			||||||
      :limit.sync="queryParams.pageSize"
 | 
					      :limit.sync="queryParams.pageSize"
 | 
				
			||||||
      :total="total"
 | 
					      :total="total"
 | 
				
			||||||
      @pagination="getPage"
 | 
					      @pagination="getPage"
 | 
				
			||||||
    /> -->
 | 
					    /> -->
 | 
				
			||||||
  </div>
 | 
						</div>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import { parseTime } from '@/utils/ruoyi'
 | 
					import { parseTime } from '@/utils/ruoyi';
 | 
				
			||||||
import { publicFormatter } from '@/utils/dict'
 | 
					import { publicFormatter } from '@/utils/dict';
 | 
				
			||||||
import { orderGroupMonitor } from '@/api/base/orderGroup'
 | 
					import { orderGroupMonitor } from '@/api/base/orderGroup';
 | 
				
			||||||
import MonitoringRingCharts from './../components/monitoringRingCharts'
 | 
					import MonitoringRingCharts from './../components/monitoringRingCharts';
 | 
				
			||||||
import moment from "moment"
 | 
					import moment from 'moment';
 | 
				
			||||||
 | 
					import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
 | 
				
			||||||
const tableProps = [
 | 
					const tableProps = [
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'name',
 | 
							prop: 'name',
 | 
				
			||||||
    label: '订单名称',
 | 
							label: '订单名称',
 | 
				
			||||||
    minWidth: 140,
 | 
							minWidth: 140,
 | 
				
			||||||
    showOverflowtooltip: true
 | 
							showOverflowtooltip: true,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'orderType',
 | 
							prop: 'orderType',
 | 
				
			||||||
    label: '订单类型'
 | 
							label: '订单类型',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'customerName',
 | 
							prop: 'customerName',
 | 
				
			||||||
    label: '客户'
 | 
							label: '客户',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'productname',
 | 
							prop: 'productname',
 | 
				
			||||||
    label: '产品',
 | 
							label: '产品',
 | 
				
			||||||
    minWidth: 200,
 | 
							minWidth: 200,
 | 
				
			||||||
    showOverflowtooltip: true
 | 
							showOverflowtooltip: true,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'planStartTime',
 | 
							prop: 'planStartTime',
 | 
				
			||||||
    label: '计划开始时间',
 | 
							label: '计划开始时间',
 | 
				
			||||||
    filter: parseTime,
 | 
							filter: parseTime,
 | 
				
			||||||
    minWidth: 160
 | 
							minWidth: 160,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'planFinishTime',
 | 
							prop: 'planFinishTime',
 | 
				
			||||||
    label: '计划完成时间',
 | 
							label: '计划完成时间',
 | 
				
			||||||
    filter: parseTime,
 | 
							filter: parseTime,
 | 
				
			||||||
    minWidth: 160
 | 
							minWidth: 160,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'status',
 | 
							prop: 'status',
 | 
				
			||||||
    label: '订单状态',
 | 
							label: '订单状态',
 | 
				
			||||||
    filter: publicFormatter('order_status')
 | 
							filter: publicFormatter('order_status'),
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'startProduceTime',
 | 
							prop: 'startProduceTime',
 | 
				
			||||||
    label: '实际开始时间',
 | 
							label: '实际开始时间',
 | 
				
			||||||
    filter: parseTime,
 | 
							filter: parseTime,
 | 
				
			||||||
    minWidth: 160
 | 
							minWidth: 160,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'finishProduceTime',
 | 
							prop: 'finishProduceTime',
 | 
				
			||||||
    label: '实际完成时间',
 | 
							label: '实际完成时间',
 | 
				
			||||||
    filter: parseTime,
 | 
							filter: parseTime,
 | 
				
			||||||
    minWidth: 160
 | 
							minWidth: 160,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'deliveTime',
 | 
							prop: 'deliveTime',
 | 
				
			||||||
    label: '交货时间',
 | 
							label: '交货时间',
 | 
				
			||||||
    filter: parseTime,
 | 
							filter: parseTime,
 | 
				
			||||||
    minWidth: 160
 | 
							minWidth: 160,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'lineNames',
 | 
							prop: 'lineNames',
 | 
				
			||||||
    label: '加工线',
 | 
							label: '加工线',
 | 
				
			||||||
    filter: (val) => val ? val.join(',') : '',
 | 
							filter: (val) => (val ? val.join(',') : ''),
 | 
				
			||||||
    minWidth: 180
 | 
							minWidth: 180,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'planQuantity',
 | 
							prop: 'planQuantity',
 | 
				
			||||||
    label: '计划生产量',
 | 
							label: '计划生产量',
 | 
				
			||||||
    width: 100
 | 
							width: 100,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'actualquantity',
 | 
							prop: 'actualquantity',
 | 
				
			||||||
    label: '实际产出量',
 | 
							label: '实际产出量',
 | 
				
			||||||
    width: 100
 | 
							width: 100,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'completeRate',
 | 
							prop: 'completeRate',
 | 
				
			||||||
    label: '订单完成率',
 | 
							label: '订单完成率',
 | 
				
			||||||
    width: 100
 | 
							width: 100,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'orderNum',
 | 
							prop: 'orderNum',
 | 
				
			||||||
    label: '关联订单/工单数量',
 | 
							label: '关联订单/工单数量',
 | 
				
			||||||
    width: 110
 | 
							width: 110,
 | 
				
			||||||
  }
 | 
						},
 | 
				
			||||||
]
 | 
					];
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: 'OrderCompletionMonitoring',
 | 
						name: 'OrderCompletionMonitoring',
 | 
				
			||||||
  data() {
 | 
						mixins: [tableHeightMixin],
 | 
				
			||||||
    return {
 | 
						data() {
 | 
				
			||||||
      formConfig: [
 | 
							return {
 | 
				
			||||||
        {
 | 
								formConfig: [
 | 
				
			||||||
          type: 'input',
 | 
									{
 | 
				
			||||||
          label: '集团订单名称',
 | 
										type: 'input',
 | 
				
			||||||
          param: 'name'
 | 
										label: '集团订单名称',
 | 
				
			||||||
        },
 | 
										param: 'name',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: 'datePicker',
 | 
									{
 | 
				
			||||||
          label: '时间段',
 | 
										type: 'datePicker',
 | 
				
			||||||
          dateType: 'daterange',
 | 
										label: '时间段',
 | 
				
			||||||
          format: 'yyyy-MM-dd',
 | 
										dateType: 'daterange',
 | 
				
			||||||
          valueFormat: "yyyy-MM-dd",
 | 
										format: 'yyyy-MM-dd',
 | 
				
			||||||
          rangeSeparator: '-',
 | 
										valueFormat: 'yyyy-MM-dd',
 | 
				
			||||||
          startPlaceholder: '开始时间',
 | 
										rangeSeparator: '-',
 | 
				
			||||||
          endPlaceholder: '结束时间',
 | 
										startPlaceholder: '开始时间',
 | 
				
			||||||
          param: 'timeVal',
 | 
										endPlaceholder: '结束时间',
 | 
				
			||||||
          defaultSelect: [],
 | 
										param: 'timeVal',
 | 
				
			||||||
          width: 250
 | 
										defaultSelect: [],
 | 
				
			||||||
        },
 | 
										width: 250,
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: 'button',
 | 
									{
 | 
				
			||||||
          btnName: '查询',
 | 
										type: 'button',
 | 
				
			||||||
          name: 'search',
 | 
										btnName: '查询',
 | 
				
			||||||
          color: 'primary'
 | 
										name: 'search',
 | 
				
			||||||
        }
 | 
										color: 'primary',
 | 
				
			||||||
      ],
 | 
									},
 | 
				
			||||||
      activeName: 'dataList',
 | 
								],
 | 
				
			||||||
      // 查询参数
 | 
								activeName: 'dataList',
 | 
				
			||||||
      queryParams: {
 | 
								// 查询参数
 | 
				
			||||||
        name: null,
 | 
								queryParams: {
 | 
				
			||||||
        deliveTime: []
 | 
									name: null,
 | 
				
			||||||
      },
 | 
									deliveTime: [],
 | 
				
			||||||
      tableProps,
 | 
								},
 | 
				
			||||||
      list: [],
 | 
								tableProps,
 | 
				
			||||||
      tableH: this.tableHeight(260),
 | 
								list: [],
 | 
				
			||||||
      total: 0,
 | 
								total: 0,
 | 
				
			||||||
      tableBtn: [
 | 
								tableBtn: [
 | 
				
			||||||
        this.$auth.hasPermi('base:order-completion-monitoring:orderDet')
 | 
									this.$auth.hasPermi('base:order-completion-monitoring:orderDet')
 | 
				
			||||||
          ? {
 | 
										? {
 | 
				
			||||||
            type: 'orderDetail',
 | 
												type: 'orderDetail',
 | 
				
			||||||
            btnName: '详情',
 | 
												btnName: '详情',
 | 
				
			||||||
            showTip: '订单/工单详情',
 | 
												showTip: '订单/工单详情',
 | 
				
			||||||
            showParam: {
 | 
												showParam: {
 | 
				
			||||||
              type: '&',
 | 
													type: '&',
 | 
				
			||||||
              data: [
 | 
													data: [
 | 
				
			||||||
                {
 | 
														{
 | 
				
			||||||
                  type: 'more',
 | 
															type: 'more',
 | 
				
			||||||
                  name: 'orderNum',
 | 
															name: 'orderNum',
 | 
				
			||||||
                  value: 1
 | 
															value: 1,
 | 
				
			||||||
                }
 | 
														},
 | 
				
			||||||
              ]
 | 
													],
 | 
				
			||||||
            }
 | 
												},
 | 
				
			||||||
          }
 | 
										  }
 | 
				
			||||||
          : undefined,
 | 
										: undefined,
 | 
				
			||||||
        this.$auth.hasPermi('base:order-completion-monitoring:qualityDet')
 | 
									this.$auth.hasPermi('base:order-completion-monitoring:qualityDet')
 | 
				
			||||||
          ? {
 | 
										? {
 | 
				
			||||||
            type: 'qualityDetail',
 | 
												type: 'qualityDetail',
 | 
				
			||||||
            btnName: '质量',
 | 
												btnName: '质量',
 | 
				
			||||||
            showTip: '质量详情',
 | 
												showTip: '质量详情',
 | 
				
			||||||
            showParam: {
 | 
												showParam: {
 | 
				
			||||||
              type: '&',
 | 
													type: '&',
 | 
				
			||||||
              data: [
 | 
													data: [
 | 
				
			||||||
                {
 | 
														{
 | 
				
			||||||
                  type: 'more',
 | 
															type: 'more',
 | 
				
			||||||
                  name: 'orderNum',
 | 
															name: 'orderNum',
 | 
				
			||||||
                  value: 1
 | 
															value: 1,
 | 
				
			||||||
                },
 | 
														},
 | 
				
			||||||
                {
 | 
														{
 | 
				
			||||||
                  type: 'unequal',
 | 
															type: 'unequal',
 | 
				
			||||||
                  name: 'woIdString',
 | 
															name: 'woIdString',
 | 
				
			||||||
                  value: ''
 | 
															value: '',
 | 
				
			||||||
                }
 | 
														},
 | 
				
			||||||
              ]
 | 
													],
 | 
				
			||||||
            }
 | 
												},
 | 
				
			||||||
          }
 | 
										  }
 | 
				
			||||||
          : undefined
 | 
										: undefined,
 | 
				
			||||||
        // this.$auth.hasPermi('base:order-completion-monitoring:sendOut')
 | 
									// this.$auth.hasPermi('base:order-completion-monitoring:sendOut')
 | 
				
			||||||
        //     ? {
 | 
									//     ? {
 | 
				
			||||||
        //         type: 'sendOutDetail',
 | 
									//         type: 'sendOutDetail',
 | 
				
			||||||
        //         btnName: '发货',
 | 
									//         btnName: '发货',
 | 
				
			||||||
        //         showTip: '发货详情',
 | 
									//         showTip: '发货详情',
 | 
				
			||||||
        //         showParam: {
 | 
									//         showParam: {
 | 
				
			||||||
        //           type: '&',
 | 
									//           type: '&',
 | 
				
			||||||
        //           data: [
 | 
									//           data: [
 | 
				
			||||||
        //             {
 | 
									//             {
 | 
				
			||||||
        //               type: 'more',
 | 
									//               type: 'more',
 | 
				
			||||||
        //               name: 'workOrderNum',
 | 
									//               name: 'workOrderNum',
 | 
				
			||||||
        //               value: 1
 | 
									//               value: 1
 | 
				
			||||||
        //             }
 | 
									//             }
 | 
				
			||||||
        //           ]
 | 
									//           ]
 | 
				
			||||||
        //         }
 | 
									//         }
 | 
				
			||||||
        //       }
 | 
									//       }
 | 
				
			||||||
        //     : undefined
 | 
									//     : undefined
 | 
				
			||||||
      ].filter((v) => v),
 | 
								].filter((v) => v),
 | 
				
			||||||
      chartList: []
 | 
								chartList: [],
 | 
				
			||||||
    }
 | 
							};
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  components: { MonitoringRingCharts },
 | 
						components: { MonitoringRingCharts },
 | 
				
			||||||
  mounted() {
 | 
						mounted() {
 | 
				
			||||||
    window.addEventListener('resize', () => {
 | 
							let start = moment().subtract(30, 'days').format('yyyy-MM-DD');
 | 
				
			||||||
      this.tableH = this.tableHeight(260)
 | 
							let end = moment().format('yyyy-MM-DD');
 | 
				
			||||||
    })
 | 
							this.formConfig[1].defaultSelect = [start, end];
 | 
				
			||||||
    let start = moment().subtract(30, 'days').format('yyyy-MM-DD')
 | 
							this.queryParams.deliveTime[0] = start + ' 00:00:00';
 | 
				
			||||||
    let end = moment().format('yyyy-MM-DD')
 | 
							this.queryParams.deliveTime[1] = end + ' 23:59:59';
 | 
				
			||||||
    this.formConfig[1].defaultSelect = [start, end]
 | 
							this.getPage();
 | 
				
			||||||
    this.queryParams.deliveTime[0] = start + ' 00:00:00'
 | 
						},
 | 
				
			||||||
    this.queryParams.deliveTime[1] = end + ' 23:59:59'
 | 
						methods: {
 | 
				
			||||||
    this.getPage()
 | 
							getPage() {
 | 
				
			||||||
  },
 | 
								orderGroupMonitor({ ...this.queryParams }).then((res) => {
 | 
				
			||||||
  methods: {
 | 
									let arr = res.data || [];
 | 
				
			||||||
    getPage() {
 | 
									if (arr.length > 0) {
 | 
				
			||||||
      orderGroupMonitor({ ...this.queryParams }).then(res => {
 | 
										let color = ['#7164FF', '#288AFF', '#63BDFF', '#8EF0AB', '#FFCE6A'];
 | 
				
			||||||
        let arr = res.data || []
 | 
										let arr2 = [];
 | 
				
			||||||
        if (arr.length > 0) {
 | 
										arr.map((item) => {
 | 
				
			||||||
          let color = ['#7164FF', '#288AFF', '#63BDFF', '#8EF0AB', '#FFCE6A']
 | 
											item.orderType = '集团订单'; //前端写死订单类型
 | 
				
			||||||
          let arr2 = []
 | 
											let woIdString = ''; //集团订单层添加工单str跳转质量用
 | 
				
			||||||
          arr.map(item => {
 | 
											//=========图数据
 | 
				
			||||||
            item.orderType = '集团订单'//前端写死订单类型
 | 
											let arr3 = [];
 | 
				
			||||||
            let woIdString = ''//集团订单层添加工单str跳转质量用
 | 
											let obj = {};
 | 
				
			||||||
            //=========图数据
 | 
											obj.orderGroupName = item.name;
 | 
				
			||||||
            let arr3 = []
 | 
											obj.id = item.id;
 | 
				
			||||||
            let obj = {}
 | 
											obj.num = item.planQuantity || 0;
 | 
				
			||||||
            obj.orderGroupName = item.name
 | 
											let sunNum = 0;
 | 
				
			||||||
            obj.id = item.id
 | 
											if (item.orderMonitorVOS && item.orderMonitorVOS.length > 0) {
 | 
				
			||||||
            obj.num = item.planQuantity || 0
 | 
												for (let i = 0; i < item.orderMonitorVOS.length; i++) {
 | 
				
			||||||
            let sunNum = 0
 | 
													item.orderMonitorVOS[i].orderType = '厂务订单'; //前端写死订单类型
 | 
				
			||||||
            if (item.orderMonitorVOS && item.orderMonitorVOS.length > 0) {
 | 
													item.orderMonitorVOS[i].id = item.orderMonitorVOS[i].orderid;
 | 
				
			||||||
              for (let i = 0; i < item.orderMonitorVOS.length; i++) {
 | 
													item.orderMonitorVOS[i].orderNum =
 | 
				
			||||||
                item.orderMonitorVOS[i].orderType = '厂务订单'//前端写死订单类型
 | 
														item.orderMonitorVOS[i].workOrderNum;
 | 
				
			||||||
                item.orderMonitorVOS[i].id = item.orderMonitorVOS[i].orderid
 | 
													woIdString += item.orderMonitorVOS[i].woIdString
 | 
				
			||||||
                item.orderMonitorVOS[i].orderNum = item.orderMonitorVOS[i].workOrderNum
 | 
														? item.orderMonitorVOS[i].woIdString + ','
 | 
				
			||||||
                woIdString += item.orderMonitorVOS[i].woIdString ? item.orderMonitorVOS[i].woIdString : ''
 | 
														: '';
 | 
				
			||||||
                //==============图数据
 | 
													//==============图数据
 | 
				
			||||||
                let subObj = {}
 | 
													let subObj = {};
 | 
				
			||||||
                subObj.value = item.orderMonitorVOS[i].actualquantity
 | 
													subObj.value = item.orderMonitorVOS[i].actualquantity;
 | 
				
			||||||
                subObj.name = item.orderMonitorVOS[i].name
 | 
													subObj.name = item.orderMonitorVOS[i].name;
 | 
				
			||||||
                if (i < 5) {
 | 
													if (i < 5) {
 | 
				
			||||||
                  subObj.color = color[i]
 | 
														subObj.color = color[i];
 | 
				
			||||||
                } else {
 | 
													} else {
 | 
				
			||||||
                  subObj.color = color[i % 5]
 | 
														subObj.color = color[i % 5];
 | 
				
			||||||
                }
 | 
													}
 | 
				
			||||||
                sunNum += (item.orderMonitorVOS[i].actualquantity || 0)
 | 
													sunNum += item.orderMonitorVOS[i].actualquantity || 0;
 | 
				
			||||||
                arr3.push(subObj)
 | 
													arr3.push(subObj);
 | 
				
			||||||
              }
 | 
												}
 | 
				
			||||||
            }
 | 
												woIdString = woIdString.slice(0, -1);
 | 
				
			||||||
            item.woIdString = woIdString
 | 
											}
 | 
				
			||||||
            arr3.push({
 | 
											item.woIdString = woIdString;
 | 
				
			||||||
              value: item.planQuantity - sunNum > 0 ? item.planQuantity - sunNum : 0,
 | 
											arr3.push({
 | 
				
			||||||
              name: '未生产',
 | 
												value:
 | 
				
			||||||
              color: '#F5F5F5'
 | 
													item.planQuantity - sunNum > 0 ? item.planQuantity - sunNum : 0,
 | 
				
			||||||
            })
 | 
												name: '未生产',
 | 
				
			||||||
            obj.sunNum = sunNum
 | 
												color: '#F5F5F5',
 | 
				
			||||||
            obj.order = arr3
 | 
											});
 | 
				
			||||||
            arr2.push(obj)
 | 
											obj.sunNum = sunNum;
 | 
				
			||||||
          })
 | 
											obj.order = arr3;
 | 
				
			||||||
          this.chartList = arr2
 | 
											arr2.push(obj);
 | 
				
			||||||
          if (this.activeName === 'barChart' && this.chartList.length > 0) {
 | 
										});
 | 
				
			||||||
            this.$nextTick(() => {
 | 
										this.chartList = arr2;
 | 
				
			||||||
              this.$refs.monitoringRingCharts.initChart()
 | 
										if (this.activeName === 'barChart' && this.chartList.length > 0) {
 | 
				
			||||||
            })
 | 
											this.$nextTick(() => {
 | 
				
			||||||
          }
 | 
												this.$refs.monitoringRingCharts.initChart();
 | 
				
			||||||
        } else {
 | 
											});
 | 
				
			||||||
          // 显示无数据的图片
 | 
										}
 | 
				
			||||||
          this.chartList = []
 | 
									} else {
 | 
				
			||||||
        }
 | 
										// 显示无数据的图片
 | 
				
			||||||
        console.log(arr)
 | 
										this.chartList = [];
 | 
				
			||||||
        this.list = arr
 | 
									}
 | 
				
			||||||
      })
 | 
									console.log(arr);
 | 
				
			||||||
    },
 | 
									this.list = arr;
 | 
				
			||||||
    // 查询
 | 
								});
 | 
				
			||||||
    buttonClick(val) {
 | 
							},
 | 
				
			||||||
      this.queryParams.name = val.name
 | 
							// 查询
 | 
				
			||||||
      if (val.timeVal && val.timeVal.length > 0) {
 | 
							buttonClick(val) {
 | 
				
			||||||
        this.queryParams.deliveTime[0] = val.timeVal[0] + ' 00:00:00'
 | 
								this.queryParams.name = val.name;
 | 
				
			||||||
        this.queryParams.deliveTime[1] = val.timeVal[1] + ' 23:59:59'
 | 
								if (val.timeVal && val.timeVal.length > 0) {
 | 
				
			||||||
      } else {
 | 
									this.queryParams.deliveTime[0] = val.timeVal[0] + ' 00:00:00';
 | 
				
			||||||
        this.queryParams.deliveTime = []
 | 
									this.queryParams.deliveTime[1] = val.timeVal[1] + ' 23:59:59';
 | 
				
			||||||
      }
 | 
								} else {
 | 
				
			||||||
      this.getPage()
 | 
									this.queryParams.deliveTime = [];
 | 
				
			||||||
    },
 | 
								}
 | 
				
			||||||
    handleClick(val) {
 | 
								this.getPage();
 | 
				
			||||||
      console.log(val)
 | 
							},
 | 
				
			||||||
      switch (val.type) {
 | 
							handleClick(val) {
 | 
				
			||||||
        case 'orderDetail':
 | 
								console.log(val);
 | 
				
			||||||
          if (val.data.orderType === '集团订单') {
 | 
								switch (val.type) {
 | 
				
			||||||
            this.$router.push({// 去厂务订单详情
 | 
									case 'orderDetail':
 | 
				
			||||||
              path: '/order/base/order-manage/order-detail-data?orderIdString=' + val.data.orderIds.join(',')
 | 
										if (val.data.orderType === '集团订单') {
 | 
				
			||||||
            })
 | 
											this.$router.push({
 | 
				
			||||||
          } else {
 | 
												// 去厂务订单详情
 | 
				
			||||||
            this.$router.push({// 去工单详情
 | 
												path:
 | 
				
			||||||
              path: '/core/core-work-order-detail?woIdString=' + val.data.woIdString
 | 
													'/order/base/order-manage/order-detail-data?orderIdString=' +
 | 
				
			||||||
            })
 | 
													val.data.orderIds.join(','),
 | 
				
			||||||
          }
 | 
											});
 | 
				
			||||||
          break
 | 
										} else {
 | 
				
			||||||
        case 'qualityDetail':
 | 
											this.$router.push({
 | 
				
			||||||
          this.$router.push({
 | 
												// 去工单详情
 | 
				
			||||||
            path: '/quality/base/quality-inspection-data/detection-information/statistical-data?woIdString=' + val.data.woIdString
 | 
												path:
 | 
				
			||||||
          })
 | 
													'/core/core-work-order-detail?woIdString=' +
 | 
				
			||||||
          break
 | 
													val.data.woIdString,
 | 
				
			||||||
        default:
 | 
											});
 | 
				
			||||||
        // this.$router.push({
 | 
										}
 | 
				
			||||||
        //   path: '/delivery/delivery-log?orderId='+encodeURI(val.data.name)
 | 
										break;
 | 
				
			||||||
        // })
 | 
									case 'qualityDetail':
 | 
				
			||||||
      }
 | 
										this.$router.push({
 | 
				
			||||||
    },
 | 
											path:
 | 
				
			||||||
    toggleTab() {
 | 
												'/quality/base/quality-inspection-data/detection-information/statistical-data?woIdString=' +
 | 
				
			||||||
      if (this.activeName === 'barChart' && this.chartList.length > 0) {
 | 
												val.data.woIdString,
 | 
				
			||||||
        this.$nextTick(() => {
 | 
										});
 | 
				
			||||||
          this.$refs.monitoringRingCharts.initChart()
 | 
										break;
 | 
				
			||||||
        })
 | 
									default:
 | 
				
			||||||
      }
 | 
									// this.$router.push({
 | 
				
			||||||
    }
 | 
									//   path: '/delivery/delivery-log?orderId='+encodeURI(val.data.name)
 | 
				
			||||||
  }
 | 
									// })
 | 
				
			||||||
}
 | 
								}
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							toggleTab() {
 | 
				
			||||||
 | 
								if (this.activeName === 'barChart' && this.chartList.length > 0) {
 | 
				
			||||||
 | 
									this.$nextTick(() => {
 | 
				
			||||||
 | 
										this.$refs.monitoringRingCharts.initChart();
 | 
				
			||||||
 | 
									});
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
<style lang='scss'>
 | 
					<style lang='scss'>
 | 
				
			||||||
.orderMonitoring {
 | 
					.orderMonitoring {
 | 
				
			||||||
  .el-tabs__nav::after {
 | 
						.el-tabs__nav::after {
 | 
				
			||||||
    content: "";
 | 
							content: '';
 | 
				
			||||||
    position: absolute;
 | 
							position: absolute;
 | 
				
			||||||
    left: 0;
 | 
							left: 0;
 | 
				
			||||||
    bottom: 0;
 | 
							bottom: 0;
 | 
				
			||||||
    width: 100%;
 | 
							width: 100%;
 | 
				
			||||||
    height: 2px;
 | 
							height: 2px;
 | 
				
			||||||
    background-color: #e4e7ed;
 | 
							background-color: #e4e7ed;
 | 
				
			||||||
  }
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  .el-tabs__nav-wrap::after {
 | 
						.el-tabs__nav-wrap::after {
 | 
				
			||||||
    width: 0;
 | 
							width: 0;
 | 
				
			||||||
  }
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  .el-tabs__item {
 | 
						.el-tabs__item {
 | 
				
			||||||
    padding: 0 10px;
 | 
							padding: 0 10px;
 | 
				
			||||||
  }
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  .el-tabs__item:hover {
 | 
						.el-tabs__item:hover {
 | 
				
			||||||
    color: rgba(0, 0, 0, 0.85);
 | 
							color: rgba(0, 0, 0, 0.85);
 | 
				
			||||||
  }
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  .el-tabs__item.is-active {
 | 
						.el-tabs__item.is-active {
 | 
				
			||||||
    color: rgba(0, 0, 0, 0.85);
 | 
							color: rgba(0, 0, 0, 0.85);
 | 
				
			||||||
  }
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  .el-tabs__item {
 | 
						.el-tabs__item {
 | 
				
			||||||
    color: rgba(0, 0, 0, 0.45);
 | 
							color: rgba(0, 0, 0, 0.45);
 | 
				
			||||||
  }
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  .searchBarBox {
 | 
						.searchBarBox {
 | 
				
			||||||
    margin-bottom: 0;
 | 
							margin-bottom: 0;
 | 
				
			||||||
  }
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  .boxTitle {
 | 
						.boxTitle {
 | 
				
			||||||
    display: inline-block;
 | 
							display: inline-block;
 | 
				
			||||||
    font-size: 16px;
 | 
							font-size: 16px;
 | 
				
			||||||
    font-weight: 400;
 | 
							font-weight: 400;
 | 
				
			||||||
    color: #000000;
 | 
							color: #000000;
 | 
				
			||||||
    margin: 0 10px 16px 0;
 | 
							margin: 0 10px 16px 0;
 | 
				
			||||||
  }
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  .blueTitle {
 | 
						.blueTitle {
 | 
				
			||||||
    content: '';
 | 
							content: '';
 | 
				
			||||||
    display: inline-block;
 | 
							display: inline-block;
 | 
				
			||||||
    width: 4px;
 | 
							width: 4px;
 | 
				
			||||||
    height: 18px;
 | 
							height: 18px;
 | 
				
			||||||
    background-color: #0B58FF;
 | 
							background-color: #0b58ff;
 | 
				
			||||||
    border-radius: 1px;
 | 
							border-radius: 1px;
 | 
				
			||||||
    margin-right: 8px;
 | 
							margin-right: 8px;
 | 
				
			||||||
    vertical-align: bottom;
 | 
							vertical-align: bottom;
 | 
				
			||||||
  }
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
</style>
 | 
					</style>
 | 
				
			||||||
@@ -1,185 +1,188 @@
 | 
				
			|||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <div class="app-container vocHis">
 | 
						<div class="app-container vocHis">
 | 
				
			||||||
    <!-- 搜索工作栏 -->
 | 
							<!-- 搜索工作栏 -->
 | 
				
			||||||
    <search-bar
 | 
							<search-bar
 | 
				
			||||||
      :formConfigs="formConfig"
 | 
								:formConfigs="formConfig"
 | 
				
			||||||
      ref="searchBarForm"
 | 
								ref="searchBarForm"
 | 
				
			||||||
      @headBtnClick="buttonClick"
 | 
								@headBtnClick="buttonClick" />
 | 
				
			||||||
    />
 | 
							<!-- 列表 -->
 | 
				
			||||||
    <!-- 列表 -->
 | 
							<base-table
 | 
				
			||||||
    <base-table
 | 
								:page="queryParams.pageNo"
 | 
				
			||||||
      :page="queryParams.pageNo"
 | 
								:limit="queryParams.pageSize"
 | 
				
			||||||
      :limit="queryParams.pageSize"
 | 
								:table-props="tableProps"
 | 
				
			||||||
      :table-props="tableProps"
 | 
								:table-data="list"
 | 
				
			||||||
      :table-data="list"
 | 
								:max-height="tableH"
 | 
				
			||||||
      :max-height="tableH"
 | 
								:row-class-name="tableRowClassName" />
 | 
				
			||||||
      :row-class-name="tableRowClassName"
 | 
							<pagination
 | 
				
			||||||
    />
 | 
								:page.sync="queryParams.pageNo"
 | 
				
			||||||
    <pagination
 | 
								:limit.sync="queryParams.pageSize"
 | 
				
			||||||
      :page.sync="queryParams.pageNo"
 | 
								:total="total"
 | 
				
			||||||
      :limit.sync="queryParams.pageSize"
 | 
								@pagination="getList" />
 | 
				
			||||||
      :total="total"
 | 
						</div>
 | 
				
			||||||
      @pagination="getList"
 | 
					 | 
				
			||||||
    />
 | 
					 | 
				
			||||||
  </div>
 | 
					 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import { publicFormatter } from '@/utils/dict'
 | 
					import { publicFormatter } from '@/utils/dict';
 | 
				
			||||||
import { parseTime } from '@/utils/ruoyi'
 | 
					import { parseTime } from '@/utils/ruoyi';
 | 
				
			||||||
import { environmentalCheckRecordPage, environmentalCheckRecordExport, environmentalCheckPage } from '@/api/safetyEnvironmental/environmental'
 | 
					import {
 | 
				
			||||||
import moment from 'moment'
 | 
						environmentalCheckRecordPage,
 | 
				
			||||||
 | 
						environmentalCheckRecordExport,
 | 
				
			||||||
 | 
						environmentalCheckPage,
 | 
				
			||||||
 | 
					} from '@/api/safetyEnvironmental/environmental';
 | 
				
			||||||
 | 
					import moment from 'moment';
 | 
				
			||||||
 | 
					import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
 | 
				
			||||||
const tableProps = [
 | 
					const tableProps = [
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'checkName',
 | 
							prop: 'checkName',
 | 
				
			||||||
    label: '指标名称'
 | 
							label: '指标名称',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'checkValue',
 | 
							prop: 'checkValue',
 | 
				
			||||||
    label: '检测数值'
 | 
							label: '检测数值',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'unit',
 | 
							prop: 'unit',
 | 
				
			||||||
    label: '单位',
 | 
							label: '单位',
 | 
				
			||||||
    filter: publicFormatter('environment_check_unit')
 | 
							filter: publicFormatter('environment_check_unit'),
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'checkTime',
 | 
							prop: 'checkTime',
 | 
				
			||||||
    label: '检测时间',
 | 
							label: '检测时间',
 | 
				
			||||||
    filter: parseTime,
 | 
							filter: parseTime,
 | 
				
			||||||
    minWidth: 160
 | 
							minWidth: 160,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'origin',
 | 
							prop: 'origin',
 | 
				
			||||||
    label: '来源',
 | 
							label: '来源',
 | 
				
			||||||
    filter: (val) => ['手动', '自动'][val]
 | 
							filter: (val) => ['手动', '自动'][val],
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'recordPerson',
 | 
							prop: 'recordPerson',
 | 
				
			||||||
    label: '录入人'
 | 
							label: '录入人',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'recordTime',
 | 
							prop: 'recordTime',
 | 
				
			||||||
    label: '录入时间',
 | 
							label: '录入时间',
 | 
				
			||||||
    filter: parseTime,
 | 
							filter: parseTime,
 | 
				
			||||||
    minWidth: 160
 | 
							minWidth: 160,
 | 
				
			||||||
  }
 | 
						},
 | 
				
			||||||
]
 | 
					];
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: 'VocDetectionHistory',
 | 
						name: 'VocDetectionHistory',
 | 
				
			||||||
  data() {
 | 
						mixins: [tableHeightMixin],
 | 
				
			||||||
    return {
 | 
						data() {
 | 
				
			||||||
      formConfig: [
 | 
							return {
 | 
				
			||||||
        {
 | 
								formConfig: [
 | 
				
			||||||
          type: 'select',
 | 
									{
 | 
				
			||||||
          label: '指标名称',
 | 
										type: 'select',
 | 
				
			||||||
          selectOptions: [],
 | 
										label: '指标名称',
 | 
				
			||||||
          param: 'checkId',
 | 
										selectOptions: [],
 | 
				
			||||||
          filterable: true
 | 
										param: 'checkId',
 | 
				
			||||||
        },
 | 
										filterable: true,
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: 'datePicker',
 | 
									{
 | 
				
			||||||
          label: '时间',
 | 
										type: 'datePicker',
 | 
				
			||||||
          dateType: 'datetimerange',
 | 
										label: '时间',
 | 
				
			||||||
          format: 'yyyy-MM-dd HH:mm:ss',
 | 
										dateType: 'datetimerange',
 | 
				
			||||||
          valueFormat: "timestamp",
 | 
										format: 'yyyy-MM-dd HH:mm:ss',
 | 
				
			||||||
          rangeSeparator: '-',
 | 
										valueFormat: 'timestamp',
 | 
				
			||||||
          startPlaceholder: '开始时间',
 | 
										rangeSeparator: '-',
 | 
				
			||||||
          endPlaceholder: '结束时间',
 | 
										startPlaceholder: '开始时间',
 | 
				
			||||||
          param: 'timeVal',
 | 
										endPlaceholder: '结束时间',
 | 
				
			||||||
          defaultSelect: [],
 | 
										param: 'timeVal',
 | 
				
			||||||
          width: 350
 | 
										defaultSelect: [],
 | 
				
			||||||
        },
 | 
										width: 350,
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: 'button',
 | 
									{
 | 
				
			||||||
          btnName: '查询',
 | 
										type: 'button',
 | 
				
			||||||
          name: 'search',
 | 
										btnName: '查询',
 | 
				
			||||||
          color: 'primary'
 | 
										name: 'search',
 | 
				
			||||||
        },
 | 
										color: 'primary',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: this.$auth.hasPermi('base:voc:export') ? 'separate' : '',
 | 
									{
 | 
				
			||||||
        },
 | 
										type: this.$auth.hasPermi('base:voc:export') ? 'separate' : '',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: this.$auth.hasPermi('base:voc:export') ? 'button' : '',
 | 
									{
 | 
				
			||||||
          btnName: '导出',
 | 
										type: this.$auth.hasPermi('base:voc:export') ? 'button' : '',
 | 
				
			||||||
          name: 'export',
 | 
										btnName: '导出',
 | 
				
			||||||
          color: 'primary',
 | 
										name: 'export',
 | 
				
			||||||
          plain: true
 | 
										color: 'primary',
 | 
				
			||||||
        }
 | 
										plain: true,
 | 
				
			||||||
      ],
 | 
									},
 | 
				
			||||||
      // 查询参数
 | 
								],
 | 
				
			||||||
      queryParams: {
 | 
								// 查询参数
 | 
				
			||||||
        pageNo: 1,
 | 
								queryParams: {
 | 
				
			||||||
        pageSize: 20,
 | 
									pageNo: 1,
 | 
				
			||||||
        checkId: null,
 | 
									pageSize: 20,
 | 
				
			||||||
        checkType: 3,
 | 
									checkId: null,
 | 
				
			||||||
        startTime: null,
 | 
									checkType: 3,
 | 
				
			||||||
        endTime: null
 | 
									startTime: null,
 | 
				
			||||||
      },
 | 
									endTime: null,
 | 
				
			||||||
      tableProps,
 | 
								},
 | 
				
			||||||
      list: [],
 | 
								tableProps,
 | 
				
			||||||
      total: 0,
 | 
								list: [],
 | 
				
			||||||
      tableH: this.tableHeight(260)
 | 
								total: 0,
 | 
				
			||||||
    }
 | 
							};
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  created() {
 | 
						created() {
 | 
				
			||||||
    window.addEventListener('resize', () => {
 | 
							let end = moment(moment().format('YYYY-MM-DD 23:59:59')).valueOf();
 | 
				
			||||||
      this.tableH = this.tableHeight(260)
 | 
							let start = moment(moment().format('YYYY-MM-DD 00:00:00')).valueOf();
 | 
				
			||||||
    })
 | 
							this.formConfig[1].defaultSelect = [start, end];
 | 
				
			||||||
    let end = moment(moment().format('YYYY-MM-DD 23:59:59')).valueOf()
 | 
							this.queryParams.startTime = start;
 | 
				
			||||||
    let start = moment(moment().format('YYYY-MM-DD 00:00:00')).valueOf()
 | 
							this.queryParams.endTime = end;
 | 
				
			||||||
    this.formConfig[1].defaultSelect = [start, end]
 | 
							this.getSelectList();
 | 
				
			||||||
    this.queryParams.startTime = start
 | 
							this.getList();
 | 
				
			||||||
    this.queryParams.endTime = end
 | 
						},
 | 
				
			||||||
    this.getSelectList()
 | 
						methods: {
 | 
				
			||||||
    this.getList()
 | 
							buttonClick(val) {
 | 
				
			||||||
  },
 | 
								this.queryParams.pageNo = 1;
 | 
				
			||||||
  methods: {
 | 
								this.queryParams.checkId = val.checkId;
 | 
				
			||||||
    buttonClick(val) {
 | 
								this.queryParams.startTime = val.timeVal ? val.timeVal[0] : null;
 | 
				
			||||||
      this.queryParams.pageNo = 1;
 | 
								this.queryParams.endTime = val.timeVal ? val.timeVal[1] : null;
 | 
				
			||||||
      this.queryParams.checkId = val.checkId
 | 
								if (val.btnName === 'search') {
 | 
				
			||||||
      this.queryParams.startTime = val.timeVal ? val.timeVal[0] : null
 | 
									this.getList();
 | 
				
			||||||
      this.queryParams.endTime = val.timeVal ? val.timeVal[1] : null
 | 
								} else {
 | 
				
			||||||
      if (val.btnName === 'search') {
 | 
									this.$modal
 | 
				
			||||||
        this.getList()
 | 
										.confirm('是否确认导出')
 | 
				
			||||||
      } else {
 | 
										.then(() => {
 | 
				
			||||||
        this.$modal.confirm('是否确认导出').then(() => {
 | 
											return environmentalCheckRecordExport({ ...this.queryParams });
 | 
				
			||||||
            return environmentalCheckRecordExport({...this.queryParams});
 | 
										})
 | 
				
			||||||
          }).then(response => {
 | 
										.then((response) => {
 | 
				
			||||||
            this.$download.excel(response, '废水检测历史记录.xls');
 | 
											this.$download.excel(response, '废水检测历史记录.xls');
 | 
				
			||||||
          }).catch(() => {})
 | 
										})
 | 
				
			||||||
      }
 | 
										.catch(() => {});
 | 
				
			||||||
    },
 | 
								}
 | 
				
			||||||
    getList() {
 | 
							},
 | 
				
			||||||
      environmentalCheckRecordPage({...this.queryParams}).then(res => {
 | 
							getList() {
 | 
				
			||||||
        this.list = res.data.list || []
 | 
								environmentalCheckRecordPage({ ...this.queryParams }).then((res) => {
 | 
				
			||||||
        this.total = res.data.total || 0
 | 
									this.list = res.data.list || [];
 | 
				
			||||||
      })
 | 
									this.total = res.data.total || 0;
 | 
				
			||||||
    },
 | 
								});
 | 
				
			||||||
    getSelectList() {
 | 
							},
 | 
				
			||||||
      environmentalCheckPage({
 | 
							getSelectList() {
 | 
				
			||||||
        pageNo: 1,
 | 
								environmentalCheckPage({
 | 
				
			||||||
        pageSize: 100,
 | 
									pageNo: 1,
 | 
				
			||||||
        checkType: 3
 | 
									pageSize: 100,
 | 
				
			||||||
      }).then(res => {
 | 
									checkType: 3,
 | 
				
			||||||
        console.log(res)
 | 
								}).then((res) => {
 | 
				
			||||||
        this.formConfig[0].selectOptions = res.data.list || []
 | 
									console.log(res);
 | 
				
			||||||
      })
 | 
									this.formConfig[0].selectOptions = res.data.list || [];
 | 
				
			||||||
    },
 | 
								});
 | 
				
			||||||
    tableRowClassName({row, rowIndex}) {
 | 
							},
 | 
				
			||||||
      console.log(row)
 | 
							tableRowClassName({ row, rowIndex }) {
 | 
				
			||||||
      if (row.markRed) {
 | 
								console.log(row);
 | 
				
			||||||
        return 'warning-row'
 | 
								if (row.markRed) {
 | 
				
			||||||
      }else {
 | 
									return 'warning-row';
 | 
				
			||||||
        return ''
 | 
								} else {
 | 
				
			||||||
      }
 | 
									return '';
 | 
				
			||||||
    }
 | 
								}
 | 
				
			||||||
  }
 | 
							},
 | 
				
			||||||
}
 | 
						},
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
<style lang='scss'>
 | 
					<style lang='scss'>
 | 
				
			||||||
.vocHis {
 | 
					.vocHis {
 | 
				
			||||||
  .el-table .warning-row {
 | 
						.el-table .warning-row {
 | 
				
			||||||
    background: #fee1e1;
 | 
							background: #fee1e1;
 | 
				
			||||||
  }
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
</style>
 | 
					</style>
 | 
				
			||||||
@@ -1,205 +1,210 @@
 | 
				
			|||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <div class="app-container">
 | 
						<div class="app-container">
 | 
				
			||||||
    <!-- 搜索工作栏 -->
 | 
							<!-- 搜索工作栏 -->
 | 
				
			||||||
    <search-bar
 | 
							<search-bar
 | 
				
			||||||
      :formConfigs="formConfig"
 | 
								:formConfigs="formConfig"
 | 
				
			||||||
      ref="searchBarForm"
 | 
								ref="searchBarForm"
 | 
				
			||||||
      @headBtnClick="buttonClick"
 | 
								@headBtnClick="buttonClick" />
 | 
				
			||||||
    />
 | 
							<!-- 列表 -->
 | 
				
			||||||
    <!-- 列表 -->
 | 
							<base-table
 | 
				
			||||||
    <base-table
 | 
								:page="queryParams.pageNo"
 | 
				
			||||||
      :page="queryParams.pageNo"
 | 
								:limit="queryParams.pageSize"
 | 
				
			||||||
      :limit="queryParams.pageSize"
 | 
								:table-props="tableProps"
 | 
				
			||||||
      :table-props="tableProps"
 | 
								:table-data="list"
 | 
				
			||||||
      :table-data="list"
 | 
								:max-height="tableH">
 | 
				
			||||||
      :max-height="tableH"
 | 
								<method-btn
 | 
				
			||||||
    >
 | 
									v-if="tableBtn.length"
 | 
				
			||||||
      <method-btn
 | 
									slot="handleBtn"
 | 
				
			||||||
        v-if="tableBtn.length"
 | 
									:width="80"
 | 
				
			||||||
        slot="handleBtn"
 | 
									label="操作"
 | 
				
			||||||
        :width="80"
 | 
									:method-list="tableBtn"
 | 
				
			||||||
        label="操作"
 | 
									@clickBtn="handleClick" />
 | 
				
			||||||
        :method-list="tableBtn"
 | 
							</base-table>
 | 
				
			||||||
        @clickBtn="handleClick"
 | 
							<pagination
 | 
				
			||||||
      />
 | 
								:page.sync="queryParams.pageNo"
 | 
				
			||||||
    </base-table>
 | 
								:limit.sync="queryParams.pageSize"
 | 
				
			||||||
    <pagination
 | 
								:total="total"
 | 
				
			||||||
      :page.sync="queryParams.pageNo"
 | 
								@pagination="getList" />
 | 
				
			||||||
      :limit.sync="queryParams.pageSize"
 | 
							<!-- 新增&编辑 -->
 | 
				
			||||||
      :total="total"
 | 
							<base-dialog
 | 
				
			||||||
      @pagination="getList"
 | 
								:dialogTitle="addOrEditTitle"
 | 
				
			||||||
    />
 | 
								:dialogVisible="centervisible"
 | 
				
			||||||
    <!-- 新增&编辑 -->
 | 
								@cancel="handleCancel"
 | 
				
			||||||
    <base-dialog
 | 
								@confirm="handleConfirm"
 | 
				
			||||||
      :dialogTitle="addOrEditTitle"
 | 
								:before-close="handleCancel"
 | 
				
			||||||
      :dialogVisible="centervisible"
 | 
								width="60%">
 | 
				
			||||||
      @cancel="handleCancel"
 | 
								<voc-add
 | 
				
			||||||
      @confirm="handleConfirm"
 | 
									ref="vocAdd"
 | 
				
			||||||
      :before-close="handleCancel"
 | 
									@successSubmit="successSubmit" />
 | 
				
			||||||
      width='60%'
 | 
							</base-dialog>
 | 
				
			||||||
    >
 | 
						</div>
 | 
				
			||||||
      <voc-add ref="vocAdd" @successSubmit="successSubmit" />
 | 
					 | 
				
			||||||
    </base-dialog>
 | 
					 | 
				
			||||||
  </div>
 | 
					 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import { parseTime } from '@/utils/ruoyi'
 | 
					import { parseTime } from '@/utils/ruoyi';
 | 
				
			||||||
import VocAdd from './components/vocAdd'
 | 
					import VocAdd from './components/vocAdd';
 | 
				
			||||||
import { publicFormatter } from '@/utils/dict'
 | 
					import { publicFormatter } from '@/utils/dict';
 | 
				
			||||||
import { environmentalCheckPage, environmentalCheckDelete } from '@/api/safetyEnvironmental/environmental'
 | 
					import {
 | 
				
			||||||
 | 
						environmentalCheckPage,
 | 
				
			||||||
 | 
						environmentalCheckDelete,
 | 
				
			||||||
 | 
					} from '@/api/safetyEnvironmental/environmental';
 | 
				
			||||||
 | 
					import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
 | 
				
			||||||
const tableProps = [
 | 
					const tableProps = [
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'name',
 | 
							prop: 'name',
 | 
				
			||||||
    label: '指标名称',
 | 
							label: '指标名称',
 | 
				
			||||||
    minWidth: 120,
 | 
							minWidth: 120,
 | 
				
			||||||
    showOverflowtooltip: true
 | 
							showOverflowtooltip: true,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'code',
 | 
							prop: 'code',
 | 
				
			||||||
    label: '指标编码',
 | 
							label: '指标编码',
 | 
				
			||||||
    minWidth: 120
 | 
							minWidth: 120,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'unit',
 | 
							prop: 'unit',
 | 
				
			||||||
    label: '单位',
 | 
							label: '单位',
 | 
				
			||||||
    filter: publicFormatter('environment_check_unit')
 | 
							filter: publicFormatter('environment_check_unit'),
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'minValue',
 | 
							prop: 'minValue',
 | 
				
			||||||
    label: '最小值'
 | 
							label: '最小值',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'maxValue',
 | 
							prop: 'maxValue',
 | 
				
			||||||
    label: '最大值'
 | 
							label: '最大值',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'creator',
 | 
							prop: 'creator',
 | 
				
			||||||
    label: '创建人'
 | 
							label: '创建人',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'createTime',
 | 
							prop: 'createTime',
 | 
				
			||||||
    label: '创建时间',
 | 
							label: '创建时间',
 | 
				
			||||||
    filter: parseTime,
 | 
							filter: parseTime,
 | 
				
			||||||
    minWidth: 160
 | 
							minWidth: 160,
 | 
				
			||||||
  }
 | 
						},
 | 
				
			||||||
]
 | 
					];
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: 'VocDetectionIndication',
 | 
						name: 'VocDetectionIndication',
 | 
				
			||||||
  data() {
 | 
						mixins: [tableHeightMixin],
 | 
				
			||||||
    return {
 | 
						data() {
 | 
				
			||||||
      formConfig: [
 | 
							return {
 | 
				
			||||||
        {
 | 
								formConfig: [
 | 
				
			||||||
          type: 'input',
 | 
									{
 | 
				
			||||||
          label: '指标名称',
 | 
										type: 'input',
 | 
				
			||||||
          placeholder: '指标名称',
 | 
										label: '指标名称',
 | 
				
			||||||
          param: 'name'
 | 
										placeholder: '指标名称',
 | 
				
			||||||
        },
 | 
										param: 'name',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: 'button',
 | 
									{
 | 
				
			||||||
          btnName: '查询',
 | 
										type: 'button',
 | 
				
			||||||
          name: 'search',
 | 
										btnName: '查询',
 | 
				
			||||||
          color: 'primary'
 | 
										name: 'search',
 | 
				
			||||||
        },
 | 
										color: 'primary',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: this.$auth.hasPermi('base:voc:create') ? 'separate' : '',
 | 
									{
 | 
				
			||||||
        },
 | 
										type: this.$auth.hasPermi('base:voc:create') ? 'separate' : '',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: this.$auth.hasPermi('base:voc:create') ? 'button' : '',
 | 
									{
 | 
				
			||||||
          btnName: '新增',
 | 
										type: this.$auth.hasPermi('base:voc:create') ? 'button' : '',
 | 
				
			||||||
          name: 'add',
 | 
										btnName: '新增',
 | 
				
			||||||
          color: 'success',
 | 
										name: 'add',
 | 
				
			||||||
          plain: true
 | 
										color: 'success',
 | 
				
			||||||
        }
 | 
										plain: true,
 | 
				
			||||||
      ],
 | 
									},
 | 
				
			||||||
      // 查询参数
 | 
								],
 | 
				
			||||||
      queryParams: {
 | 
								// 查询参数
 | 
				
			||||||
        pageNo: 1,
 | 
								queryParams: {
 | 
				
			||||||
        pageSize: 20,
 | 
									pageNo: 1,
 | 
				
			||||||
        checkType: 3,
 | 
									pageSize: 20,
 | 
				
			||||||
        name: null
 | 
									checkType: 3,
 | 
				
			||||||
      },
 | 
									name: null,
 | 
				
			||||||
      total: 0,
 | 
								},
 | 
				
			||||||
      tableProps,
 | 
								total: 0,
 | 
				
			||||||
      list: [],
 | 
								tableProps,
 | 
				
			||||||
      tableH: this.tableHeight(260),
 | 
								list: [],
 | 
				
			||||||
      tableBtn: [
 | 
								tableBtn: [
 | 
				
			||||||
        this.$auth.hasPermi('base:voc:update')
 | 
									this.$auth.hasPermi('base:voc:update')
 | 
				
			||||||
          ? {
 | 
										? {
 | 
				
			||||||
              type: 'edit',
 | 
												type: 'edit',
 | 
				
			||||||
              btnName: '编辑'
 | 
												btnName: '编辑',
 | 
				
			||||||
            }
 | 
										  }
 | 
				
			||||||
          : undefined,
 | 
										: undefined,
 | 
				
			||||||
        this.$auth.hasPermi('base:voc:delete')
 | 
									this.$auth.hasPermi('base:voc:delete')
 | 
				
			||||||
          ? {
 | 
										? {
 | 
				
			||||||
              type: 'delete',
 | 
												type: 'delete',
 | 
				
			||||||
              btnName: '删除'
 | 
												btnName: '删除',
 | 
				
			||||||
            }
 | 
										  }
 | 
				
			||||||
          : undefined
 | 
										: undefined,
 | 
				
			||||||
      ].filter((v)=>v),
 | 
								].filter((v) => v),
 | 
				
			||||||
      addOrEditTitle: '',
 | 
								addOrEditTitle: '',
 | 
				
			||||||
      centervisible: false
 | 
								centervisible: false,
 | 
				
			||||||
    }
 | 
							};
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  components: { VocAdd },
 | 
						components: { VocAdd },
 | 
				
			||||||
  mounted() {
 | 
						mounted() {
 | 
				
			||||||
    this.getList()
 | 
							this.getList();
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  methods: {
 | 
						methods: {
 | 
				
			||||||
    getList() {
 | 
							getList() {
 | 
				
			||||||
      environmentalCheckPage({...this.queryParams}).then(res => {
 | 
								environmentalCheckPage({ ...this.queryParams }).then((res) => {
 | 
				
			||||||
        this.list = res.data.list || []
 | 
									this.list = res.data.list || [];
 | 
				
			||||||
        this.total = res.data.total || 0
 | 
									this.total = res.data.total || 0;
 | 
				
			||||||
      })
 | 
								});
 | 
				
			||||||
    },
 | 
							},
 | 
				
			||||||
    buttonClick(val) {
 | 
							buttonClick(val) {
 | 
				
			||||||
      console.log(val)
 | 
								console.log(val);
 | 
				
			||||||
      if (val.btnName === 'search') {
 | 
								if (val.btnName === 'search') {
 | 
				
			||||||
        this.queryParams.name = val.name
 | 
									this.queryParams.name = val.name;
 | 
				
			||||||
        this.getList()
 | 
									this.getList();
 | 
				
			||||||
      } else {
 | 
								} else {
 | 
				
			||||||
        this.addOrEditTitle = '新增'
 | 
									this.addOrEditTitle = '新增';
 | 
				
			||||||
        this.centervisible = true
 | 
									this.centervisible = true;
 | 
				
			||||||
        this.$nextTick(() => {
 | 
									this.$nextTick(() => {
 | 
				
			||||||
          this.$refs.vocAdd.init()
 | 
										this.$refs.vocAdd.init();
 | 
				
			||||||
        })
 | 
									});
 | 
				
			||||||
      }
 | 
								}
 | 
				
			||||||
    },
 | 
							},
 | 
				
			||||||
    handleClick(val) {
 | 
							handleClick(val) {
 | 
				
			||||||
      console.log(val)
 | 
								console.log(val);
 | 
				
			||||||
      switch (val.type) {
 | 
								switch (val.type) {
 | 
				
			||||||
        case 'edit':
 | 
									case 'edit':
 | 
				
			||||||
          this.addOrEditTitle = '编辑'
 | 
										this.addOrEditTitle = '编辑';
 | 
				
			||||||
          this.centervisible = true
 | 
										this.centervisible = true;
 | 
				
			||||||
          this.$nextTick(() => {
 | 
										this.$nextTick(() => {
 | 
				
			||||||
            this.$refs.vocAdd.init(val.data.id)
 | 
											this.$refs.vocAdd.init(val.data.id);
 | 
				
			||||||
          })
 | 
										});
 | 
				
			||||||
          break
 | 
										break;
 | 
				
			||||||
        default:
 | 
									default:
 | 
				
			||||||
          this.handleDelete(val.data)
 | 
										this.handleDelete(val.data);
 | 
				
			||||||
      }
 | 
								}
 | 
				
			||||||
    },
 | 
							},
 | 
				
			||||||
    // 删除
 | 
							// 删除
 | 
				
			||||||
    handleDelete(val) {
 | 
							handleDelete(val) {
 | 
				
			||||||
      this.$modal.confirm('是否确认删除"' + val.name + '"的数据项?').then(function() {
 | 
								this.$modal
 | 
				
			||||||
        return environmentalCheckDelete({ id: val.id })
 | 
									.confirm('是否确认删除"' + val.name + '"的数据项?')
 | 
				
			||||||
      }).then(() => {
 | 
									.then(function () {
 | 
				
			||||||
        this.getList();
 | 
										return environmentalCheckDelete({ id: val.id });
 | 
				
			||||||
        this.$modal.msgSuccess("操作成功");
 | 
									})
 | 
				
			||||||
      }).catch(() => {});
 | 
									.then(() => {
 | 
				
			||||||
    },
 | 
										this.getList();
 | 
				
			||||||
    // 新增
 | 
										this.$modal.msgSuccess('操作成功');
 | 
				
			||||||
    handleCancel() {
 | 
									})
 | 
				
			||||||
      this.$refs.vocAdd.formClear()
 | 
									.catch(() => {});
 | 
				
			||||||
      this.centervisible = false
 | 
							},
 | 
				
			||||||
      this.addOrEditTitle = ''
 | 
							// 新增
 | 
				
			||||||
    },
 | 
							handleCancel() {
 | 
				
			||||||
    handleConfirm() {
 | 
								this.$refs.vocAdd.formClear();
 | 
				
			||||||
      this.$refs.vocAdd.submitForm()
 | 
								this.centervisible = false;
 | 
				
			||||||
    },
 | 
								this.addOrEditTitle = '';
 | 
				
			||||||
    successSubmit() {
 | 
							},
 | 
				
			||||||
      this.handleCancel()
 | 
							handleConfirm() {
 | 
				
			||||||
      this.getList()
 | 
								this.$refs.vocAdd.submitForm();
 | 
				
			||||||
    }
 | 
							},
 | 
				
			||||||
  }
 | 
							successSubmit() {
 | 
				
			||||||
}
 | 
								this.handleCancel();
 | 
				
			||||||
 | 
								this.getList();
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
@@ -1,185 +1,188 @@
 | 
				
			|||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <div class="app-container wasteGasHis">
 | 
						<div class="app-container wasteGasHis">
 | 
				
			||||||
    <!-- 搜索工作栏 -->
 | 
							<!-- 搜索工作栏 -->
 | 
				
			||||||
    <search-bar
 | 
							<search-bar
 | 
				
			||||||
      :formConfigs="formConfig"
 | 
								:formConfigs="formConfig"
 | 
				
			||||||
      ref="searchBarForm"
 | 
								ref="searchBarForm"
 | 
				
			||||||
      @headBtnClick="buttonClick"
 | 
								@headBtnClick="buttonClick" />
 | 
				
			||||||
    />
 | 
							<!-- 列表 -->
 | 
				
			||||||
    <!-- 列表 -->
 | 
							<base-table
 | 
				
			||||||
    <base-table
 | 
								:page="queryParams.pageNo"
 | 
				
			||||||
      :page="queryParams.pageNo"
 | 
								:limit="queryParams.pageSize"
 | 
				
			||||||
      :limit="queryParams.pageSize"
 | 
								:table-props="tableProps"
 | 
				
			||||||
      :table-props="tableProps"
 | 
								:table-data="list"
 | 
				
			||||||
      :table-data="list"
 | 
								:max-height="tableH"
 | 
				
			||||||
      :max-height="tableH"
 | 
								:row-class-name="tableRowClassName" />
 | 
				
			||||||
      :row-class-name="tableRowClassName"
 | 
							<pagination
 | 
				
			||||||
    />
 | 
								:page.sync="queryParams.pageNo"
 | 
				
			||||||
    <pagination
 | 
								:limit.sync="queryParams.pageSize"
 | 
				
			||||||
      :page.sync="queryParams.pageNo"
 | 
								:total="total"
 | 
				
			||||||
      :limit.sync="queryParams.pageSize"
 | 
								@pagination="getList" />
 | 
				
			||||||
      :total="total"
 | 
						</div>
 | 
				
			||||||
      @pagination="getList"
 | 
					 | 
				
			||||||
    />
 | 
					 | 
				
			||||||
  </div>
 | 
					 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import { publicFormatter } from '@/utils/dict'
 | 
					import { publicFormatter } from '@/utils/dict';
 | 
				
			||||||
import { parseTime } from '@/utils/ruoyi'
 | 
					import { parseTime } from '@/utils/ruoyi';
 | 
				
			||||||
import { environmentalCheckRecordPage, environmentalCheckRecordExport, environmentalCheckPage } from '@/api/safetyEnvironmental/environmental'
 | 
					import {
 | 
				
			||||||
import moment from 'moment'
 | 
						environmentalCheckRecordPage,
 | 
				
			||||||
 | 
						environmentalCheckRecordExport,
 | 
				
			||||||
 | 
						environmentalCheckPage,
 | 
				
			||||||
 | 
					} from '@/api/safetyEnvironmental/environmental';
 | 
				
			||||||
 | 
					import moment from 'moment';
 | 
				
			||||||
 | 
					import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
 | 
				
			||||||
const tableProps = [
 | 
					const tableProps = [
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'checkName',
 | 
							prop: 'checkName',
 | 
				
			||||||
    label: '指标名称'
 | 
							label: '指标名称',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'checkValue',
 | 
							prop: 'checkValue',
 | 
				
			||||||
    label: '检测数值'
 | 
							label: '检测数值',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'unit',
 | 
							prop: 'unit',
 | 
				
			||||||
    label: '单位',
 | 
							label: '单位',
 | 
				
			||||||
    filter: publicFormatter('environment_check_unit')
 | 
							filter: publicFormatter('environment_check_unit'),
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'checkTime',
 | 
							prop: 'checkTime',
 | 
				
			||||||
    label: '检测时间',
 | 
							label: '检测时间',
 | 
				
			||||||
    filter: parseTime,
 | 
							filter: parseTime,
 | 
				
			||||||
    minWidth: 160
 | 
							minWidth: 160,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'origin',
 | 
							prop: 'origin',
 | 
				
			||||||
    label: '来源',
 | 
							label: '来源',
 | 
				
			||||||
    filter: (val) => ['手动', '自动'][val]
 | 
							filter: (val) => ['手动', '自动'][val],
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'recordPerson',
 | 
							prop: 'recordPerson',
 | 
				
			||||||
    label: '录入人'
 | 
							label: '录入人',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'recordTime',
 | 
							prop: 'recordTime',
 | 
				
			||||||
    label: '录入时间',
 | 
							label: '录入时间',
 | 
				
			||||||
    filter: parseTime,
 | 
							filter: parseTime,
 | 
				
			||||||
    minWidth: 160
 | 
							minWidth: 160,
 | 
				
			||||||
  }
 | 
						},
 | 
				
			||||||
]
 | 
					];
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: 'WasteGasDetectionHistory',
 | 
						name: 'WasteGasDetectionHistory',
 | 
				
			||||||
  data() {
 | 
						mixins: [tableHeightMixin],
 | 
				
			||||||
    return {
 | 
						data() {
 | 
				
			||||||
      formConfig: [
 | 
							return {
 | 
				
			||||||
        {
 | 
								formConfig: [
 | 
				
			||||||
          type: 'select',
 | 
									{
 | 
				
			||||||
          label: '指标名称',
 | 
										type: 'select',
 | 
				
			||||||
          selectOptions: [],
 | 
										label: '指标名称',
 | 
				
			||||||
          param: 'checkId',
 | 
										selectOptions: [],
 | 
				
			||||||
          filterable: true
 | 
										param: 'checkId',
 | 
				
			||||||
        },
 | 
										filterable: true,
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: 'datePicker',
 | 
									{
 | 
				
			||||||
          label: '时间',
 | 
										type: 'datePicker',
 | 
				
			||||||
          dateType: 'datetimerange',
 | 
										label: '时间',
 | 
				
			||||||
          format: 'yyyy-MM-dd HH:mm:ss',
 | 
										dateType: 'datetimerange',
 | 
				
			||||||
          valueFormat: "timestamp",
 | 
										format: 'yyyy-MM-dd HH:mm:ss',
 | 
				
			||||||
          rangeSeparator: '-',
 | 
										valueFormat: 'timestamp',
 | 
				
			||||||
          startPlaceholder: '开始时间',
 | 
										rangeSeparator: '-',
 | 
				
			||||||
          endPlaceholder: '结束时间',
 | 
										startPlaceholder: '开始时间',
 | 
				
			||||||
          param: 'timeVal',
 | 
										endPlaceholder: '结束时间',
 | 
				
			||||||
          defaultSelect: [],
 | 
										param: 'timeVal',
 | 
				
			||||||
          width: 350
 | 
										defaultSelect: [],
 | 
				
			||||||
        },
 | 
										width: 350,
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: 'button',
 | 
									{
 | 
				
			||||||
          btnName: '查询',
 | 
										type: 'button',
 | 
				
			||||||
          name: 'search',
 | 
										btnName: '查询',
 | 
				
			||||||
          color: 'primary'
 | 
										name: 'search',
 | 
				
			||||||
        },
 | 
										color: 'primary',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: this.$auth.hasPermi('base:waste-gas:export') ? 'separate' : '',
 | 
									{
 | 
				
			||||||
        },
 | 
										type: this.$auth.hasPermi('base:waste-gas:export') ? 'separate' : '',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: this.$auth.hasPermi('base:waste-gas:export') ? 'button' : '',
 | 
									{
 | 
				
			||||||
          btnName: '导出',
 | 
										type: this.$auth.hasPermi('base:waste-gas:export') ? 'button' : '',
 | 
				
			||||||
          name: 'export',
 | 
										btnName: '导出',
 | 
				
			||||||
          color: 'primary',
 | 
										name: 'export',
 | 
				
			||||||
          plain: true
 | 
										color: 'primary',
 | 
				
			||||||
        }
 | 
										plain: true,
 | 
				
			||||||
      ],
 | 
									},
 | 
				
			||||||
      // 查询参数
 | 
								],
 | 
				
			||||||
      queryParams: {
 | 
								// 查询参数
 | 
				
			||||||
        pageNo: 1,
 | 
								queryParams: {
 | 
				
			||||||
        pageSize: 20,
 | 
									pageNo: 1,
 | 
				
			||||||
        checkId: null,
 | 
									pageSize: 20,
 | 
				
			||||||
        checkType: 2,
 | 
									checkId: null,
 | 
				
			||||||
        startTime: null,
 | 
									checkType: 2,
 | 
				
			||||||
        endTime: null
 | 
									startTime: null,
 | 
				
			||||||
      },
 | 
									endTime: null,
 | 
				
			||||||
      tableProps,
 | 
								},
 | 
				
			||||||
      list: [],
 | 
								tableProps,
 | 
				
			||||||
      total: 0,
 | 
								list: [],
 | 
				
			||||||
      tableH: this.tableHeight(260)
 | 
								total: 0,
 | 
				
			||||||
    }
 | 
							};
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  created() {
 | 
						created() {
 | 
				
			||||||
    window.addEventListener('resize', () => {
 | 
							let end = moment(moment().format('YYYY-MM-DD 23:59:59')).valueOf();
 | 
				
			||||||
      this.tableH = this.tableHeight(260)
 | 
							let start = moment(moment().format('YYYY-MM-DD 00:00:00')).valueOf();
 | 
				
			||||||
    })
 | 
							this.formConfig[1].defaultSelect = [start, end];
 | 
				
			||||||
    let end = moment(moment().format('YYYY-MM-DD 23:59:59')).valueOf()
 | 
							this.queryParams.startTime = start;
 | 
				
			||||||
    let start = moment(moment().format('YYYY-MM-DD 00:00:00')).valueOf()
 | 
							this.queryParams.endTime = end;
 | 
				
			||||||
    this.formConfig[1].defaultSelect = [start, end]
 | 
							this.getSelectList();
 | 
				
			||||||
    this.queryParams.startTime = start
 | 
							this.getList();
 | 
				
			||||||
    this.queryParams.endTime = end
 | 
						},
 | 
				
			||||||
    this.getSelectList()
 | 
						methods: {
 | 
				
			||||||
    this.getList()
 | 
							buttonClick(val) {
 | 
				
			||||||
  },
 | 
								this.queryParams.pageNo = 1;
 | 
				
			||||||
  methods: {
 | 
								this.queryParams.checkId = val.checkId;
 | 
				
			||||||
    buttonClick(val) {
 | 
								this.queryParams.startTime = val.timeVal ? val.timeVal[0] : null;
 | 
				
			||||||
      this.queryParams.pageNo = 1;
 | 
								this.queryParams.endTime = val.timeVal ? val.timeVal[1] : null;
 | 
				
			||||||
      this.queryParams.checkId = val.checkId
 | 
								if (val.btnName === 'search') {
 | 
				
			||||||
      this.queryParams.startTime = val.timeVal ? val.timeVal[0] : null
 | 
									this.getList();
 | 
				
			||||||
      this.queryParams.endTime = val.timeVal ? val.timeVal[1] : null
 | 
								} else {
 | 
				
			||||||
      if (val.btnName === 'search') {
 | 
									this.$modal
 | 
				
			||||||
        this.getList()
 | 
										.confirm('是否确认导出')
 | 
				
			||||||
      } else {
 | 
										.then(() => {
 | 
				
			||||||
        this.$modal.confirm('是否确认导出').then(() => {
 | 
											return environmentalCheckRecordExport({ ...this.queryParams });
 | 
				
			||||||
            return environmentalCheckRecordExport({...this.queryParams});
 | 
										})
 | 
				
			||||||
          }).then(response => {
 | 
										.then((response) => {
 | 
				
			||||||
            this.$download.excel(response, '废气检测历史记录.xls');
 | 
											this.$download.excel(response, '废气检测历史记录.xls');
 | 
				
			||||||
          }).catch(() => {})
 | 
										})
 | 
				
			||||||
      }
 | 
										.catch(() => {});
 | 
				
			||||||
    },
 | 
								}
 | 
				
			||||||
    getList() {
 | 
							},
 | 
				
			||||||
      environmentalCheckRecordPage({...this.queryParams}).then(res => {
 | 
							getList() {
 | 
				
			||||||
        this.list = res.data.list || []
 | 
								environmentalCheckRecordPage({ ...this.queryParams }).then((res) => {
 | 
				
			||||||
        this.total = res.data.total || 0
 | 
									this.list = res.data.list || [];
 | 
				
			||||||
      })
 | 
									this.total = res.data.total || 0;
 | 
				
			||||||
    },
 | 
								});
 | 
				
			||||||
    getSelectList() {
 | 
							},
 | 
				
			||||||
      environmentalCheckPage({
 | 
							getSelectList() {
 | 
				
			||||||
        pageNo: 1,
 | 
								environmentalCheckPage({
 | 
				
			||||||
        pageSize: 100,
 | 
									pageNo: 1,
 | 
				
			||||||
        checkType: 2
 | 
									pageSize: 100,
 | 
				
			||||||
      }).then(res => {
 | 
									checkType: 2,
 | 
				
			||||||
        console.log(res)
 | 
								}).then((res) => {
 | 
				
			||||||
        this.formConfig[0].selectOptions = res.data.list || []
 | 
									console.log(res);
 | 
				
			||||||
      })
 | 
									this.formConfig[0].selectOptions = res.data.list || [];
 | 
				
			||||||
    },
 | 
								});
 | 
				
			||||||
    tableRowClassName({row, rowIndex}) {
 | 
							},
 | 
				
			||||||
      console.log(row)
 | 
							tableRowClassName({ row, rowIndex }) {
 | 
				
			||||||
      if (row.markRed) {
 | 
								console.log(row);
 | 
				
			||||||
        return 'warning-row'
 | 
								if (row.markRed) {
 | 
				
			||||||
      }else {
 | 
									return 'warning-row';
 | 
				
			||||||
        return ''
 | 
								} else {
 | 
				
			||||||
      }
 | 
									return '';
 | 
				
			||||||
    }
 | 
								}
 | 
				
			||||||
  }
 | 
							},
 | 
				
			||||||
}
 | 
						},
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
<style lang='scss'>
 | 
					<style lang='scss'>
 | 
				
			||||||
.wasteGasHis {
 | 
					.wasteGasHis {
 | 
				
			||||||
  .el-table .warning-row {
 | 
						.el-table .warning-row {
 | 
				
			||||||
    background: #fee1e1;
 | 
							background: #fee1e1;
 | 
				
			||||||
  }
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
</style>
 | 
					</style>
 | 
				
			||||||
@@ -1,205 +1,210 @@
 | 
				
			|||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <div class="app-container">
 | 
						<div class="app-container">
 | 
				
			||||||
    <!-- 搜索工作栏 -->
 | 
							<!-- 搜索工作栏 -->
 | 
				
			||||||
    <search-bar
 | 
							<search-bar
 | 
				
			||||||
      :formConfigs="formConfig"
 | 
								:formConfigs="formConfig"
 | 
				
			||||||
      ref="searchBarForm"
 | 
								ref="searchBarForm"
 | 
				
			||||||
      @headBtnClick="buttonClick"
 | 
								@headBtnClick="buttonClick" />
 | 
				
			||||||
    />
 | 
							<!-- 列表 -->
 | 
				
			||||||
    <!-- 列表 -->
 | 
							<base-table
 | 
				
			||||||
    <base-table
 | 
								:page="queryParams.pageNo"
 | 
				
			||||||
      :page="queryParams.pageNo"
 | 
								:limit="queryParams.pageSize"
 | 
				
			||||||
      :limit="queryParams.pageSize"
 | 
								:table-props="tableProps"
 | 
				
			||||||
      :table-props="tableProps"
 | 
								:table-data="list"
 | 
				
			||||||
      :table-data="list"
 | 
								:max-height="tableH">
 | 
				
			||||||
      :max-height="tableH"
 | 
								<method-btn
 | 
				
			||||||
    >
 | 
									v-if="tableBtn.length"
 | 
				
			||||||
      <method-btn
 | 
									slot="handleBtn"
 | 
				
			||||||
        v-if="tableBtn.length"
 | 
									:width="80"
 | 
				
			||||||
        slot="handleBtn"
 | 
									label="操作"
 | 
				
			||||||
        :width="80"
 | 
									:method-list="tableBtn"
 | 
				
			||||||
        label="操作"
 | 
									@clickBtn="handleClick" />
 | 
				
			||||||
        :method-list="tableBtn"
 | 
							</base-table>
 | 
				
			||||||
        @clickBtn="handleClick"
 | 
							<pagination
 | 
				
			||||||
      />
 | 
								:page.sync="queryParams.pageNo"
 | 
				
			||||||
    </base-table>
 | 
								:limit.sync="queryParams.pageSize"
 | 
				
			||||||
    <pagination
 | 
								:total="total"
 | 
				
			||||||
      :page.sync="queryParams.pageNo"
 | 
								@pagination="getList" />
 | 
				
			||||||
      :limit.sync="queryParams.pageSize"
 | 
							<!-- 新增&编辑 -->
 | 
				
			||||||
      :total="total"
 | 
							<base-dialog
 | 
				
			||||||
      @pagination="getList"
 | 
								:dialogTitle="addOrEditTitle"
 | 
				
			||||||
    />
 | 
								:dialogVisible="centervisible"
 | 
				
			||||||
    <!-- 新增&编辑 -->
 | 
								@cancel="handleCancel"
 | 
				
			||||||
    <base-dialog
 | 
								@confirm="handleConfirm"
 | 
				
			||||||
      :dialogTitle="addOrEditTitle"
 | 
								:before-close="handleCancel"
 | 
				
			||||||
      :dialogVisible="centervisible"
 | 
								width="60%">
 | 
				
			||||||
      @cancel="handleCancel"
 | 
								<waste-gas-add
 | 
				
			||||||
      @confirm="handleConfirm"
 | 
									ref="wasteGasAdd"
 | 
				
			||||||
      :before-close="handleCancel"
 | 
									@successSubmit="successSubmit" />
 | 
				
			||||||
      width='60%'
 | 
							</base-dialog>
 | 
				
			||||||
    >
 | 
						</div>
 | 
				
			||||||
      <waste-gas-add ref="wasteGasAdd" @successSubmit="successSubmit" />
 | 
					 | 
				
			||||||
    </base-dialog>
 | 
					 | 
				
			||||||
  </div>
 | 
					 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import { parseTime } from '@/utils/ruoyi'
 | 
					import { parseTime } from '@/utils/ruoyi';
 | 
				
			||||||
import WasteGasAdd from './components/wasteGasAdd'
 | 
					import WasteGasAdd from './components/wasteGasAdd';
 | 
				
			||||||
import { publicFormatter } from '@/utils/dict'
 | 
					import { publicFormatter } from '@/utils/dict';
 | 
				
			||||||
import { environmentalCheckPage, environmentalCheckDelete } from '@/api/safetyEnvironmental/environmental'
 | 
					import {
 | 
				
			||||||
 | 
						environmentalCheckPage,
 | 
				
			||||||
 | 
						environmentalCheckDelete,
 | 
				
			||||||
 | 
					} from '@/api/safetyEnvironmental/environmental';
 | 
				
			||||||
 | 
					import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
 | 
				
			||||||
const tableProps = [
 | 
					const tableProps = [
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'name',
 | 
							prop: 'name',
 | 
				
			||||||
    label: '指标名称',
 | 
							label: '指标名称',
 | 
				
			||||||
    minWidth: 120,
 | 
							minWidth: 120,
 | 
				
			||||||
    showOverflowtooltip: true
 | 
							showOverflowtooltip: true,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'code',
 | 
							prop: 'code',
 | 
				
			||||||
    label: '指标编码',
 | 
							label: '指标编码',
 | 
				
			||||||
    minWidth: 120
 | 
							minWidth: 120,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'unit',
 | 
							prop: 'unit',
 | 
				
			||||||
    label: '单位',
 | 
							label: '单位',
 | 
				
			||||||
    filter: publicFormatter('environment_check_unit')
 | 
							filter: publicFormatter('environment_check_unit'),
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'minValue',
 | 
							prop: 'minValue',
 | 
				
			||||||
    label: '最小值'
 | 
							label: '最小值',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'maxValue',
 | 
							prop: 'maxValue',
 | 
				
			||||||
    label: '最大值'
 | 
							label: '最大值',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'creator',
 | 
							prop: 'creator',
 | 
				
			||||||
    label: '创建人'
 | 
							label: '创建人',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'createTime',
 | 
							prop: 'createTime',
 | 
				
			||||||
    label: '创建时间',
 | 
							label: '创建时间',
 | 
				
			||||||
    filter: parseTime,
 | 
							filter: parseTime,
 | 
				
			||||||
    minWidth: 160
 | 
							minWidth: 160,
 | 
				
			||||||
  }
 | 
						},
 | 
				
			||||||
]
 | 
					];
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: 'WasteGasDetectionIndication',
 | 
						name: 'WasteGasDetectionIndication',
 | 
				
			||||||
  data() {
 | 
						mixins: [tableHeightMixin],
 | 
				
			||||||
    return {
 | 
						data() {
 | 
				
			||||||
      formConfig: [
 | 
							return {
 | 
				
			||||||
        {
 | 
								formConfig: [
 | 
				
			||||||
          type: 'input',
 | 
									{
 | 
				
			||||||
          label: '指标名称',
 | 
										type: 'input',
 | 
				
			||||||
          placeholder: '指标名称',
 | 
										label: '指标名称',
 | 
				
			||||||
          param: 'name'
 | 
										placeholder: '指标名称',
 | 
				
			||||||
        },
 | 
										param: 'name',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: 'button',
 | 
									{
 | 
				
			||||||
          btnName: '查询',
 | 
										type: 'button',
 | 
				
			||||||
          name: 'search',
 | 
										btnName: '查询',
 | 
				
			||||||
          color: 'primary'
 | 
										name: 'search',
 | 
				
			||||||
        },
 | 
										color: 'primary',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: this.$auth.hasPermi('base:waste-gas:create') ? 'separate' : '',
 | 
									{
 | 
				
			||||||
        },
 | 
										type: this.$auth.hasPermi('base:waste-gas:create') ? 'separate' : '',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: this.$auth.hasPermi('base:waste-gas:create') ? 'button' : '',
 | 
									{
 | 
				
			||||||
          btnName: '新增',
 | 
										type: this.$auth.hasPermi('base:waste-gas:create') ? 'button' : '',
 | 
				
			||||||
          name: 'add',
 | 
										btnName: '新增',
 | 
				
			||||||
          color: 'success',
 | 
										name: 'add',
 | 
				
			||||||
          plain: true
 | 
										color: 'success',
 | 
				
			||||||
        }
 | 
										plain: true,
 | 
				
			||||||
      ],
 | 
									},
 | 
				
			||||||
      // 查询参数
 | 
								],
 | 
				
			||||||
      queryParams: {
 | 
								// 查询参数
 | 
				
			||||||
        pageNo: 1,
 | 
								queryParams: {
 | 
				
			||||||
        pageSize: 20,
 | 
									pageNo: 1,
 | 
				
			||||||
        checkType: 2,
 | 
									pageSize: 20,
 | 
				
			||||||
        name: null
 | 
									checkType: 2,
 | 
				
			||||||
      },
 | 
									name: null,
 | 
				
			||||||
      total: 0,
 | 
								},
 | 
				
			||||||
      tableProps,
 | 
								total: 0,
 | 
				
			||||||
      list: [],
 | 
								tableProps,
 | 
				
			||||||
      tableH: this.tableHeight(260),
 | 
								list: [],
 | 
				
			||||||
      tableBtn: [
 | 
								tableBtn: [
 | 
				
			||||||
        this.$auth.hasPermi('base:waste-gas:update')
 | 
									this.$auth.hasPermi('base:waste-gas:update')
 | 
				
			||||||
          ? {
 | 
										? {
 | 
				
			||||||
              type: 'edit',
 | 
												type: 'edit',
 | 
				
			||||||
              btnName: '编辑'
 | 
												btnName: '编辑',
 | 
				
			||||||
            }
 | 
										  }
 | 
				
			||||||
          : undefined,
 | 
										: undefined,
 | 
				
			||||||
        this.$auth.hasPermi('base:waste-gas:delete')
 | 
									this.$auth.hasPermi('base:waste-gas:delete')
 | 
				
			||||||
          ? {
 | 
										? {
 | 
				
			||||||
              type: 'delete',
 | 
												type: 'delete',
 | 
				
			||||||
              btnName: '删除'
 | 
												btnName: '删除',
 | 
				
			||||||
            }
 | 
										  }
 | 
				
			||||||
          : undefined
 | 
										: undefined,
 | 
				
			||||||
      ].filter((v)=>v),
 | 
								].filter((v) => v),
 | 
				
			||||||
      addOrEditTitle: '',
 | 
								addOrEditTitle: '',
 | 
				
			||||||
      centervisible: false
 | 
								centervisible: false,
 | 
				
			||||||
    }
 | 
							};
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  components: { WasteGasAdd },
 | 
						components: { WasteGasAdd },
 | 
				
			||||||
  mounted() {
 | 
						mounted() {
 | 
				
			||||||
    this.getList()
 | 
							this.getList();
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  methods: {
 | 
						methods: {
 | 
				
			||||||
    getList() {
 | 
							getList() {
 | 
				
			||||||
      environmentalCheckPage({...this.queryParams}).then(res => {
 | 
								environmentalCheckPage({ ...this.queryParams }).then((res) => {
 | 
				
			||||||
        this.list = res.data.list || []
 | 
									this.list = res.data.list || [];
 | 
				
			||||||
        this.total = res.data.total || 0
 | 
									this.total = res.data.total || 0;
 | 
				
			||||||
      })
 | 
								});
 | 
				
			||||||
    },
 | 
							},
 | 
				
			||||||
    buttonClick(val) {
 | 
							buttonClick(val) {
 | 
				
			||||||
      console.log(val)
 | 
								console.log(val);
 | 
				
			||||||
      if (val.btnName === 'search') {
 | 
								if (val.btnName === 'search') {
 | 
				
			||||||
        this.queryParams.name = val.name
 | 
									this.queryParams.name = val.name;
 | 
				
			||||||
        this.getList()
 | 
									this.getList();
 | 
				
			||||||
      } else {
 | 
								} else {
 | 
				
			||||||
        this.addOrEditTitle = '新增'
 | 
									this.addOrEditTitle = '新增';
 | 
				
			||||||
        this.centervisible = true
 | 
									this.centervisible = true;
 | 
				
			||||||
        this.$nextTick(() => {
 | 
									this.$nextTick(() => {
 | 
				
			||||||
          this.$refs.wasteGasAdd.init()
 | 
										this.$refs.wasteGasAdd.init();
 | 
				
			||||||
        })
 | 
									});
 | 
				
			||||||
      }
 | 
								}
 | 
				
			||||||
    },
 | 
							},
 | 
				
			||||||
    handleClick(val) {
 | 
							handleClick(val) {
 | 
				
			||||||
      console.log(val)
 | 
								console.log(val);
 | 
				
			||||||
      switch (val.type) {
 | 
								switch (val.type) {
 | 
				
			||||||
        case 'edit':
 | 
									case 'edit':
 | 
				
			||||||
          this.addOrEditTitle = '编辑'
 | 
										this.addOrEditTitle = '编辑';
 | 
				
			||||||
          this.centervisible = true
 | 
										this.centervisible = true;
 | 
				
			||||||
          this.$nextTick(() => {
 | 
										this.$nextTick(() => {
 | 
				
			||||||
            this.$refs.wasteGasAdd.init(val.data.id)
 | 
											this.$refs.wasteGasAdd.init(val.data.id);
 | 
				
			||||||
          })
 | 
										});
 | 
				
			||||||
          break
 | 
										break;
 | 
				
			||||||
        default:
 | 
									default:
 | 
				
			||||||
          this.handleDelete(val.data)
 | 
										this.handleDelete(val.data);
 | 
				
			||||||
      }
 | 
								}
 | 
				
			||||||
    },
 | 
							},
 | 
				
			||||||
    // 删除
 | 
							// 删除
 | 
				
			||||||
    handleDelete(val) {
 | 
							handleDelete(val) {
 | 
				
			||||||
      this.$modal.confirm('是否确认删除"' + val.name + '"的数据项?').then(function() {
 | 
								this.$modal
 | 
				
			||||||
        return environmentalCheckDelete({ id: val.id })
 | 
									.confirm('是否确认删除"' + val.name + '"的数据项?')
 | 
				
			||||||
      }).then(() => {
 | 
									.then(function () {
 | 
				
			||||||
        this.getList();
 | 
										return environmentalCheckDelete({ id: val.id });
 | 
				
			||||||
        this.$modal.msgSuccess("操作成功");
 | 
									})
 | 
				
			||||||
      }).catch(() => {});
 | 
									.then(() => {
 | 
				
			||||||
    },
 | 
										this.getList();
 | 
				
			||||||
    // 新增
 | 
										this.$modal.msgSuccess('操作成功');
 | 
				
			||||||
    handleCancel() {
 | 
									})
 | 
				
			||||||
      this.$refs.wasteGasAdd.formClear()
 | 
									.catch(() => {});
 | 
				
			||||||
      this.centervisible = false
 | 
							},
 | 
				
			||||||
      this.addOrEditTitle = ''
 | 
							// 新增
 | 
				
			||||||
    },
 | 
							handleCancel() {
 | 
				
			||||||
    handleConfirm() {
 | 
								this.$refs.wasteGasAdd.formClear();
 | 
				
			||||||
      this.$refs.wasteGasAdd.submitForm()
 | 
								this.centervisible = false;
 | 
				
			||||||
    },
 | 
								this.addOrEditTitle = '';
 | 
				
			||||||
    successSubmit() {
 | 
							},
 | 
				
			||||||
      this.handleCancel()
 | 
							handleConfirm() {
 | 
				
			||||||
      this.getList()
 | 
								this.$refs.wasteGasAdd.submitForm();
 | 
				
			||||||
    }
 | 
							},
 | 
				
			||||||
  }
 | 
							successSubmit() {
 | 
				
			||||||
}
 | 
								this.handleCancel();
 | 
				
			||||||
 | 
								this.getList();
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
@@ -1,185 +1,190 @@
 | 
				
			|||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <div class="app-container wasteWaterHis">
 | 
						<div class="app-container wasteWaterHis">
 | 
				
			||||||
    <!-- 搜索工作栏 -->
 | 
							<!-- 搜索工作栏 -->
 | 
				
			||||||
    <search-bar
 | 
							<search-bar
 | 
				
			||||||
      :formConfigs="formConfig"
 | 
								:formConfigs="formConfig"
 | 
				
			||||||
      ref="searchBarForm"
 | 
								ref="searchBarForm"
 | 
				
			||||||
      @headBtnClick="buttonClick"
 | 
								@headBtnClick="buttonClick" />
 | 
				
			||||||
    />
 | 
							<!-- 列表 -->
 | 
				
			||||||
    <!-- 列表 -->
 | 
							<base-table
 | 
				
			||||||
    <base-table
 | 
								:page="queryParams.pageNo"
 | 
				
			||||||
      :page="queryParams.pageNo"
 | 
								:limit="queryParams.pageSize"
 | 
				
			||||||
      :limit="queryParams.pageSize"
 | 
								:table-props="tableProps"
 | 
				
			||||||
      :table-props="tableProps"
 | 
								:table-data="list"
 | 
				
			||||||
      :table-data="list"
 | 
								:max-height="tableH"
 | 
				
			||||||
      :max-height="tableH"
 | 
								:row-class-name="tableRowClassName" />
 | 
				
			||||||
      :row-class-name="tableRowClassName"
 | 
							<pagination
 | 
				
			||||||
    />
 | 
								:page.sync="queryParams.pageNo"
 | 
				
			||||||
    <pagination
 | 
								:limit.sync="queryParams.pageSize"
 | 
				
			||||||
      :page.sync="queryParams.pageNo"
 | 
								:total="total"
 | 
				
			||||||
      :limit.sync="queryParams.pageSize"
 | 
								@pagination="getList" />
 | 
				
			||||||
      :total="total"
 | 
						</div>
 | 
				
			||||||
      @pagination="getList"
 | 
					 | 
				
			||||||
    />
 | 
					 | 
				
			||||||
  </div>
 | 
					 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import { publicFormatter } from '@/utils/dict'
 | 
					import { publicFormatter } from '@/utils/dict';
 | 
				
			||||||
import { parseTime } from '@/utils/ruoyi'
 | 
					import { parseTime } from '@/utils/ruoyi';
 | 
				
			||||||
import { environmentalCheckRecordPage, environmentalCheckRecordExport, environmentalCheckPage } from '@/api/safetyEnvironmental/environmental'
 | 
					import {
 | 
				
			||||||
import moment from 'moment'
 | 
						environmentalCheckRecordPage,
 | 
				
			||||||
 | 
						environmentalCheckRecordExport,
 | 
				
			||||||
 | 
						environmentalCheckPage,
 | 
				
			||||||
 | 
					} from '@/api/safetyEnvironmental/environmental';
 | 
				
			||||||
 | 
					import moment from 'moment';
 | 
				
			||||||
 | 
					import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
 | 
				
			||||||
const tableProps = [
 | 
					const tableProps = [
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'checkName',
 | 
							prop: 'checkName',
 | 
				
			||||||
    label: '指标名称'
 | 
							label: '指标名称',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'checkValue',
 | 
							prop: 'checkValue',
 | 
				
			||||||
    label: '检测数值'
 | 
							label: '检测数值',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'unit',
 | 
							prop: 'unit',
 | 
				
			||||||
    label: '单位',
 | 
							label: '单位',
 | 
				
			||||||
    filter: publicFormatter('environment_check_unit')
 | 
							filter: publicFormatter('environment_check_unit'),
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'checkTime',
 | 
							prop: 'checkTime',
 | 
				
			||||||
    label: '检测时间',
 | 
							label: '检测时间',
 | 
				
			||||||
    filter: parseTime,
 | 
							filter: parseTime,
 | 
				
			||||||
    minWidth: 160
 | 
							minWidth: 160,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'origin',
 | 
							prop: 'origin',
 | 
				
			||||||
    label: '来源',
 | 
							label: '来源',
 | 
				
			||||||
    filter: (val) => ['手动', '自动'][val]
 | 
							filter: (val) => ['手动', '自动'][val],
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'recordPerson',
 | 
							prop: 'recordPerson',
 | 
				
			||||||
    label: '录入人'
 | 
							label: '录入人',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'recordTime',
 | 
							prop: 'recordTime',
 | 
				
			||||||
    label: '录入时间',
 | 
							label: '录入时间',
 | 
				
			||||||
    filter: parseTime,
 | 
							filter: parseTime,
 | 
				
			||||||
    minWidth: 160
 | 
							minWidth: 160,
 | 
				
			||||||
  }
 | 
						},
 | 
				
			||||||
]
 | 
					];
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: 'WasteWaterDetectionHistory',
 | 
						name: 'WasteWaterDetectionHistory',
 | 
				
			||||||
  data() {
 | 
						mixins: [tableHeightMixin],
 | 
				
			||||||
    return {
 | 
						data() {
 | 
				
			||||||
      formConfig: [
 | 
							return {
 | 
				
			||||||
        {
 | 
								formConfig: [
 | 
				
			||||||
          type: 'select',
 | 
									{
 | 
				
			||||||
          label: '指标名称',
 | 
										type: 'select',
 | 
				
			||||||
          selectOptions: [],
 | 
										label: '指标名称',
 | 
				
			||||||
          param: 'checkId',
 | 
										selectOptions: [],
 | 
				
			||||||
          filterable: true
 | 
										param: 'checkId',
 | 
				
			||||||
        },
 | 
										filterable: true,
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: 'datePicker',
 | 
									{
 | 
				
			||||||
          label: '检测时间',
 | 
										type: 'datePicker',
 | 
				
			||||||
          dateType: 'datetimerange',
 | 
										label: '检测时间',
 | 
				
			||||||
          format: 'yyyy-MM-dd HH:mm:ss',
 | 
										dateType: 'datetimerange',
 | 
				
			||||||
          valueFormat: "timestamp",
 | 
										format: 'yyyy-MM-dd HH:mm:ss',
 | 
				
			||||||
          rangeSeparator: '-',
 | 
										valueFormat: 'timestamp',
 | 
				
			||||||
          startPlaceholder: '开始时间',
 | 
										rangeSeparator: '-',
 | 
				
			||||||
          endPlaceholder: '结束时间',
 | 
										startPlaceholder: '开始时间',
 | 
				
			||||||
          param: 'timeVal',
 | 
										endPlaceholder: '结束时间',
 | 
				
			||||||
          defaultSelect: [],
 | 
										param: 'timeVal',
 | 
				
			||||||
          width: 350
 | 
										defaultSelect: [],
 | 
				
			||||||
        },
 | 
										width: 350,
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: 'button',
 | 
									{
 | 
				
			||||||
          btnName: '查询',
 | 
										type: 'button',
 | 
				
			||||||
          name: 'search',
 | 
										btnName: '查询',
 | 
				
			||||||
          color: 'primary'
 | 
										name: 'search',
 | 
				
			||||||
        },
 | 
										color: 'primary',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: this.$auth.hasPermi('base:waste-water:export') ? 'separate' : '',
 | 
									{
 | 
				
			||||||
        },
 | 
										type: this.$auth.hasPermi('base:waste-water:export')
 | 
				
			||||||
        {
 | 
											? 'separate'
 | 
				
			||||||
          type: this.$auth.hasPermi('base:waste-water:export') ? 'button' : '',
 | 
											: '',
 | 
				
			||||||
          btnName: '导出',
 | 
									},
 | 
				
			||||||
          name: 'export',
 | 
									{
 | 
				
			||||||
          color: 'primary',
 | 
										type: this.$auth.hasPermi('base:waste-water:export') ? 'button' : '',
 | 
				
			||||||
          plain: true
 | 
										btnName: '导出',
 | 
				
			||||||
        }
 | 
										name: 'export',
 | 
				
			||||||
      ],
 | 
										color: 'primary',
 | 
				
			||||||
      // 查询参数
 | 
										plain: true,
 | 
				
			||||||
      queryParams: {
 | 
									},
 | 
				
			||||||
        pageNo: 1,
 | 
								],
 | 
				
			||||||
        pageSize: 20,
 | 
								// 查询参数
 | 
				
			||||||
        checkId: null,
 | 
								queryParams: {
 | 
				
			||||||
        checkType: 1,
 | 
									pageNo: 1,
 | 
				
			||||||
        startTime: null,
 | 
									pageSize: 20,
 | 
				
			||||||
        endTime: null
 | 
									checkId: null,
 | 
				
			||||||
      },
 | 
									checkType: 1,
 | 
				
			||||||
      tableProps,
 | 
									startTime: null,
 | 
				
			||||||
      list: [],
 | 
									endTime: null,
 | 
				
			||||||
      total: 0,
 | 
								},
 | 
				
			||||||
      tableH: this.tableHeight(260)
 | 
								tableProps,
 | 
				
			||||||
    }
 | 
								list: [],
 | 
				
			||||||
  },
 | 
								total: 0,
 | 
				
			||||||
  created() {
 | 
							};
 | 
				
			||||||
    window.addEventListener('resize', () => {
 | 
						},
 | 
				
			||||||
      this.tableH = this.tableHeight(260)
 | 
						created() {
 | 
				
			||||||
    })
 | 
							let end = moment(moment().format('YYYY-MM-DD 23:59:59')).valueOf();
 | 
				
			||||||
    let end = moment(moment().format('YYYY-MM-DD 23:59:59')).valueOf()
 | 
							let start = moment(moment().format('YYYY-MM-DD 00:00:00')).valueOf();
 | 
				
			||||||
    let start = moment(moment().format('YYYY-MM-DD 00:00:00')).valueOf()
 | 
							this.formConfig[1].defaultSelect = [start, end];
 | 
				
			||||||
    this.formConfig[1].defaultSelect = [start, end]
 | 
							this.queryParams.startTime = start;
 | 
				
			||||||
    this.queryParams.startTime = start
 | 
							this.queryParams.endTime = end;
 | 
				
			||||||
    this.queryParams.endTime = end
 | 
							this.getSelectList();
 | 
				
			||||||
    this.getSelectList()
 | 
							this.getList();
 | 
				
			||||||
    this.getList()
 | 
						},
 | 
				
			||||||
  },
 | 
						methods: {
 | 
				
			||||||
  methods: {
 | 
							buttonClick(val) {
 | 
				
			||||||
    buttonClick(val) {
 | 
								this.queryParams.pageNo = 1;
 | 
				
			||||||
      this.queryParams.pageNo = 1;
 | 
								this.queryParams.checkId = val.checkId;
 | 
				
			||||||
      this.queryParams.checkId = val.checkId
 | 
								this.queryParams.startTime = val.timeVal ? val.timeVal[0] : null;
 | 
				
			||||||
      this.queryParams.startTime = val.timeVal ? val.timeVal[0] : null
 | 
								this.queryParams.endTime = val.timeVal ? val.timeVal[1] : null;
 | 
				
			||||||
      this.queryParams.endTime = val.timeVal ? val.timeVal[1] : null
 | 
								if (val.btnName === 'search') {
 | 
				
			||||||
      if (val.btnName === 'search') {
 | 
									this.getList();
 | 
				
			||||||
        this.getList()
 | 
								} else {
 | 
				
			||||||
      } else {
 | 
									this.$modal
 | 
				
			||||||
        this.$modal.confirm('是否确认导出').then(() => {
 | 
										.confirm('是否确认导出')
 | 
				
			||||||
            return environmentalCheckRecordExport({...this.queryParams});
 | 
										.then(() => {
 | 
				
			||||||
          }).then(response => {
 | 
											return environmentalCheckRecordExport({ ...this.queryParams });
 | 
				
			||||||
            this.$download.excel(response, '废水检测历史记录.xls');
 | 
										})
 | 
				
			||||||
          }).catch(() => {})
 | 
										.then((response) => {
 | 
				
			||||||
      }
 | 
											this.$download.excel(response, '废水检测历史记录.xls');
 | 
				
			||||||
    },
 | 
										})
 | 
				
			||||||
    getList() {
 | 
										.catch(() => {});
 | 
				
			||||||
      environmentalCheckRecordPage({...this.queryParams}).then(res => {
 | 
								}
 | 
				
			||||||
        this.list = res.data.list || []
 | 
							},
 | 
				
			||||||
        this.total = res.data.total || 0
 | 
							getList() {
 | 
				
			||||||
      })
 | 
								environmentalCheckRecordPage({ ...this.queryParams }).then((res) => {
 | 
				
			||||||
    },
 | 
									this.list = res.data.list || [];
 | 
				
			||||||
    getSelectList() {
 | 
									this.total = res.data.total || 0;
 | 
				
			||||||
      environmentalCheckPage({
 | 
								});
 | 
				
			||||||
        pageNo: 1,
 | 
							},
 | 
				
			||||||
        pageSize: 100,
 | 
							getSelectList() {
 | 
				
			||||||
        checkType: 1
 | 
								environmentalCheckPage({
 | 
				
			||||||
      }).then(res => {
 | 
									pageNo: 1,
 | 
				
			||||||
        console.log(res)
 | 
									pageSize: 100,
 | 
				
			||||||
        this.formConfig[0].selectOptions = res.data.list || []
 | 
									checkType: 1,
 | 
				
			||||||
      })
 | 
								}).then((res) => {
 | 
				
			||||||
    },
 | 
									console.log(res);
 | 
				
			||||||
    tableRowClassName({row, rowIndex}) {
 | 
									this.formConfig[0].selectOptions = res.data.list || [];
 | 
				
			||||||
      console.log(row)
 | 
								});
 | 
				
			||||||
      if (row.markRed) {
 | 
							},
 | 
				
			||||||
        return 'warning-row'
 | 
							tableRowClassName({ row, rowIndex }) {
 | 
				
			||||||
      }else {
 | 
								console.log(row);
 | 
				
			||||||
        return ''
 | 
								if (row.markRed) {
 | 
				
			||||||
      }
 | 
									return 'warning-row';
 | 
				
			||||||
    }
 | 
								} else {
 | 
				
			||||||
  }
 | 
									return '';
 | 
				
			||||||
}
 | 
								}
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
<style lang='scss'>
 | 
					<style lang='scss'>
 | 
				
			||||||
.wasteWaterHis {
 | 
					.wasteWaterHis {
 | 
				
			||||||
  .el-table .warning-row {
 | 
						.el-table .warning-row {
 | 
				
			||||||
    background: #fee1e1;
 | 
							background: #fee1e1;
 | 
				
			||||||
  }
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
</style>
 | 
					</style>
 | 
				
			||||||
@@ -1,205 +1,212 @@
 | 
				
			|||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <div class="app-container">
 | 
						<div class="app-container">
 | 
				
			||||||
    <!-- 搜索工作栏 -->
 | 
							<!-- 搜索工作栏 -->
 | 
				
			||||||
    <search-bar
 | 
							<search-bar
 | 
				
			||||||
      :formConfigs="formConfig"
 | 
								:formConfigs="formConfig"
 | 
				
			||||||
      ref="searchBarForm"
 | 
								ref="searchBarForm"
 | 
				
			||||||
      @headBtnClick="buttonClick"
 | 
								@headBtnClick="buttonClick" />
 | 
				
			||||||
    />
 | 
							<!-- 列表 -->
 | 
				
			||||||
    <!-- 列表 -->
 | 
							<base-table
 | 
				
			||||||
    <base-table
 | 
								:page="queryParams.pageNo"
 | 
				
			||||||
      :page="queryParams.pageNo"
 | 
								:limit="queryParams.pageSize"
 | 
				
			||||||
      :limit="queryParams.pageSize"
 | 
								:table-props="tableProps"
 | 
				
			||||||
      :table-props="tableProps"
 | 
								:table-data="list"
 | 
				
			||||||
      :table-data="list"
 | 
								:max-height="tableH">
 | 
				
			||||||
      :max-height="tableH"
 | 
								<method-btn
 | 
				
			||||||
    >
 | 
									v-if="tableBtn.length"
 | 
				
			||||||
      <method-btn
 | 
									slot="handleBtn"
 | 
				
			||||||
        v-if="tableBtn.length"
 | 
									:width="80"
 | 
				
			||||||
        slot="handleBtn"
 | 
									label="操作"
 | 
				
			||||||
        :width="80"
 | 
									:method-list="tableBtn"
 | 
				
			||||||
        label="操作"
 | 
									@clickBtn="handleClick" />
 | 
				
			||||||
        :method-list="tableBtn"
 | 
							</base-table>
 | 
				
			||||||
        @clickBtn="handleClick"
 | 
							<pagination
 | 
				
			||||||
      />
 | 
								:page.sync="queryParams.pageNo"
 | 
				
			||||||
    </base-table>
 | 
								:limit.sync="queryParams.pageSize"
 | 
				
			||||||
    <pagination
 | 
								:total="total"
 | 
				
			||||||
      :page.sync="queryParams.pageNo"
 | 
								@pagination="getList" />
 | 
				
			||||||
      :limit.sync="queryParams.pageSize"
 | 
							<!-- 新增&编辑 -->
 | 
				
			||||||
      :total="total"
 | 
							<base-dialog
 | 
				
			||||||
      @pagination="getList"
 | 
								:dialogTitle="addOrEditTitle"
 | 
				
			||||||
    />
 | 
								:dialogVisible="centervisible"
 | 
				
			||||||
    <!-- 新增&编辑 -->
 | 
								@cancel="handleCancel"
 | 
				
			||||||
    <base-dialog
 | 
								@confirm="handleConfirm"
 | 
				
			||||||
      :dialogTitle="addOrEditTitle"
 | 
								:before-close="handleCancel"
 | 
				
			||||||
      :dialogVisible="centervisible"
 | 
								width="60%">
 | 
				
			||||||
      @cancel="handleCancel"
 | 
								<waste-water-add
 | 
				
			||||||
      @confirm="handleConfirm"
 | 
									ref="wasteWaterAdd"
 | 
				
			||||||
      :before-close="handleCancel"
 | 
									@successSubmit="successSubmit" />
 | 
				
			||||||
      width='60%'
 | 
							</base-dialog>
 | 
				
			||||||
    >
 | 
						</div>
 | 
				
			||||||
      <waste-water-add ref="wasteWaterAdd" @successSubmit="successSubmit" />
 | 
					 | 
				
			||||||
    </base-dialog>
 | 
					 | 
				
			||||||
  </div>
 | 
					 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import { parseTime } from '@/utils/ruoyi'
 | 
					import { parseTime } from '@/utils/ruoyi';
 | 
				
			||||||
import WasteWaterAdd from './components/wasteWaterAdd'
 | 
					import WasteWaterAdd from './components/wasteWaterAdd';
 | 
				
			||||||
import { publicFormatter } from '@/utils/dict'
 | 
					import { publicFormatter } from '@/utils/dict';
 | 
				
			||||||
import { environmentalCheckPage, environmentalCheckDelete } from '@/api/safetyEnvironmental/environmental'
 | 
					import {
 | 
				
			||||||
 | 
						environmentalCheckPage,
 | 
				
			||||||
 | 
						environmentalCheckDelete,
 | 
				
			||||||
 | 
					} from '@/api/safetyEnvironmental/environmental';
 | 
				
			||||||
 | 
					import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
 | 
				
			||||||
const tableProps = [
 | 
					const tableProps = [
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'name',
 | 
							prop: 'name',
 | 
				
			||||||
    label: '指标名称',
 | 
							label: '指标名称',
 | 
				
			||||||
    minWidth: 120,
 | 
							minWidth: 120,
 | 
				
			||||||
    showOverflowtooltip: true
 | 
							showOverflowtooltip: true,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'code',
 | 
							prop: 'code',
 | 
				
			||||||
    label: '指标编码',
 | 
							label: '指标编码',
 | 
				
			||||||
    minWidth: 120
 | 
							minWidth: 120,
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'unit',
 | 
							prop: 'unit',
 | 
				
			||||||
    label: '单位',
 | 
							label: '单位',
 | 
				
			||||||
    filter: publicFormatter('environment_check_unit')
 | 
							filter: publicFormatter('environment_check_unit'),
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'minValue',
 | 
							prop: 'minValue',
 | 
				
			||||||
    label: '最小值'
 | 
							label: '最小值',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'maxValue',
 | 
							prop: 'maxValue',
 | 
				
			||||||
    label: '最大值'
 | 
							label: '最大值',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'creator',
 | 
							prop: 'creator',
 | 
				
			||||||
    label: '创建人'
 | 
							label: '创建人',
 | 
				
			||||||
  },
 | 
						},
 | 
				
			||||||
  {
 | 
						{
 | 
				
			||||||
    prop: 'createTime',
 | 
							prop: 'createTime',
 | 
				
			||||||
    label: '创建时间',
 | 
							label: '创建时间',
 | 
				
			||||||
    filter: parseTime,
 | 
							filter: parseTime,
 | 
				
			||||||
    minWidth: 160
 | 
							minWidth: 160,
 | 
				
			||||||
  }
 | 
						},
 | 
				
			||||||
]
 | 
					];
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: 'WasteWaterDetectionIndication',
 | 
						name: 'WasteWaterDetectionIndication',
 | 
				
			||||||
  data() {
 | 
						mixins: [tableHeightMixin],
 | 
				
			||||||
    return {
 | 
						data() {
 | 
				
			||||||
      formConfig: [
 | 
							return {
 | 
				
			||||||
        {
 | 
								formConfig: [
 | 
				
			||||||
          type: 'input',
 | 
									{
 | 
				
			||||||
          label: '指标名称',
 | 
										type: 'input',
 | 
				
			||||||
          placeholder: '指标名称',
 | 
										label: '指标名称',
 | 
				
			||||||
          param: 'name'
 | 
										placeholder: '指标名称',
 | 
				
			||||||
        },
 | 
										param: 'name',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: 'button',
 | 
									{
 | 
				
			||||||
          btnName: '查询',
 | 
										type: 'button',
 | 
				
			||||||
          name: 'search',
 | 
										btnName: '查询',
 | 
				
			||||||
          color: 'primary'
 | 
										name: 'search',
 | 
				
			||||||
        },
 | 
										color: 'primary',
 | 
				
			||||||
        {
 | 
									},
 | 
				
			||||||
          type: this.$auth.hasPermi('base:waste-water:create') ? 'separate' : '',
 | 
									{
 | 
				
			||||||
        },
 | 
										type: this.$auth.hasPermi('base:waste-water:create')
 | 
				
			||||||
        {
 | 
											? 'separate'
 | 
				
			||||||
          type: this.$auth.hasPermi('base:waste-water:create') ? 'button' : '',
 | 
											: '',
 | 
				
			||||||
          btnName: '新增',
 | 
									},
 | 
				
			||||||
          name: 'add',
 | 
									{
 | 
				
			||||||
          color: 'success',
 | 
										type: this.$auth.hasPermi('base:waste-water:create') ? 'button' : '',
 | 
				
			||||||
          plain: true
 | 
										btnName: '新增',
 | 
				
			||||||
        }
 | 
										name: 'add',
 | 
				
			||||||
      ],
 | 
										color: 'success',
 | 
				
			||||||
      // 查询参数
 | 
										plain: true,
 | 
				
			||||||
      queryParams: {
 | 
									},
 | 
				
			||||||
        pageNo: 1,
 | 
								],
 | 
				
			||||||
        pageSize: 20,
 | 
								// 查询参数
 | 
				
			||||||
        checkType: 1,
 | 
								queryParams: {
 | 
				
			||||||
        name: null
 | 
									pageNo: 1,
 | 
				
			||||||
      },
 | 
									pageSize: 20,
 | 
				
			||||||
      total: 0,
 | 
									checkType: 1,
 | 
				
			||||||
      tableProps,
 | 
									name: null,
 | 
				
			||||||
      list: [],
 | 
								},
 | 
				
			||||||
      tableH: this.tableHeight(260),
 | 
								total: 0,
 | 
				
			||||||
      tableBtn: [
 | 
								tableProps,
 | 
				
			||||||
        this.$auth.hasPermi('base:waste-water:update')
 | 
								list: [],
 | 
				
			||||||
          ? {
 | 
								tableBtn: [
 | 
				
			||||||
              type: 'edit',
 | 
									this.$auth.hasPermi('base:waste-water:update')
 | 
				
			||||||
              btnName: '编辑'
 | 
										? {
 | 
				
			||||||
            }
 | 
												type: 'edit',
 | 
				
			||||||
          : undefined,
 | 
												btnName: '编辑',
 | 
				
			||||||
        this.$auth.hasPermi('base:waste-water:delete')
 | 
										  }
 | 
				
			||||||
          ? {
 | 
										: undefined,
 | 
				
			||||||
              type: 'delete',
 | 
									this.$auth.hasPermi('base:waste-water:delete')
 | 
				
			||||||
              btnName: '删除'
 | 
										? {
 | 
				
			||||||
            }
 | 
												type: 'delete',
 | 
				
			||||||
          : undefined
 | 
												btnName: '删除',
 | 
				
			||||||
      ].filter((v)=>v),
 | 
										  }
 | 
				
			||||||
      addOrEditTitle: '',
 | 
										: undefined,
 | 
				
			||||||
      centervisible: false
 | 
								].filter((v) => v),
 | 
				
			||||||
    }
 | 
								addOrEditTitle: '',
 | 
				
			||||||
  },
 | 
								centervisible: false,
 | 
				
			||||||
  components: { WasteWaterAdd },
 | 
							};
 | 
				
			||||||
  mounted() {
 | 
						},
 | 
				
			||||||
    this.getList()
 | 
						components: { WasteWaterAdd },
 | 
				
			||||||
  },
 | 
						mounted() {
 | 
				
			||||||
  methods: {
 | 
							this.getList();
 | 
				
			||||||
    getList() {
 | 
						},
 | 
				
			||||||
      environmentalCheckPage({...this.queryParams}).then(res => {
 | 
						methods: {
 | 
				
			||||||
        this.list = res.data.list || []
 | 
							getList() {
 | 
				
			||||||
        this.total = res.data.total || 0
 | 
								environmentalCheckPage({ ...this.queryParams }).then((res) => {
 | 
				
			||||||
      })
 | 
									this.list = res.data.list || [];
 | 
				
			||||||
    },
 | 
									this.total = res.data.total || 0;
 | 
				
			||||||
    buttonClick(val) {
 | 
								});
 | 
				
			||||||
      console.log(val)
 | 
							},
 | 
				
			||||||
      if (val.btnName === 'search') {
 | 
							buttonClick(val) {
 | 
				
			||||||
        this.queryParams.name = val.name
 | 
								console.log(val);
 | 
				
			||||||
        this.getList()
 | 
								if (val.btnName === 'search') {
 | 
				
			||||||
      } else {
 | 
									this.queryParams.name = val.name;
 | 
				
			||||||
        this.addOrEditTitle = '新增'
 | 
									this.getList();
 | 
				
			||||||
        this.centervisible = true
 | 
								} else {
 | 
				
			||||||
        this.$nextTick(() => {
 | 
									this.addOrEditTitle = '新增';
 | 
				
			||||||
          this.$refs.wasteWaterAdd.init()
 | 
									this.centervisible = true;
 | 
				
			||||||
        })
 | 
									this.$nextTick(() => {
 | 
				
			||||||
      }
 | 
										this.$refs.wasteWaterAdd.init();
 | 
				
			||||||
    },
 | 
									});
 | 
				
			||||||
    handleClick(val) {
 | 
								}
 | 
				
			||||||
      console.log(val)
 | 
							},
 | 
				
			||||||
      switch (val.type) {
 | 
							handleClick(val) {
 | 
				
			||||||
        case 'edit':
 | 
								console.log(val);
 | 
				
			||||||
          this.addOrEditTitle = '编辑'
 | 
								switch (val.type) {
 | 
				
			||||||
          this.centervisible = true
 | 
									case 'edit':
 | 
				
			||||||
          this.$nextTick(() => {
 | 
										this.addOrEditTitle = '编辑';
 | 
				
			||||||
            this.$refs.wasteWaterAdd.init(val.data.id)
 | 
										this.centervisible = true;
 | 
				
			||||||
          })
 | 
										this.$nextTick(() => {
 | 
				
			||||||
          break
 | 
											this.$refs.wasteWaterAdd.init(val.data.id);
 | 
				
			||||||
        default:
 | 
										});
 | 
				
			||||||
          this.handleDelete(val.data)
 | 
										break;
 | 
				
			||||||
      }
 | 
									default:
 | 
				
			||||||
    },
 | 
										this.handleDelete(val.data);
 | 
				
			||||||
    // 删除
 | 
								}
 | 
				
			||||||
    handleDelete(val) {
 | 
							},
 | 
				
			||||||
      this.$modal.confirm('是否确认删除"' + val.name + '"的数据项?').then(function() {
 | 
							// 删除
 | 
				
			||||||
        return environmentalCheckDelete({ id: val.id })
 | 
							handleDelete(val) {
 | 
				
			||||||
      }).then(() => {
 | 
								this.$modal
 | 
				
			||||||
        this.getList();
 | 
									.confirm('是否确认删除"' + val.name + '"的数据项?')
 | 
				
			||||||
        this.$modal.msgSuccess("操作成功");
 | 
									.then(function () {
 | 
				
			||||||
      }).catch(() => {});
 | 
										return environmentalCheckDelete({ id: val.id });
 | 
				
			||||||
    },
 | 
									})
 | 
				
			||||||
    // 新增
 | 
									.then(() => {
 | 
				
			||||||
    handleCancel() {
 | 
										this.getList();
 | 
				
			||||||
      this.$refs.wasteWaterAdd.formClear()
 | 
										this.$modal.msgSuccess('操作成功');
 | 
				
			||||||
      this.centervisible = false
 | 
									})
 | 
				
			||||||
      this.addOrEditTitle = ''
 | 
									.catch(() => {});
 | 
				
			||||||
    },
 | 
							},
 | 
				
			||||||
    handleConfirm() {
 | 
							// 新增
 | 
				
			||||||
      this.$refs.wasteWaterAdd.submitForm()
 | 
							handleCancel() {
 | 
				
			||||||
    },
 | 
								this.$refs.wasteWaterAdd.formClear();
 | 
				
			||||||
    successSubmit() {
 | 
								this.centervisible = false;
 | 
				
			||||||
      this.handleCancel()
 | 
								this.addOrEditTitle = '';
 | 
				
			||||||
      this.getList()
 | 
							},
 | 
				
			||||||
    }
 | 
							handleConfirm() {
 | 
				
			||||||
  }
 | 
								this.$refs.wasteWaterAdd.submitForm();
 | 
				
			||||||
}
 | 
							},
 | 
				
			||||||
 | 
							successSubmit() {
 | 
				
			||||||
 | 
								this.handleCancel();
 | 
				
			||||||
 | 
								this.getList();
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
		Reference in New Issue
	
	Block a user