| | |
| | | <template> |
| | | <div class="home-container"> |
| | | <div style="height: 100%"> |
| | | <el-row class="homeCard"> |
| | | <el-col :span="5" style="display:flex;align-items: center"> |
| | | <span style="white-space: nowrap">app类型:</span> |
| | | <div class="grid-content topInfo"> |
| | | <el-select v-model="searchType"> |
| | | <el-option |
| | | v-for="item in appTypeList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id" |
| | | /> |
| | | </el-select> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="5" style="display:flex;align-items: center"> |
| | | <span style="white-space: nowrap">版本号:</span> |
| | | <div class="grid-content topInfo"> |
| | | <el-input v-model="searchVersion"/> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="5" style="display:flex;align-items: center"> |
| | | <span style="white-space: nowrap">APP名称:</span> |
| | | <div class="grid-content topInfo"> |
| | | <el-input v-model="searchName"/> |
| | | </div> |
| | | </el-col> |
| | | <el-button type="primary" @click="searchRecord">查询</el-button> |
| | | <el-button plain @click="clearSearch">重置</el-button> |
| | | </el-row> |
| | | <div class="homeCard"> |
| | | <div class="main-card"> |
| | | <el-row class="cardTop"> |
| | | <el-col :span="12" class="mainCardBtn"> |
| | | <el-button type="primary" :icon="Plus" size="default" @click="dialogAddRecord = true">新增</el-button> |
| | | </el-col> |
| | | <el-button type="primary" :icon="Refresh" size="default" @click="reLoadData()" /> |
| | | </el-row> |
| | | <el-table ref="multipleTableRef" :data="tableData" style="width: 100%" height="calc(100% - 100px)" :header-cell-style="{ background: '#fafafa' }" @selection-change="handleSelectionChange"> |
| | | <!-- <el-table-column type="selection" width="100" />--> |
| | | <el-table-column type="index" label="排序" width="80" align="center"/> |
| | | <el-table-column property="appTypeDesc" label="文件类型" align="center" :show-overflow-tooltip="true"/> |
| | | <el-table-column property="name" label="app名称" align="center" :show-overflow-tooltip="true"/> |
| | | <el-table-column property="objectUrl" label="文件链接" align="center" :show-overflow-tooltip="true"/> |
| | | <el-table-column property="customVersion" label="版本号" align="center"> |
| | | <template #default="scope"> |
| | | <el-tag>{{ scope.row.customVersion }}</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column property="info" label="备注" align="center" :show-overflow-tooltip="true"/> |
| | | <el-table-column property="gmtCreate" label="创建时间" align="center"/> |
| | | <el-table-column property="gmtModified" label="更新时间" align="center"/> |
| | | <el-table-column fixed="right" label="操作" align="center" width="250"> |
| | | <template #default="scope"> |
| | | <el-button link type="primary" size="small" :icon="View" @click="viewRecord(scope.row)">查看</el-button> |
| | | <el-button link type="primary" size="small" :icon="Edit" @click="editRecordBtn(scope.$index, scope.row)">修改</el-button> |
| | | <el-button link type="danger" size="small" :icon="Delete" @click="deleteRecordBtn(scope.row)">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div class="pageBtn"> |
| | | <el-pagination v-model:currentPage="pageIndex" v-model:page-size="pageSize" :page-sizes="[10, 15]" small="false" background layout="total, sizes, prev, pager, next, jumper" :total="totalSize" @size-change="handleSizeChange" @current-change="handleCurrentChange" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <el-dialog v-model="dialogDetails" title="APP版本信息"> |
| | | <el-form :model="details" label-width="120px"> |
| | | <el-form-item label="类型"> |
| | | <el-input v-model="details.appTypeDesc" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="app名称"> |
| | | <el-input v-model="details.name" readonly/> |
| | | </el-form-item> |
| | | <el-form-item label="文件链接"> |
| | | <el-input v-model="details.objectUrl" type="textarea" autosize readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="版本号"> |
| | | <el-input v-model="details.customVersion" type="textarea" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="备注"> |
| | | <el-input v-model="details.info" type="textarea" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="创建时间"> |
| | | <el-input v-model="details.gmtCreate" readonly /> |
| | | </el-form-item> |
| | | <el-form-item label="更新时间"> |
| | | <el-input v-model="details.gmtModified" readonly /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" @click="dialogDetails = false" size="default">确认</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-dialog> |
| | | <el-dialog v-model="dialogAddRecord" title="APP版本信息编辑" @close="closeAdd" @open="openAdd"> |
| | | <el-form :model="addRecord" label-width="150px" ref="addRef" :rules="addRules"> |
| | | <el-form-item label="类型" prop="appType"> |
| | | <el-select v-model="addRecord.appType"> |
| | | <el-option |
| | | v-for="item in appTypeList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="app名称" prop="name"> |
| | | <el-input v-model="addRecord.name"/> |
| | | </el-form-item> |
| | | <el-form-item v-if="chosenIndex == null" label="上传文件" prop="objectName"> |
| | | <el-upload :on-exceed="showTip" :on-preview="handlePictureCardPreview" :limit='fileLimit' v-model:file-list="fileList" :http-request="upload" :action="uploadUrl" :on-remove="handleRemove" :before-remove="beforeRemove" :before-upload="getUploadUrl"> |
| | | <el-button type="primary" plain>选择文件</el-button> |
| | | <template #tip> |
| | | <div class="el-upload__tip">上传APP源文件</div> |
| | | </template> |
| | | </el-upload> |
| | | </el-form-item> |
| | | <el-form-item v-else label="上传文件"> |
| | | <el-upload :on-exceed="showTip" :on-preview="handlePictureCardPreview" :limit='fileLimit' v-model:file-list="fileList" :http-request="upload" :action="uploadUrl" :on-remove="handleRemove" :before-remove="beforeRemove" :before-upload="getUploadUrl"> |
| | | <el-button type="primary" plain>选择文件</el-button> |
| | | <template #tip> |
| | | <div class="el-upload__tip">上传新版APP源文件(不上传则默认使用原版本)</div> |
| | | </template> |
| | | </el-upload> |
| | | </el-form-item> |
| | | <el-form-item label="自定义版本号" prop="customVersion"> |
| | | <el-input v-model="addRecord.customVersion"> </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="备注" prop="info"> |
| | | <el-input v-model="addRecord.info" type="textarea" :rows="2" autosize> </el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="warning" @click="dialogAddRecord = false" size="default" plain>取消</el-button> |
| | | <el-button type="primary" @click="confirmAddRecord(addRef)" size="default">确认</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-dialog> |
| | | <el-dialog v-model="deleteDialog" title="提示" width="30%" center @close="indexClear"> |
| | | <span>您确定要删除该条记录吗?</span> |
| | | <template #footer> |
| | | <span class="dialog-footer"> |
| | | <el-button @click="deleteDialog = false" size="default">取消</el-button> |
| | | <el-button type="primary" @click="conFirmDelete" size="default">确认</el-button> |
| | | </span> |
| | | </template> |
| | | </el-dialog> |
| | | <!-- <el-dialog v-model="deleteSetDialog" title="提示" width="30%" center>--> |
| | | <!-- <span>您确定要删除这些记录吗?</span>--> |
| | | <!--<template>--> |
| | | <!-- <div class="home-container">--> |
| | | <!-- <div style="height: 100%">--> |
| | | <!-- <el-row class="homeCard">--> |
| | | <!-- <el-col :span="5" style="display:flex;align-items: center">--> |
| | | <!-- <span style="white-space: nowrap">app类型:</span>--> |
| | | <!-- <div class="grid-content topInfo">--> |
| | | <!-- <el-select v-model="searchType">--> |
| | | <!-- <el-option--> |
| | | <!-- v-for="item in appTypeList"--> |
| | | <!-- :key="item.id"--> |
| | | <!-- :label="item.name"--> |
| | | <!-- :value="item.id"--> |
| | | <!-- />--> |
| | | <!-- </el-select>--> |
| | | <!-- </div>--> |
| | | <!-- </el-col>--> |
| | | <!-- <el-col :span="5" style="display:flex;align-items: center">--> |
| | | <!-- <span style="white-space: nowrap">版本号:</span>--> |
| | | <!-- <div class="grid-content topInfo">--> |
| | | <!-- <el-input v-model="searchVersion"/>--> |
| | | <!-- </div>--> |
| | | <!-- </el-col>--> |
| | | <!-- <el-col :span="5" style="display:flex;align-items: center">--> |
| | | <!-- <span style="white-space: nowrap">APP名称:</span>--> |
| | | <!-- <div class="grid-content topInfo">--> |
| | | <!-- <el-input v-model="searchName"/>--> |
| | | <!-- </div>--> |
| | | <!-- </el-col>--> |
| | | <!-- <el-button type="primary" @click="searchRecord">查询</el-button>--> |
| | | <!-- <el-button plain @click="clearSearch">重置</el-button>--> |
| | | <!-- </el-row>--> |
| | | <!-- <div class="homeCard">--> |
| | | <!-- <div class="main-card">--> |
| | | <!-- <el-row class="cardTop">--> |
| | | <!-- <el-col :span="12" class="mainCardBtn">--> |
| | | <!-- <el-button type="primary" :icon="Plus" size="default" @click="dialogAddRecord = true">新增</el-button>--> |
| | | <!-- </el-col>--> |
| | | <!-- <el-button type="primary" :icon="Refresh" size="default" @click="reLoadData()" />--> |
| | | <!-- </el-row>--> |
| | | <!-- <el-table ref="multipleTableRef" :data="tableData" style="width: 100%" height="calc(100% - 100px)" :header-cell-style="{ background: '#fafafa' }" @selection-change="handleSelectionChange">--> |
| | | <!--<!– <el-table-column type="selection" width="100" />–>--> |
| | | <!-- <el-table-column type="index" label="排序" width="80" align="center"/>--> |
| | | <!-- <el-table-column property="appTypeDesc" label="文件类型" align="center" :show-overflow-tooltip="true"/>--> |
| | | <!-- <el-table-column property="name" label="app名称" align="center" :show-overflow-tooltip="true"/>--> |
| | | <!-- <el-table-column property="objectUrl" label="文件链接" align="center" :show-overflow-tooltip="true"/>--> |
| | | <!-- <el-table-column property="customVersion" label="版本号" align="center">--> |
| | | <!-- <template #default="scope">--> |
| | | <!-- <el-tag>{{ scope.row.customVersion }}</el-tag>--> |
| | | <!-- </template>--> |
| | | <!-- </el-table-column>--> |
| | | <!-- <el-table-column property="info" label="备注" align="center" :show-overflow-tooltip="true"/>--> |
| | | <!-- <el-table-column property="gmtCreate" label="创建时间" align="center"/>--> |
| | | <!-- <el-table-column property="gmtModified" label="更新时间" align="center"/>--> |
| | | <!-- <el-table-column fixed="right" label="操作" align="center" width="250">--> |
| | | <!-- <template #default="scope">--> |
| | | <!-- <el-button link type="primary" size="small" :icon="View" @click="viewRecord(scope.row)">查看</el-button>--> |
| | | <!-- <el-button link type="primary" size="small" :icon="Edit" @click="editRecordBtn(scope.$index, scope.row)">修改</el-button>--> |
| | | <!-- <el-button link type="danger" size="small" :icon="Delete" @click="deleteRecordBtn(scope.row)">删除</el-button>--> |
| | | <!-- </template>--> |
| | | <!-- </el-table-column>--> |
| | | <!-- </el-table>--> |
| | | <!-- <div class="pageBtn">--> |
| | | <!-- <el-pagination v-model:currentPage="pageIndex" v-model:page-size="pageSize" :page-sizes="[10, 15]" small="false" background layout="total, sizes, prev, pager, next, jumper" :total="totalSize" @size-change="handleSizeChange" @current-change="handleCurrentChange" />--> |
| | | <!-- </div>--> |
| | | <!-- </div>--> |
| | | <!-- </div>--> |
| | | <!-- </div>--> |
| | | <!-- <el-dialog v-model="dialogDetails" title="APP版本信息">--> |
| | | <!-- <el-form :model="details" label-width="120px">--> |
| | | <!-- <el-form-item label="类型">--> |
| | | <!-- <el-input v-model="details.appTypeDesc" readonly />--> |
| | | <!-- </el-form-item>--> |
| | | <!-- <el-form-item label="app名称">--> |
| | | <!-- <el-input v-model="details.name" readonly/>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- <el-form-item label="文件链接">--> |
| | | <!-- <el-input v-model="details.objectUrl" type="textarea" autosize readonly />--> |
| | | <!-- </el-form-item>--> |
| | | <!-- <el-form-item label="版本号">--> |
| | | <!-- <el-input v-model="details.customVersion" type="textarea" readonly />--> |
| | | <!-- </el-form-item>--> |
| | | <!-- <el-form-item label="备注">--> |
| | | <!-- <el-input v-model="details.info" type="textarea" readonly />--> |
| | | <!-- </el-form-item>--> |
| | | <!-- <el-form-item label="创建时间">--> |
| | | <!-- <el-input v-model="details.gmtCreate" readonly />--> |
| | | <!-- </el-form-item>--> |
| | | <!-- <el-form-item label="更新时间">--> |
| | | <!-- <el-input v-model="details.gmtModified" readonly />--> |
| | | <!-- </el-form-item>--> |
| | | <!-- <el-form-item>--> |
| | | <!-- <el-button type="primary" @click="dialogDetails = false" size="default">确认</el-button>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- </el-form>--> |
| | | <!-- </el-dialog>--> |
| | | <!-- <el-dialog v-model="dialogAddRecord" title="APP版本信息编辑" @close="closeAdd" @open="openAdd">--> |
| | | <!-- <el-form :model="addRecord" label-width="150px" ref="addRef" :rules="addRules">--> |
| | | <!-- <el-form-item label="类型" prop="appType">--> |
| | | <!-- <el-select v-model="addRecord.appType">--> |
| | | <!-- <el-option--> |
| | | <!-- v-for="item in appTypeList"--> |
| | | <!-- :key="item.id"--> |
| | | <!-- :label="item.name"--> |
| | | <!-- :value="item.id"--> |
| | | <!-- />--> |
| | | <!-- </el-select>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- <el-form-item label="app名称" prop="name">--> |
| | | <!-- <el-input v-model="addRecord.name"/>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- <el-form-item v-if="chosenIndex == null" label="上传文件" prop="objectName">--> |
| | | <!-- <el-upload :on-exceed="showTip" :on-preview="handlePictureCardPreview" :limit='fileLimit' v-model:file-list="fileList" :http-request="upload" :action="uploadUrl" :on-remove="handleRemove" :before-remove="beforeRemove" :before-upload="getUploadUrl">--> |
| | | <!-- <el-button type="primary" plain>选择文件</el-button>--> |
| | | <!-- <template #tip>--> |
| | | <!-- <div class="el-upload__tip">上传APP源文件</div>--> |
| | | <!-- </template>--> |
| | | <!-- </el-upload>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- <el-form-item v-else label="上传文件">--> |
| | | <!-- <el-upload :on-exceed="showTip" :on-preview="handlePictureCardPreview" :limit='fileLimit' v-model:file-list="fileList" :http-request="upload" :action="uploadUrl" :on-remove="handleRemove" :before-remove="beforeRemove" :before-upload="getUploadUrl">--> |
| | | <!-- <el-button type="primary" plain>选择文件</el-button>--> |
| | | <!-- <template #tip>--> |
| | | <!-- <div class="el-upload__tip">上传新版APP源文件(不上传则默认使用原版本)</div>--> |
| | | <!-- </template>--> |
| | | <!-- </el-upload>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- <el-form-item label="自定义版本号" prop="customVersion">--> |
| | | <!-- <el-input v-model="addRecord.customVersion"> </el-input>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- <el-form-item label="备注" prop="info">--> |
| | | <!-- <el-input v-model="addRecord.info" type="textarea" :rows="2" autosize> </el-input>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- <el-form-item>--> |
| | | <!-- <el-button type="warning" @click="dialogAddRecord = false" size="default" plain>取消</el-button>--> |
| | | <!-- <el-button type="primary" @click="confirmAddRecord(addRef)" size="default">确认</el-button>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- </el-form>--> |
| | | <!-- </el-dialog>--> |
| | | <!-- <el-dialog v-model="deleteDialog" title="提示" width="30%" center @close="indexClear">--> |
| | | <!-- <span>您确定要删除该条记录吗?</span>--> |
| | | <!-- <template #footer>--> |
| | | <!-- <span class="dialog-footer">--> |
| | | <!-- <el-button @click="deleteSetDialog = false" size="default">取消</el-button>--> |
| | | <!-- <el-button type="primary" @click="conFirmDeleteBatch" size="default">确认</el-button>--> |
| | | <!-- <el-button @click="deleteDialog = false" size="default">取消</el-button>--> |
| | | <!-- <el-button type="primary" @click="conFirmDelete" size="default">确认</el-button>--> |
| | | <!-- </span>--> |
| | | <!-- </template>--> |
| | | <!-- </el-dialog>--> |
| | | </div> |
| | | </template> |
| | | <!--<!– <el-dialog v-model="deleteSetDialog" title="提示" width="30%" center>–>--> |
| | | <!--<!– <span>您确定要删除这些记录吗?</span>–>--> |
| | | <!--<!– <template #footer>–>--> |
| | | <!--<!– <span class="dialog-footer">–>--> |
| | | <!--<!– <el-button @click="deleteSetDialog = false" size="default">取消</el-button>–>--> |
| | | <!--<!– <el-button type="primary" @click="conFirmDeleteBatch" size="default">确认</el-button>–>--> |
| | | <!--<!– </span>–>--> |
| | | <!--<!– </template>–>--> |
| | | <!--<!– </el-dialog>–>--> |
| | | <!-- </div>--> |
| | | <!--</template>--> |
| | | |
| | | <script lang="ts"> |
| | | import { toRefs, reactive, ref, onMounted } from 'vue'; |
| | | import { storeToRefs } from 'pinia'; |
| | | import { initBackEndControlRoutes } from '/@/router/backEnd'; |
| | | import { useUserInfo } from '/@/stores/userInfo'; |
| | | import { Session } from '/@/utils/storage'; |
| | | import { Edit, View, Plus, Delete, Refresh, Search, Download } from '@element-plus/icons-vue'; |
| | | import { ElMessage, ElMessageBox } from 'element-plus'; |
| | | import type { FormInstance, FormRules, UploadProps, UploadUserFile } from 'element-plus' |
| | | import { appVersionApi } from '/@/api/systemManage/appVersion'; |
| | | import {workApplyApi} from "/@/api/specialWorkSystem/workApply"; |
| | | import axios from "axios"; |
| | | <!--<script lang="ts">--> |
| | | <!--import { toRefs, reactive, ref, onMounted } from 'vue';--> |
| | | <!--import { storeToRefs } from 'pinia';--> |
| | | <!--import { initBackEndControlRoutes } from '/@/router/backEnd';--> |
| | | <!--import { useUserInfo } from '/@/stores/userInfo';--> |
| | | <!--import { Session } from '/@/utils/storage';--> |
| | | <!--import { Edit, View, Plus, Delete, Refresh, Search, Download } from '@element-plus/icons-vue';--> |
| | | <!--import { ElMessage, ElMessageBox } from 'element-plus';--> |
| | | <!--import type { FormInstance, FormRules, UploadProps, UploadUserFile } from 'element-plus'--> |
| | | <!--import { appVersionApi } from '/@/api/systemManage/appVersion';--> |
| | | <!--import {workApplyApi} from "/@/api/specialWorkSystem/workApply";--> |
| | | <!--import axios from "axios";--> |
| | | |
| | | // 定义接口来定义对象的类型 |
| | | interface stateType { |
| | | tableData: Array<any>; |
| | | multipleSelection: Array<any>; |
| | | deleteArr: Array<any>; |
| | | dialogDetails: boolean; |
| | | dialogAddRecord: boolean; |
| | | deleteDialog: boolean; |
| | | deleteSetDialog: boolean; |
| | | pageIndex: number; |
| | | pageSize: number; |
| | | chosenIndex: null | number; |
| | | deleteId: null | number; |
| | | searchType: number; |
| | | appTypeList: Array<any>; |
| | | searchVersion: string; |
| | | searchName: string; |
| | | totalSize: number; |
| | | addRecord: {}; |
| | | details: {}; |
| | | fileLimit: number; |
| | | uploadUrl: string; |
| | | fileList: Array<file> |
| | | } |
| | | interface file { |
| | | url: string; |
| | | } |
| | | export default { |
| | | name: 'appVersion', |
| | | components: {}, |
| | | setup() { |
| | | const userInfo = useUserInfo(); |
| | | const { userInfos } = storeToRefs(userInfo); |
| | | const state = reactive<stateType>({ |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | totalSize: 0, |
| | | chosenIndex: null, |
| | | searchType: 1, |
| | | appTypeList: [ |
| | | { |
| | | name: '国泰app', |
| | | id: 1 |
| | | }, |
| | | { |
| | | name: '其他', |
| | | id: 0 |
| | | } |
| | | ], |
| | | searchVersion: '', |
| | | searchName: '', |
| | | tableData: [], |
| | | fileLimit: 1, |
| | | uploadUrl: '', |
| | | multipleSelection: [], |
| | | dialogDetails: false, |
| | | dialogAddRecord: false, |
| | | deleteDialog: false, |
| | | deleteSetDialog: false, |
| | | addRecord: { |
| | | appType: 1, |
| | | name: '', |
| | | objectName: '', |
| | | info: '', |
| | | customVersion: '' |
| | | }, |
| | | details: {}, |
| | | deleteId: null, |
| | | deleteArr: [], |
| | | fileList: [] |
| | | }); |
| | | interface User { |
| | | <!--// 定义接口来定义对象的类型--> |
| | | <!--interface stateType {--> |
| | | <!-- tableData: Array<any>;--> |
| | | <!-- multipleSelection: Array<any>;--> |
| | | <!-- deleteArr: Array<any>;--> |
| | | <!-- dialogDetails: boolean;--> |
| | | <!-- dialogAddRecord: boolean;--> |
| | | <!-- deleteDialog: boolean;--> |
| | | <!-- deleteSetDialog: boolean;--> |
| | | <!-- pageIndex: number;--> |
| | | <!-- pageSize: number;--> |
| | | <!-- chosenIndex: null | number;--> |
| | | <!-- deleteId: null | number;--> |
| | | <!-- searchType: number;--> |
| | | <!-- appTypeList: Array<any>;--> |
| | | <!-- searchVersion: string;--> |
| | | <!-- searchName: string;--> |
| | | <!-- totalSize: number;--> |
| | | <!-- addRecord: {};--> |
| | | <!-- details: {};--> |
| | | <!-- fileLimit: number;--> |
| | | <!-- uploadUrl: string;--> |
| | | <!-- fileList: Array<file>--> |
| | | <!--}--> |
| | | <!--interface file {--> |
| | | <!-- url: string;--> |
| | | <!--}--> |
| | | <!--export default {--> |
| | | <!-- name: 'appVersion',--> |
| | | <!-- components: {},--> |
| | | <!-- setup() {--> |
| | | <!-- const userInfo = useUserInfo();--> |
| | | <!-- const { userInfos } = storeToRefs(userInfo);--> |
| | | <!-- const state = reactive<stateType>({--> |
| | | <!-- pageIndex: 1,--> |
| | | <!-- pageSize: 10,--> |
| | | <!-- totalSize: 0,--> |
| | | <!-- chosenIndex: null,--> |
| | | <!-- searchType: 1,--> |
| | | <!-- appTypeList: [--> |
| | | <!-- {--> |
| | | <!-- name: '国泰app',--> |
| | | <!-- id: 1--> |
| | | <!-- },--> |
| | | <!-- {--> |
| | | <!-- name: '其他',--> |
| | | <!-- id: 0--> |
| | | <!-- }--> |
| | | <!-- ],--> |
| | | <!-- searchVersion: '',--> |
| | | <!-- searchName: '',--> |
| | | <!-- tableData: [],--> |
| | | <!-- fileLimit: 1,--> |
| | | <!-- uploadUrl: '',--> |
| | | <!-- multipleSelection: [],--> |
| | | <!-- dialogDetails: false,--> |
| | | <!-- dialogAddRecord: false,--> |
| | | <!-- deleteDialog: false,--> |
| | | <!-- deleteSetDialog: false,--> |
| | | <!-- addRecord: {--> |
| | | <!-- appType: 1,--> |
| | | <!-- name: '',--> |
| | | <!-- objectName: '',--> |
| | | <!-- info: '',--> |
| | | <!-- customVersion: ''--> |
| | | <!-- },--> |
| | | <!-- details: {},--> |
| | | <!-- deleteId: null,--> |
| | | <!-- deleteArr: [],--> |
| | | <!-- fileList: []--> |
| | | <!-- });--> |
| | | <!-- interface User {--> |
| | | |
| | | } |
| | | // const multipleTableRef = ref<InstanceType<typeof ElTable>>(); |
| | | // const toggleSelection = (rows?: User[]) => { |
| | | // if (rows) { |
| | | // rows.forEach((row) => { |
| | | // // TODO: improvement typing when refactor table |
| | | // // eslint-disable-next-line @typescript-eslint/ban-ts-comment |
| | | // // @ts-expect-error |
| | | // multipleTableRef.value!.toggleRowSelection(row, undefined); |
| | | // }); |
| | | // } else { |
| | | // multipleTableRef.value!.clearSelection(); |
| | | // } |
| | | // }; |
| | | <!-- }--> |
| | | <!-- // const multipleTableRef = ref<InstanceType<typeof ElTable>>();--> |
| | | <!-- // const toggleSelection = (rows?: User[]) => {--> |
| | | <!-- // if (rows) {--> |
| | | <!-- // rows.forEach((row) => {--> |
| | | <!-- // // TODO: improvement typing when refactor table--> |
| | | <!-- // // eslint-disable-next-line @typescript-eslint/ban-ts-comment--> |
| | | <!-- // // @ts-expect-error--> |
| | | <!-- // multipleTableRef.value!.toggleRowSelection(row, undefined);--> |
| | | <!-- // });--> |
| | | <!-- // } else {--> |
| | | <!-- // multipleTableRef.value!.clearSelection();--> |
| | | <!-- // }--> |
| | | <!-- // };--> |
| | | |
| | | // 多选 |
| | | // const handleSelectionChange = (val: User[]) => { |
| | | // state.multipleSelection = JSON.parse(JSON.stringify(val)); |
| | | // state.deleteArr = state.multipleSelection.map((item) => { |
| | | // item = item.id; |
| | | // return item; |
| | | // }); |
| | | // }; |
| | | <!-- // 多选--> |
| | | <!-- // const handleSelectionChange = (val: User[]) => {--> |
| | | <!-- // state.multipleSelection = JSON.parse(JSON.stringify(val));--> |
| | | <!-- // state.deleteArr = state.multipleSelection.map((item) => {--> |
| | | <!-- // item = item.id;--> |
| | | <!-- // return item;--> |
| | | <!-- // });--> |
| | | <!-- // };--> |
| | | |
| | | const addRef = ref<FormInstance>(); |
| | | const addRules = reactive<FormRules>({ |
| | | appType: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | name: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | objectName: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | customVersion: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | info: [{ required: true, message: '该内容不能为空', trigger: 'blur' }] |
| | | }); |
| | | <!-- const addRef = ref<FormInstance>();--> |
| | | <!-- const addRules = reactive<FormRules>({--> |
| | | <!-- appType: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],--> |
| | | <!-- name: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],--> |
| | | <!-- objectName: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],--> |
| | | <!-- customVersion: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],--> |
| | | <!-- info: [{ required: true, message: '该内容不能为空', trigger: 'blur' }]--> |
| | | <!-- });--> |
| | | |
| | | // 页面载入时执行方法 |
| | | onMounted(() => { |
| | | getListByPage(); |
| | | }); |
| | | <!-- // 页面载入时执行方法--> |
| | | <!-- onMounted(() => {--> |
| | | <!-- getListByPage();--> |
| | | <!-- });--> |
| | | |
| | | // 分页获取物资标准列表 |
| | | const getListByPage = async () => { |
| | | const data = { pageSize: state.pageSize, pageIndex: state.pageIndex, searchParams: { appType: state.searchType, customVersion: state.searchVersion, appName: state.searchName} }; |
| | | let res = await appVersionApi().getRecordPage(data); |
| | | if (res.data.code === '200') { |
| | | state.tableData = JSON.parse(JSON.stringify(res.data.data)) |
| | | state.totalSize = res.data.total; |
| | | } else { |
| | | ElMessage({ |
| | | type: 'warning', |
| | | message: res.data.msg |
| | | }); |
| | | } |
| | | }; |
| | | <!-- // 分页获取物资标准列表--> |
| | | <!-- const getListByPage = async () => {--> |
| | | <!-- const data = { pageSize: state.pageSize, pageIndex: state.pageIndex, searchParams: { appType: state.searchType, customVersion: state.searchVersion, appName: state.searchName} };--> |
| | | <!-- let res = await appVersionApi().getRecordPage(data);--> |
| | | <!-- if (res.data.code === '200') {--> |
| | | <!-- state.tableData = JSON.parse(JSON.stringify(res.data.data))--> |
| | | <!-- state.totalSize = res.data.total;--> |
| | | <!-- } else {--> |
| | | <!-- ElMessage({--> |
| | | <!-- type: 'warning',--> |
| | | <!-- message: res.data.msg--> |
| | | <!-- });--> |
| | | <!-- }--> |
| | | <!-- };--> |
| | | |
| | | // const handleChange = async (value) => { |
| | | // state.addRecord.depId = value; |
| | | // console.log(state.addRecord.department, 'de'); |
| | | // let res = await appVersionApi().getAllMember(value); |
| | | // if (res.data.code === '200') { |
| | | // state.workerList = res.data.data; |
| | | // } else { |
| | | // ElMessage({ |
| | | // type: 'warning', |
| | | // message: res.data.msg |
| | | // }); |
| | | // } |
| | | // }; |
| | | <!-- // const handleChange = async (value) => {--> |
| | | <!-- // state.addRecord.depId = value;--> |
| | | <!-- // console.log(state.addRecord.department, 'de');--> |
| | | <!-- // let res = await appVersionApi().getAllMember(value);--> |
| | | <!-- // if (res.data.code === '200') {--> |
| | | <!-- // state.workerList = res.data.data;--> |
| | | <!-- // } else {--> |
| | | <!-- // ElMessage({--> |
| | | <!-- // type: 'warning',--> |
| | | <!-- // message: res.data.msg--> |
| | | <!-- // });--> |
| | | <!-- // }--> |
| | | <!-- // };--> |
| | | |
| | | // 关键词查询记录 |
| | | const searchRecord = async () => { |
| | | if (state.searchType == null && state.searchVersion == '' && state.searchName == '') { |
| | | ElMessage({ |
| | | type: 'warning', |
| | | message: '请输入查询关键词' |
| | | }); |
| | | } else { |
| | | getListByPage(); |
| | | } |
| | | }; |
| | | <!-- // 关键词查询记录--> |
| | | <!-- const searchRecord = async () => {--> |
| | | <!-- if (state.searchType == null && state.searchVersion == '' && state.searchName == '') {--> |
| | | <!-- ElMessage({--> |
| | | <!-- type: 'warning',--> |
| | | <!-- message: '请输入查询关键词'--> |
| | | <!-- });--> |
| | | <!-- } else {--> |
| | | <!-- getListByPage();--> |
| | | <!-- }--> |
| | | <!-- };--> |
| | | |
| | | const clearSearch = async () => { |
| | | state.searchType = 1 |
| | | state.searchVersion = '' |
| | | state.searchName = '' |
| | | getListByPage(); |
| | | }; |
| | | <!-- const clearSearch = async () => {--> |
| | | <!-- state.searchType = 1--> |
| | | <!-- state.searchVersion = ''--> |
| | | <!-- state.searchName = ''--> |
| | | <!-- getListByPage();--> |
| | | <!-- };--> |
| | | |
| | | const showTip =()=>{ |
| | | ElMessage({ |
| | | type: 'warning', |
| | | message: '超出文件上传数量' |
| | | }); |
| | | } |
| | | <!-- const showTip =()=>{--> |
| | | <!-- ElMessage({--> |
| | | <!-- type: 'warning',--> |
| | | <!-- message: '超出文件上传数量'--> |
| | | <!-- });--> |
| | | <!-- }--> |
| | | |
| | | const getUploadUrl = async (rawFile: any) => { |
| | | const res = await appVersionApi().getUploadUrl({ filename: rawFile.name }); |
| | | state.addRecord.objectName = res.data.data.objectName |
| | | state.uploadUrl = res.data.data.presignedUrl; |
| | | }; |
| | | <!-- const getUploadUrl = async (rawFile: any) => {--> |
| | | <!-- const res = await appVersionApi().getUploadUrl({ filename: rawFile.name });--> |
| | | <!-- state.addRecord.objectName = res.data.data.objectName--> |
| | | <!-- state.uploadUrl = res.data.data.presignedUrl;--> |
| | | <!-- };--> |
| | | |
| | | const upload = async (params: any) => { |
| | | // const formData = new FormData(); |
| | | // formData.append('file', state.fileList[0].raw); |
| | | let reader = new FileReader(); |
| | | reader.readAsArrayBuffer(params.file); |
| | | reader.onload = async () => { |
| | | axios |
| | | .put(state.uploadUrl, reader.result, { |
| | | header: { 'Content-Type': 'multipart/form-data' } |
| | | }) |
| | | .then(() => { |
| | | // if (state.fileList.length === 2) { |
| | | // state.fileList.splice(0, 1); |
| | | // } |
| | | // console.log(state.form.workDetail.gbPath,'gbpath') |
| | | }); |
| | | }; |
| | | }; |
| | | <!-- const upload = async (params: any) => {--> |
| | | <!-- // const formData = new FormData();--> |
| | | <!-- // formData.append('file', state.fileList[0].raw);--> |
| | | <!-- let reader = new FileReader();--> |
| | | <!-- reader.readAsArrayBuffer(params.file);--> |
| | | <!-- reader.onload = async () => {--> |
| | | <!-- axios--> |
| | | <!-- .put(state.uploadUrl, reader.result, {--> |
| | | <!-- header: { 'Content-Type': 'multipart/form-data' }--> |
| | | <!-- })--> |
| | | <!-- .then(() => {--> |
| | | <!-- // if (state.fileList.length === 2) {--> |
| | | <!-- // state.fileList.splice(0, 1);--> |
| | | <!-- // }--> |
| | | <!-- // console.log(state.form.workDetail.gbPath,'gbpath')--> |
| | | <!-- });--> |
| | | <!-- };--> |
| | | <!-- };--> |
| | | |
| | | const beforeRemove = (file: {}, fileList: []) => { |
| | | const result = new Promise((resolve, reject) => { |
| | | ElMessageBox.confirm('此操作将删除该图片, 是否继续?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }) |
| | | .then(() => { |
| | | // console.log(state.workDetail.gbPath,'path') |
| | | state.fileList = [] |
| | | // 请求删除接口 |
| | | deletePic(state.addRecord.objectName) |
| | | state.addRecord.objectName = null |
| | | }) |
| | | .catch(() => { |
| | | reject(false); |
| | | }); |
| | | }); |
| | | return result; |
| | | }; |
| | | // 删除图片接口 |
| | | const deletePic = async(fileName:string)=>{ |
| | | const res = await workApplyApi().deleteFile({fileName: fileName}) |
| | | if (res.data.code === '200') { |
| | | ElMessage({ |
| | | type: 'success', |
| | | message: '删除成功!' |
| | | }); |
| | | } else { |
| | | ElMessage({ |
| | | type: 'warning', |
| | | message: res.data.msg |
| | | }); |
| | | } |
| | | } |
| | | <!-- const beforeRemove = (file: {}, fileList: []) => {--> |
| | | <!-- const result = new Promise((resolve, reject) => {--> |
| | | <!-- ElMessageBox.confirm('此操作将删除该图片, 是否继续?', '提示', {--> |
| | | <!-- confirmButtonText: '确定',--> |
| | | <!-- cancelButtonText: '取消',--> |
| | | <!-- type: 'warning'--> |
| | | <!-- })--> |
| | | <!-- .then(() => {--> |
| | | <!-- // console.log(state.workDetail.gbPath,'path')--> |
| | | <!-- state.fileList = []--> |
| | | <!-- // 请求删除接口--> |
| | | <!-- deletePic(state.addRecord.objectName)--> |
| | | <!-- state.addRecord.objectName = null--> |
| | | <!-- })--> |
| | | <!-- .catch(() => {--> |
| | | <!-- reject(false);--> |
| | | <!-- });--> |
| | | <!-- });--> |
| | | <!-- return result;--> |
| | | <!-- };--> |
| | | <!-- // 删除图片接口--> |
| | | <!-- const deletePic = async(fileName:string)=>{--> |
| | | <!-- const res = await workApplyApi().deleteFile({fileName: fileName})--> |
| | | <!-- if (res.data.code === '200') {--> |
| | | <!-- ElMessage({--> |
| | | <!-- type: 'success',--> |
| | | <!-- message: '删除成功!'--> |
| | | <!-- });--> |
| | | <!-- } else {--> |
| | | <!-- ElMessage({--> |
| | | <!-- type: 'warning',--> |
| | | <!-- message: res.data.msg--> |
| | | <!-- });--> |
| | | <!-- }--> |
| | | <!-- }--> |
| | | |
| | | // 添加班组管理方法 |
| | | const addRecord = async (data: any) => { |
| | | let res = await appVersionApi().addRecord(data); |
| | | if (res.data.code === '200') { |
| | | ElMessage({ |
| | | type: 'success', |
| | | message: '添加成功!' |
| | | }); |
| | | state.fileList = [] |
| | | getListByPage(); |
| | | } else { |
| | | ElMessage({ |
| | | type: 'warning', |
| | | message: res.data.msg |
| | | }); |
| | | } |
| | | }; |
| | | <!-- // 添加班组管理方法--> |
| | | <!-- const addRecord = async (data: any) => {--> |
| | | <!-- let res = await appVersionApi().addRecord(data);--> |
| | | <!-- if (res.data.code === '200') {--> |
| | | <!-- ElMessage({--> |
| | | <!-- type: 'success',--> |
| | | <!-- message: '添加成功!'--> |
| | | <!-- });--> |
| | | <!-- state.fileList = []--> |
| | | <!-- getListByPage();--> |
| | | <!-- } else {--> |
| | | <!-- ElMessage({--> |
| | | <!-- type: 'warning',--> |
| | | <!-- message: res.data.msg--> |
| | | <!-- });--> |
| | | <!-- }--> |
| | | <!-- };--> |
| | | |
| | | // 修改工作时段方法 |
| | | const editRecordBtn = async (index, row) => { |
| | | console.log(row,'row') |
| | | state.addRecord = JSON.parse(JSON.stringify(row)); |
| | | state.dialogAddRecord = true; |
| | | state.chosenIndex = index; |
| | | }; |
| | | <!-- // 修改工作时段方法--> |
| | | <!-- const editRecordBtn = async (index, row) => {--> |
| | | <!-- console.log(row,'row')--> |
| | | <!-- state.addRecord = JSON.parse(JSON.stringify(row));--> |
| | | <!-- state.dialogAddRecord = true;--> |
| | | <!-- state.chosenIndex = index;--> |
| | | <!-- };--> |
| | | |
| | | const editRecord = async (data: any) => { |
| | | let res = await appVersionApi().updateRecord(data); |
| | | if (res.data.code === '200') { |
| | | ElMessage({ |
| | | type: 'success', |
| | | message: '修改成功!' |
| | | }); |
| | | getListByPage(); |
| | | } else { |
| | | ElMessage({ |
| | | type: 'warning', |
| | | message: res.data.msg |
| | | }); |
| | | } |
| | | }; |
| | | <!-- const editRecord = async (data: any) => {--> |
| | | <!-- let res = await appVersionApi().updateRecord(data);--> |
| | | <!-- if (res.data.code === '200') {--> |
| | | <!-- ElMessage({--> |
| | | <!-- type: 'success',--> |
| | | <!-- message: '修改成功!'--> |
| | | <!-- });--> |
| | | <!-- getListByPage();--> |
| | | <!-- } else {--> |
| | | <!-- ElMessage({--> |
| | | <!-- type: 'warning',--> |
| | | <!-- message: res.data.msg--> |
| | | <!-- });--> |
| | | <!-- }--> |
| | | <!-- };--> |
| | | |
| | | // 新增修改记录 |
| | | const confirmAddRecord = async (formEl: FormInstance | undefined) => { |
| | | if (!formEl) return; |
| | | await formEl.validate(async (valid, fields) => { |
| | | if (valid) { |
| | | const data = { |
| | | appType: state.addRecord.appType, |
| | | appName: state.addRecord.name, |
| | | objectName: state.addRecord.objectName, |
| | | info: state.addRecord.info, |
| | | customVersion: state.addRecord.customVersion |
| | | }; |
| | | if (state.chosenIndex == null) { |
| | | await addRecord(data); |
| | | } else { |
| | | data.id = JSON.stringify(state.addRecord.id); |
| | | await editRecord(data); |
| | | } |
| | | state.dialogAddRecord = false; |
| | | } else { |
| | | console.log('error submit!', fields); |
| | | } |
| | | }); |
| | | }; |
| | | <!-- // 新增修改记录--> |
| | | <!-- const confirmAddRecord = async (formEl: FormInstance | undefined) => {--> |
| | | <!-- if (!formEl) return;--> |
| | | <!-- await formEl.validate(async (valid, fields) => {--> |
| | | <!-- if (valid) {--> |
| | | <!-- const data = {--> |
| | | <!-- appType: state.addRecord.appType,--> |
| | | <!-- appName: state.addRecord.name,--> |
| | | <!-- objectName: state.addRecord.objectName,--> |
| | | <!-- info: state.addRecord.info,--> |
| | | <!-- customVersion: state.addRecord.customVersion--> |
| | | <!-- };--> |
| | | <!-- if (state.chosenIndex == null) {--> |
| | | <!-- await addRecord(data);--> |
| | | <!-- } else {--> |
| | | <!-- data.id = JSON.stringify(state.addRecord.id);--> |
| | | <!-- await editRecord(data);--> |
| | | <!-- }--> |
| | | <!-- state.dialogAddRecord = false;--> |
| | | <!-- } else {--> |
| | | <!-- console.log('error submit!', fields);--> |
| | | <!-- }--> |
| | | <!-- });--> |
| | | <!-- };--> |
| | | |
| | | // 删除工作时间组方法 |
| | | const deleteRecord = async (data: any) => { |
| | | let res = await appVersionApi().deleteRecord(data); |
| | | if (res.data.code === '200') { |
| | | ElMessage({ |
| | | type: 'success', |
| | | message: '删除成功!' |
| | | }); |
| | | getListByPage(); |
| | | } else { |
| | | ElMessage({ |
| | | type: 'warning', |
| | | message: res.data.msg |
| | | }); |
| | | } |
| | | }; |
| | | <!-- // 删除工作时间组方法--> |
| | | <!-- const deleteRecord = async (data: any) => {--> |
| | | <!-- let res = await appVersionApi().deleteRecord(data);--> |
| | | <!-- if (res.data.code === '200') {--> |
| | | <!-- ElMessage({--> |
| | | <!-- type: 'success',--> |
| | | <!-- message: '删除成功!'--> |
| | | <!-- });--> |
| | | <!-- getListByPage();--> |
| | | <!-- } else {--> |
| | | <!-- ElMessage({--> |
| | | <!-- type: 'warning',--> |
| | | <!-- message: res.data.msg--> |
| | | <!-- });--> |
| | | <!-- }--> |
| | | <!-- };--> |
| | | |
| | | const deleteRecordBtn = (row) => { |
| | | console.log(row, 'row'); |
| | | state.deleteId = row.id; |
| | | state.deleteDialog = true; |
| | | }; |
| | | <!-- const deleteRecordBtn = (row) => {--> |
| | | <!-- console.log(row, 'row');--> |
| | | <!-- state.deleteId = row.id;--> |
| | | <!-- state.deleteDialog = true;--> |
| | | <!-- };--> |
| | | |
| | | const conFirmDelete = () => { |
| | | deleteRecord({ id: state.deleteId }); |
| | | state.deleteDialog = false; |
| | | }; |
| | | <!-- const conFirmDelete = () => {--> |
| | | <!-- deleteRecord({ id: state.deleteId });--> |
| | | <!-- state.deleteDialog = false;--> |
| | | <!-- };--> |
| | | |
| | | // 批量删除 |
| | | // const deleteBatchBtn = async () => { |
| | | // ElMessage({ |
| | | // type: 'warning', |
| | | // message: '抱歉,本页面暂不支持批量删除' |
| | | // }); |
| | | // if (state.deleteArr.length > 0) { |
| | | // state.deleteSetDialog = true |
| | | // } else { |
| | | // ElMessage({ |
| | | // type: 'warning', |
| | | // message: '请先选择要删除的记录' |
| | | // }); |
| | | // } |
| | | // }; |
| | | <!-- // 批量删除--> |
| | | <!-- // const deleteBatchBtn = async () => {--> |
| | | <!-- // ElMessage({--> |
| | | <!-- // type: 'warning',--> |
| | | <!-- // message: '抱歉,本页面暂不支持批量删除'--> |
| | | <!-- // });--> |
| | | <!-- // if (state.deleteArr.length > 0) {--> |
| | | <!-- // state.deleteSetDialog = true--> |
| | | <!-- // } else {--> |
| | | <!-- // ElMessage({--> |
| | | <!-- // type: 'warning',--> |
| | | <!-- // message: '请先选择要删除的记录'--> |
| | | <!-- // });--> |
| | | <!-- // }--> |
| | | <!-- // };--> |
| | | |
| | | // const conFirmDeleteBatch = async () => { |
| | | // let res = await appVersionApi().deletBatchRecord({ids: state.deleteArr}); |
| | | // if (res.data.code === '200') { |
| | | // state.deleteSetDialog = false |
| | | // ElMessage({ |
| | | // type: 'success', |
| | | // message: res.data.msg |
| | | // }); |
| | | // getListByPage() |
| | | // } else { |
| | | // ElMessage({ |
| | | // type: 'warning', |
| | | // message: res.data.msg |
| | | // }); |
| | | // state.deleteSetDialog = false |
| | | // } |
| | | // } |
| | | <!-- // const conFirmDeleteBatch = async () => {--> |
| | | <!-- // let res = await appVersionApi().deletBatchRecord({ids: state.deleteArr});--> |
| | | <!-- // if (res.data.code === '200') {--> |
| | | <!-- // state.deleteSetDialog = false--> |
| | | <!-- // ElMessage({--> |
| | | <!-- // type: 'success',--> |
| | | <!-- // message: res.data.msg--> |
| | | <!-- // });--> |
| | | <!-- // getListByPage()--> |
| | | <!-- // } else {--> |
| | | <!-- // ElMessage({--> |
| | | <!-- // type: 'warning',--> |
| | | <!-- // message: res.data.msg--> |
| | | <!-- // });--> |
| | | <!-- // state.deleteSetDialog = false--> |
| | | <!-- // }--> |
| | | <!-- // }--> |
| | | |
| | | const handleSizeChange = (val: number) => { |
| | | state.pageSize = val; |
| | | getListByPage(); |
| | | }; |
| | | const handleCurrentChange = (val: number) => { |
| | | state.pageIndex = val; |
| | | getListByPage(); |
| | | }; |
| | | <!-- const handleSizeChange = (val: number) => {--> |
| | | <!-- state.pageSize = val;--> |
| | | <!-- getListByPage();--> |
| | | <!-- };--> |
| | | <!-- const handleCurrentChange = (val: number) => {--> |
| | | <!-- state.pageIndex = val;--> |
| | | <!-- getListByPage();--> |
| | | <!-- };--> |
| | | |
| | | // 查看记录 |
| | | const viewRecord = (row) => { |
| | | state.details = JSON.parse(JSON.stringify(row)); |
| | | state.dialogDetails = true; |
| | | }; |
| | | <!-- // 查看记录--> |
| | | <!-- const viewRecord = (row) => {--> |
| | | <!-- state.details = JSON.parse(JSON.stringify(row));--> |
| | | <!-- state.dialogDetails = true;--> |
| | | <!-- };--> |
| | | |
| | | // 刷新 |
| | | const reLoadData = async () => { |
| | | getListByPage(); |
| | | }; |
| | | <!-- // 刷新--> |
| | | <!-- const reLoadData = async () => {--> |
| | | <!-- getListByPage();--> |
| | | <!-- };--> |
| | | |
| | | const closeAdd = () => { |
| | | state.addRecord = { |
| | | appType: 1, |
| | | name: '', |
| | | objectName: '', |
| | | info: '', |
| | | customVersion: '' |
| | | } |
| | | state.uploadUrl = '' |
| | | state.fileList = [] |
| | | state.chosenIndex = null; |
| | | }; |
| | | const openAdd = () => { |
| | | if (state.chosenIndex == null) { |
| | | state.addRecord.info = ''; |
| | | } |
| | | }; |
| | | const indexClear = () => { |
| | | state.deleteId = null; |
| | | }; |
| | | <!-- const closeAdd = () => {--> |
| | | <!-- state.addRecord = {--> |
| | | <!-- appType: 1,--> |
| | | <!-- name: '',--> |
| | | <!-- objectName: '',--> |
| | | <!-- info: '',--> |
| | | <!-- customVersion: ''--> |
| | | <!-- }--> |
| | | <!-- state.uploadUrl = ''--> |
| | | <!-- state.fileList = []--> |
| | | <!-- state.chosenIndex = null;--> |
| | | <!-- };--> |
| | | <!-- const openAdd = () => {--> |
| | | <!-- if (state.chosenIndex == null) {--> |
| | | <!-- state.addRecord.info = '';--> |
| | | <!-- }--> |
| | | <!-- };--> |
| | | <!-- const indexClear = () => {--> |
| | | <!-- state.deleteId = null;--> |
| | | <!-- };--> |
| | | |
| | | // 折线图 |
| | | const renderMenu = async (value: string) => { |
| | | Session.set('projectId', value); |
| | | userInfos.value.projectId = value; |
| | | await initBackEndControlRoutes(); |
| | | }; |
| | | return { |
| | | addRef, |
| | | addRules, |
| | | View, |
| | | Edit, |
| | | Delete, |
| | | Refresh, |
| | | Plus, |
| | | searchRecord, |
| | | clearSearch, |
| | | viewRecord, |
| | | deleteRecordBtn, |
| | | conFirmDelete, |
| | | getListByPage, |
| | | reLoadData, |
| | | deleteRecord, |
| | | showTip, |
| | | getUploadUrl, |
| | | upload, |
| | | beforeRemove, |
| | | handleSizeChange, |
| | | handleCurrentChange, |
| | | confirmAddRecord, |
| | | closeAdd, |
| | | openAdd, |
| | | indexClear, |
| | | editRecordBtn, |
| | | ...toRefs(state) |
| | | }; |
| | | } |
| | | }; |
| | | </script> |
| | | <!-- // 折线图--> |
| | | <!-- const renderMenu = async (value: string) => {--> |
| | | <!-- Session.set('projectId', value);--> |
| | | <!-- userInfos.value.projectId = value;--> |
| | | <!-- await initBackEndControlRoutes();--> |
| | | <!-- };--> |
| | | <!-- return {--> |
| | | <!-- addRef,--> |
| | | <!-- addRules,--> |
| | | <!-- View,--> |
| | | <!-- Edit,--> |
| | | <!-- Delete,--> |
| | | <!-- Refresh,--> |
| | | <!-- Plus,--> |
| | | <!-- searchRecord,--> |
| | | <!-- clearSearch,--> |
| | | <!-- viewRecord,--> |
| | | <!-- deleteRecordBtn,--> |
| | | <!-- conFirmDelete,--> |
| | | <!-- getListByPage,--> |
| | | <!-- reLoadData,--> |
| | | <!-- deleteRecord,--> |
| | | <!-- showTip,--> |
| | | <!-- getUploadUrl,--> |
| | | <!-- upload,--> |
| | | <!-- beforeRemove,--> |
| | | <!-- handleSizeChange,--> |
| | | <!-- handleCurrentChange,--> |
| | | <!-- confirmAddRecord,--> |
| | | <!-- closeAdd,--> |
| | | <!-- openAdd,--> |
| | | <!-- indexClear,--> |
| | | <!-- editRecordBtn,--> |
| | | <!-- ...toRefs(state)--> |
| | | <!-- };--> |
| | | <!-- }--> |
| | | <!--};--> |
| | | <!--</script>--> |
| | | |
| | | <style scoped lang="scss"> |
| | | $homeNavLengh: 8; |
| | | .home-container { |
| | | height: calc(100vh - 144px); |
| | | box-sizing: border-box; |
| | | overflow: hidden; |
| | | .homeCard { |
| | | width: 100%; |
| | | padding: 20px; |
| | | box-sizing: border-box; |
| | | background: #fff; |
| | | border-radius: 4px; |
| | | <!--<style scoped lang="scss">--> |
| | | <!--$homeNavLengh: 8;--> |
| | | <!--.home-container {--> |
| | | <!-- height: calc(100vh - 144px);--> |
| | | <!-- box-sizing: border-box;--> |
| | | <!-- overflow: hidden;--> |
| | | <!-- .homeCard {--> |
| | | <!-- width: 100%;--> |
| | | <!-- padding: 20px;--> |
| | | <!-- box-sizing: border-box;--> |
| | | <!-- background: #fff;--> |
| | | <!-- border-radius: 4px;--> |
| | | |
| | | .main-card { |
| | | width: 100%; |
| | | height: 100%; |
| | | .cardTop { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | margin-bottom: 20px; |
| | | .mainCardBtn { |
| | | margin: 0; |
| | | } |
| | | } |
| | | .pageBtn { |
| | | height: 60px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: right; |
| | | <!-- .main-card {--> |
| | | <!-- width: 100%;--> |
| | | <!-- height: 100%;--> |
| | | <!-- .cardTop {--> |
| | | <!-- display: flex;--> |
| | | <!-- align-items: center;--> |
| | | <!-- justify-content: space-between;--> |
| | | <!-- margin-bottom: 20px;--> |
| | | <!-- .mainCardBtn {--> |
| | | <!-- margin: 0;--> |
| | | <!-- }--> |
| | | <!-- }--> |
| | | <!-- .pageBtn {--> |
| | | <!-- height: 60px;--> |
| | | <!-- display: flex;--> |
| | | <!-- align-items: center;--> |
| | | <!-- justify-content: right;--> |
| | | |
| | | .demo-pagination-block + .demo-pagination-block { |
| | | margin-top: 10px; |
| | | } |
| | | .demo-pagination-block .demonstration { |
| | | margin-bottom: 16px; |
| | | } |
| | | } |
| | | } |
| | | &:last-of-type { |
| | | height: calc(100% - 100px); |
| | | } |
| | | } |
| | | .el-row { |
| | | display: flex; |
| | | align-items: center; |
| | | margin-bottom: 20px; |
| | | &:last-child { |
| | | margin-bottom: 0; |
| | | } |
| | | .grid-content { |
| | | align-items: center; |
| | | min-height: 36px; |
| | | } |
| | | <!-- .demo-pagination-block + .demo-pagination-block {--> |
| | | <!-- margin-top: 10px;--> |
| | | <!-- }--> |
| | | <!-- .demo-pagination-block .demonstration {--> |
| | | <!-- margin-bottom: 16px;--> |
| | | <!-- }--> |
| | | <!-- }--> |
| | | <!-- }--> |
| | | <!-- &:last-of-type {--> |
| | | <!-- height: calc(100% - 100px);--> |
| | | <!-- }--> |
| | | <!-- }--> |
| | | <!-- .el-row {--> |
| | | <!-- display: flex;--> |
| | | <!-- align-items: center;--> |
| | | <!-- margin-bottom: 20px;--> |
| | | <!-- &:last-child {--> |
| | | <!-- margin-bottom: 0;--> |
| | | <!-- }--> |
| | | <!-- .grid-content {--> |
| | | <!-- align-items: center;--> |
| | | <!-- min-height: 36px;--> |
| | | <!-- }--> |
| | | |
| | | .topInfo { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | font-size: 16px; |
| | | font-weight: bold; |
| | | <!-- .topInfo {--> |
| | | <!-- width: 100%;--> |
| | | <!-- display: flex;--> |
| | | <!-- align-items: center;--> |
| | | <!-- font-size: 16px;--> |
| | | <!-- font-weight: bold;--> |
| | | |
| | | & > div { |
| | | white-space: nowrap; |
| | | margin-right: 20px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .el-input { |
| | | width: 100% !important; |
| | | } |
| | | .el-date-editor::v-deep { |
| | | width: 100%; |
| | | } |
| | | .el-select { |
| | | width: 100% !important; |
| | | } |
| | | .el-tabs{ |
| | | width: 100%; |
| | | } |
| | | ::v-deep(.el-date-editor){ |
| | | width: 100%; |
| | | } |
| | | <!-- & > div {--> |
| | | <!-- white-space: nowrap;--> |
| | | <!-- margin-right: 20px;--> |
| | | <!-- }--> |
| | | <!-- }--> |
| | | <!-- }--> |
| | | <!--}--> |
| | | <!--.el-input {--> |
| | | <!-- width: 100% !important;--> |
| | | <!--}--> |
| | | <!--.el-date-editor::v-deep {--> |
| | | <!-- width: 100%;--> |
| | | <!--}--> |
| | | <!--.el-select {--> |
| | | <!-- width: 100% !important;--> |
| | | <!--}--> |
| | | <!--.el-tabs{--> |
| | | <!-- width: 100%;--> |
| | | <!--}--> |
| | | <!--::v-deep(.el-date-editor){--> |
| | | <!-- width: 100%;--> |
| | | <!--}--> |
| | | |
| | | :deep(.el-cascader){ |
| | | width: 100% !important; |
| | | } |
| | | </style> |
| | | <!--:deep(.el-cascader){--> |
| | | <!-- width: 100% !important;--> |
| | | <!--}--> |
| | | <!--</style>--> |