|
@@ -11,17 +11,17 @@
|
|
|
<el-input v-model="filterProductForm.productName" clearable placeholder="请输入"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="产品类别">
|
|
|
- <el-select v-model="filterProductForm.type" placeholder="请选择" clearable>
|
|
|
+ <el-select v-model="filterProductForm.type" placeholder="请选择" clearable filterable>
|
|
|
<el-option v-for="item in fixedData.ProductType" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="状态">
|
|
|
- <el-select v-model="filterProductForm.status" placeholder="请选择">
|
|
|
- <el-option v-for="item in fixedData.Personnel" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
+ <el-select v-model="filterProductForm.status" placeholder="请选择" filterable clearable>
|
|
|
+ <el-option v-for="item in SELECTSTATUS" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="负责人">
|
|
|
- <el-select v-model="filterProductForm.userId" placeholder="请选择">
|
|
|
+ <el-select v-model="filterProductForm.userId" placeholder="请选择" filterable clearable>
|
|
|
<el-option v-for="item in fixedData.Personnel" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
@@ -44,22 +44,23 @@
|
|
|
<div class="flex-1 p-5 overflow-auto">
|
|
|
<div class="bg-white w-full h-full p-3 shadow-md rounded-md flex flex-col">
|
|
|
<div class="flex justify-end pb-3">
|
|
|
- <el-button type="primary" @click="editProduct(false)">新建产品</el-button>
|
|
|
+ <el-button type="primary" v-permission="['productAdd']" @click="editProduct(false)">新建产品</el-button>
|
|
|
<el-button type="primary" @click="batchDelete()">批量删除</el-button>
|
|
|
<el-button type="primary" @click="showDeteleProduct(true)">回收站</el-button>
|
|
|
- <el-button type="primary" @click="dialogVisible.importVisible = true">导入</el-button>
|
|
|
- <el-button type="primary" @click="exportProductTableList()" :loading="allLoading.exoprtLoading">导出</el-button>
|
|
|
+ <el-button type="primary" v-permission="['productImport']" @click="dialogVisible.importVisible = true">导入</el-button>
|
|
|
+ <el-button type="primary" v-permission="['productExport']" @click="exportProductTableList()" :loading="allLoading.exoprtLoading">导出</el-button>
|
|
|
</div>
|
|
|
<div class="flex-1 w-full overflow-hidden">
|
|
|
- <el-table ref="productTableRef" :data="productTableList" border v-loading="allLoading.productTableLading"
|
|
|
+ <el-table ref="productTableRef" :show-overflow-tooltip="tableShowOverflowTooltip" :data="productTableList" border v-loading="allLoading.productTableLading"
|
|
|
style="width: 100%;height: 100%;">
|
|
|
<el-table-column type="selection" width="55" />
|
|
|
<el-table-column prop="productCode" label="产品编号" width="180"></el-table-column>
|
|
|
<el-table-column prop="productName" label="产品名称" width="180">
|
|
|
<template #default="scope">
|
|
|
- <el-button link type="primary" size="large" @click="toProductDetail(scope.row)">{{
|
|
|
+ <!-- <el-button link type="primary" size="large" @click="toProductDetail(scope.row)">{{
|
|
|
scope.row.productName
|
|
|
- }}</el-button>
|
|
|
+ }}</el-button> -->
|
|
|
+ <div class="table-text-textnowrap" @click.prevent="toProductDetail(scope.row)">{{ scope.row.productName }}</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="typeName" label="产品类别" width="180"></el-table-column>
|
|
@@ -74,7 +75,7 @@
|
|
|
<el-table-column prop="inchargerName" label="负责人" width="190"></el-table-column>
|
|
|
<el-table-column prop="creatorName" label="创建人" width="180"></el-table-column>
|
|
|
<el-table-column prop="createTime" label="创建时间" width="180"></el-table-column>
|
|
|
- <el-table-column label="操作" fixed="right" width="200">
|
|
|
+ <el-table-column label="操作" fixed="right" width="200" v-permission="['productEdit']">
|
|
|
<template #default="scope">
|
|
|
<el-button link type="primary" size="large" @click.stop="editProduct(scope.row)">编辑</el-button>
|
|
|
<el-button link type="danger" size="large" @click.stop="deteleRow([scope.row])">删除</el-button>
|
|
@@ -136,9 +137,10 @@
|
|
|
|
|
|
<script lang="ts" setup>
|
|
|
import { ref, reactive, onMounted, inject } from "vue";
|
|
|
-import { GETSYSFILED, MOD, MODUCODE, GETPERSONNEL, GETTEMPLATE, GETTABLELIST, ADDPRODUCT, ALLDETELE, UPLOADFILE, EXPORTTIME } from './api'
|
|
|
+import { GETSYSFILED, MOD, MODUCODE, GETPERSONNEL, GETTEMPLATE, GETTABLELIST, ADDPRODUCT, ALLDETELE, UPLOADFILE, EXPORTTIME, SELECTSTATUS } from './api'
|
|
|
import { getAllListByCode, getFromValue, resetFromValue, getFirstDayOfMonth, downloadFile, formatDate, createTaskFromType, confirmAction, downloadTemplate } from '@/utils/tools'
|
|
|
import { FormInstance, FormRules, ElMessageBox, ElTable, UploadRequestOptions } from 'element-plus'
|
|
|
+import { tableShowOverflowTooltip } from '@/utils/globalVariables'
|
|
|
import { post, get, uploadFile } from "@/utils/request";
|
|
|
import { useRouter, useRoute } from "vue-router";
|
|
|
import { GenerateForm } from '@zmjs/form-design';
|
|
@@ -311,7 +313,7 @@ function handleCurrentChange(val: number) {
|
|
|
}
|
|
|
|
|
|
function resetFilter() {
|
|
|
- let newResetForm = resetFromValue(filterProductForm, { startTime: getFirstDayOfMonth(new Date()), endTime: formatDate(new Date()), pageIndex: 1, pageFrom: 10 })
|
|
|
+ let newResetForm = resetFromValue(filterProductForm, { startTime: getFirstDayOfMonth(new Date()), endTime: formatDate(new Date()), pageIndex: 1, pageSize: 10 })
|
|
|
Object.assign(filterProductForm, newResetForm)
|
|
|
getProductTableList()
|
|
|
}
|