| | |
| | | <template> |
| | | <div style="padding: 10px"> |
| | | <el-card class="search-card" style="margin-bottom: 15px"> |
| | | <el-button |
| | | type="text" |
| | | @click="toggleAdvancedSearch" |
| | | style="font-size: 12px; color: #409eff" |
| | | > |
| | | {{ showAdvancedSearch ? "收起" : "更多" }} |
| | | <i |
| | | :class=" |
| | | showAdvancedSearch |
| | | ? 'el-icon-arrow-up' |
| | | : 'el-icon-arrow-down' |
| | | " |
| | | ></i> |
| | | </el-button> |
| | | <el-button type="text" @click="toggleAdvancedSearch" style="font-size: 12px; color: #409eff"> |
| | | {{ showAdvancedSearch ? "收起" : "更多" }} |
| | | <i :class="showAdvancedSearch |
| | | ? 'el-icon-arrow-up' |
| | | : 'el-icon-arrow-down' |
| | | "></i> |
| | | </el-button> |
| | | <div style="margin-top: 15px"> |
| | | <el-row :gutter="15"> |
| | | <el-col :span="6"> |
| | | <div style="display: flex; align-items: center"> |
| | | <span style="width: 200px; text-align: right; margin-right: 10px" |
| | | >驾驶员代码:</span |
| | | > |
| | | <el-input |
| | | v-model="queryParams.HNumber" |
| | | placeholder="请输入驾驶员代码" |
| | | size="small" |
| | | @keyup.enter.native="handleQuery" |
| | | clearable |
| | | /> |
| | | <span style="width: 200px; text-align: right; margin-right: 10px">驾驶员代码:</span> |
| | | <el-input v-model="queryParams.HNumber" placeholder="请输入驾驶员代码" size="small" |
| | | @keyup.enter.native="handleQuery" clearable /> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <div style="display: flex; align-items: center"> |
| | | <span style="width: 200px; text-align: right; margin-right: 10px" |
| | | >驾驶员名称:</span |
| | | > |
| | | <el-input |
| | | v-model="queryParams.HName" |
| | | placeholder="请输入驾驶员名称" |
| | | size="small" |
| | | @keyup.enter.native="handleQuery" |
| | | clearable |
| | | /> |
| | | <span style="width: 200px; text-align: right; margin-right: 10px">驾驶员名称:</span> |
| | | <el-input v-model="queryParams.HName" placeholder="请输入驾驶员名称" size="small" |
| | | @keyup.enter.native="handleQuery" clearable /> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <div style="display: flex; align-items: center"> |
| | | <span style="width: 100px; text-align: right; margin-right: 10px" |
| | | >组织:</span |
| | | > |
| | | <el-select |
| | | v-model="queryParams.HUSEORGID" |
| | | placeholder="请选择组织" |
| | | size="small" |
| | | style="width: 100%" |
| | | > |
| | | <el-option |
| | | v-for="(item, index) in organizationList" |
| | | :key="index" |
| | | :label="item.Name" |
| | | :value="item.ID" |
| | | > |
| | | <span style="width: 100px; text-align: right; margin-right: 10px">组织:</span> |
| | | <el-select v-model="queryParams.HUSEORGID" placeholder="请选择组织" size="small" style="width: 100%"> |
| | | <el-option v-for="(item, index) in organizationList" :key="index" :label="item.Name" :value="item.ID"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <div style="display: flex; align-items: center"> |
| | | <span style="width: 80px; text-align: right; margin-right: 10px" |
| | | >重新同步:</span |
| | | > |
| | | <el-input |
| | | v-model="queryParams.HSyncNumber" |
| | | placeholder="请输入驾驶员代码" |
| | | size="small" |
| | | @keyup.enter.native="handleSync" |
| | | clearable |
| | | style="flex: 1" |
| | | /> |
| | | <el-button |
| | | @click="handleSync" |
| | | size="small" |
| | | style="margin-left: 5px" |
| | | >同步</el-button |
| | | > |
| | | <span style="width: 80px; text-align: right; margin-right: 10px">重新同步:</span> |
| | | <el-input v-model="queryParams.HSyncNumber" placeholder="请输入驾驶员代码" size="small" |
| | | @keyup.enter.native="handleSync" clearable style="flex: 1" /> |
| | | <el-button @click="handleSync" size="small" style="margin-left: 5px">同步</el-button> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | <div class="search-header"> |
| | | <div style="display: flex; justify-content: space-between; align-items: center"> |
| | | <div> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | size="mini" |
| | | @click="handleQuery" |
| | | style="margin-right: 10px" |
| | | >搜索</el-button |
| | | > |
| | | <el-button |
| | | icon="el-icon-refresh" |
| | | size="mini" |
| | | @click="resetQuery" |
| | | style="margin-right: 10px" |
| | | >重置</el-button |
| | | > |
| | | <el-button |
| | | icon="el-icon-refresh" |
| | | size="mini" |
| | | @click="getList" |
| | | style="margin-right: 10px" |
| | | >刷新</el-button |
| | | > |
| | | <div class="search-header"> |
| | | <div style="display: flex; justify-content: space-between; align-items: center"> |
| | | <div> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery" |
| | | style="margin-right: 10px">搜索</el-button> |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" |
| | | style="margin-right: 10px">重置</el-button> |
| | | <el-button icon="el-icon-refresh" size="mini" @click="getList" style="margin-right: 10px">刷新</el-button> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <el-collapse-transition> |
| | | <div v-show="showAdvancedSearch"> |
| | | <div style="margin-top: 15px"> |
| | | <el-row :gutter="15"> |
| | | <div style="margin-bottom: 50px"> |
| | | <!-- 第一组过滤条件 --> |
| | | <el-col :span="24"> |
| | | <div style="display: flex; align-items: center"> |
| | | <el-select |
| | | v-model="queryParams.ColName" |
| | | placeholder="请选择" |
| | | size="small" |
| | | style="flex: 1" |
| | | > |
| | | <el-option label="" value="0"></el-option> |
| | | <el-option |
| | | v-for="(item, index) in filterColumnList" |
| | | :key="index" |
| | | :label="item.field" |
| | | :value="item.field" |
| | | v-if="!item.hide" |
| | | ></el-option> |
| | | </el-select> |
| | | <el-select |
| | | v-model="queryParams.Comparator" |
| | | placeholder="请选择" |
| | | size="small" |
| | | style="width: 100px; margin: 0 10px" |
| | | > |
| | | <el-option label="" value="0"></el-option> |
| | | <el-option |
| | | v-for="(item, index) in comparatorList" |
| | | :key="index" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | ></el-option> |
| | | </el-select> |
| | | <el-input |
| | | v-model="queryParams.ColContent" |
| | | placeholder="请输入" |
| | | size="small" |
| | | @keyup.enter.native="handleQuery" |
| | | clearable |
| | | style="flex: 1" |
| | | /> |
| | | </div> |
| | | </el-col> |
| | | <!-- 第一组过滤条件 --> |
| | | <el-col :span="24"> |
| | | <div style="display: flex; align-items: center"> |
| | | <el-select v-model="queryParams.ColName" placeholder="请选择" size="small" style="flex: 1"> |
| | | <el-option label="" value="0"></el-option> |
| | | <el-option v-for="(item, index) in filterColumnList" :key="index" :label="item.field" |
| | | :value="item.field" v-if="!item.hide"></el-option> |
| | | </el-select> |
| | | <el-select v-model="queryParams.Comparator" placeholder="请选择" size="small" |
| | | style="width: 100px; margin: 0 10px"> |
| | | <el-option label="" value="0"></el-option> |
| | | <el-option v-for="(item, index) in comparatorList" :key="index" :label="item.label" |
| | | :value="item.value"></el-option> |
| | | </el-select> |
| | | <el-input v-model="queryParams.ColContent" placeholder="请输入" size="small" |
| | | @keyup.enter.native="handleQuery" clearable style="flex: 1" /> |
| | | </div> |
| | | </el-col> |
| | | </div> |
| | | <div style="margin-bottom: 100px"> |
| | | <!-- 第二组过滤条件 --> |
| | | <el-col :span="24"> |
| | | <div style="display: flex; align-items: center"> |
| | | |
| | | <el-select |
| | | v-model="queryParams.ColName1" |
| | | placeholder="请选择" |
| | | size="small" |
| | | style="flex: 1" |
| | | > |
| | | <!-- <el-option label="" value="0"></el-option> --> |
| | | <el-option |
| | | v-for="(item, index) in filterColumnList" |
| | | :key="index" |
| | | :label="item.field" |
| | | :value="item.field" |
| | | v-if="!item.hide" |
| | | ></el-option> |
| | | </el-select> |
| | | <el-select |
| | | v-model="queryParams.Comparator1" |
| | | placeholder="请选择" |
| | | size="small" |
| | | style="width: 100px; margin: 0 10px" |
| | | > |
| | | <!-- <el-option label="" value="0"></el-option> --> |
| | | <el-option |
| | | v-for="(item, index) in comparatorList" |
| | | :key="index" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | ></el-option> |
| | | </el-select> |
| | | <el-input |
| | | v-model="queryParams.ColContent1" |
| | | placeholder="请输入" |
| | | size="small" |
| | | @keyup.enter.native="handleQuery" |
| | | clearable |
| | | style="flex: 1" |
| | | /> |
| | | </div> |
| | | </el-col> |
| | | <!-- 第二组过滤条件 --> |
| | | <el-col :span="24"> |
| | | <div style="display: flex; align-items: center"> |
| | | |
| | | <el-select v-model="queryParams.ColName1" placeholder="请选择" size="small" style="flex: 1"> |
| | | <!-- <el-option label="" value="0"></el-option> --> |
| | | <el-option v-for="(item, index) in filterColumnList" :key="index" :label="item.field" |
| | | :value="item.field" v-if="!item.hide"></el-option> |
| | | </el-select> |
| | | <el-select v-model="queryParams.Comparator1" placeholder="请选择" size="small" |
| | | style="width: 100px; margin: 0 10px"> |
| | | <!-- <el-option label="" value="0"></el-option> --> |
| | | <el-option v-for="(item, index) in comparatorList" :key="index" :label="item.label" |
| | | :value="item.value"></el-option> |
| | | </el-select> |
| | | <el-input v-model="queryParams.ColContent1" placeholder="请输入" size="small" |
| | | @keyup.enter.native="handleQuery" clearable style="flex: 1" /> |
| | | </div> |
| | | </el-col> |
| | | </div> |
| | | <div style="margin-bottom: 50px"> |
| | | <!-- 第三组过滤条件 --> |
| | | <el-col :span="24"> |
| | | <div style="display: flex; align-items: center"> |
| | | <el-select |
| | | v-model="queryParams.ColName2" |
| | | placeholder="请选择" |
| | | size="small" |
| | | style="flex: 1" |
| | | > |
| | | <!-- <el-option label="" value="0"></el-option> --> |
| | | <el-option |
| | | v-for="(item, index) in filterColumnList" |
| | | :key="index" |
| | | :label="item.field" |
| | | :value="item.field" |
| | | v-if="!item.hide" |
| | | ></el-option> |
| | | </el-select> |
| | | <el-select |
| | | v-model="queryParams.Comparator2" |
| | | placeholder="请选择" |
| | | size="big" |
| | | style="width: 100px; margin: 0 10px" |
| | | > |
| | | <el-option label="" value="0"></el-option> |
| | | <el-option |
| | | v-for="(item, index) in comparatorList" |
| | | :key="index" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | ></el-option> |
| | | </el-select> |
| | | <el-input |
| | | v-model="queryParams.ColContent2" |
| | | placeholder="请输入" |
| | | size="big" |
| | | @keyup.enter.native="handleQuery" |
| | | clearable |
| | | style="flex: 1" |
| | | /> |
| | | </div> |
| | | </el-col> |
| | | <!-- 第三组过滤条件 --> |
| | | <el-col :span="24"> |
| | | <div style="display: flex; align-items: center"> |
| | | <el-select v-model="queryParams.ColName2" placeholder="请选择" size="small" style="flex: 1"> |
| | | <!-- <el-option label="" value="0"></el-option> --> |
| | | <el-option v-for="(item, index) in filterColumnList" :key="index" :label="item.field" |
| | | :value="item.field" v-if="!item.hide"></el-option> |
| | | </el-select> |
| | | <el-select v-model="queryParams.Comparator2" placeholder="请选择" size="big" |
| | | style="width: 100px; margin: 0 10px"> |
| | | <el-option label="" value="0"></el-option> |
| | | <el-option v-for="(item, index) in comparatorList" :key="index" :label="item.label" |
| | | :value="item.value"></el-option> |
| | | </el-select> |
| | | <el-input v-model="queryParams.ColContent2" placeholder="请输入" size="big" |
| | | @keyup.enter.native="handleQuery" clearable style="flex: 1" /> |
| | | </div> |
| | | </el-col> |
| | | </div> |
| | | </el-row> |
| | | </div> |
| | | |
| | | <div |
| | | v-if="currentFilterScheme" |
| | | style=" |
| | | <div v-if="currentFilterScheme" style=" |
| | | margin-top: 15px; |
| | | padding: 10px; |
| | | background-color: #f0f9ff; |
| | | border-radius: 4px; |
| | | border-left: 4px solid #409eff; |
| | | " |
| | | > |
| | | "> |
| | | <span style="font-size: 14px; font-weight: bold; color: #fc9393"> |
| | | 当前过滤方案:{{ currentFilterScheme }} |
| | | </span> |
| | | <span |
| | | v-if="currentFilterRemark" |
| | | style="font-size: 13px; color: #7b90fb; margin-left: 10px" |
| | | > |
| | | <span v-if="currentFilterRemark" style="font-size: 13px; color: #7b90fb; margin-left: 10px"> |
| | | ({{ currentFilterRemark }}) |
| | | </span> |
| | | <el-button |
| | | type="text" |
| | | @click="handleSaveScheme" |
| | | size="mini" |
| | | style="margin-left: 20px" |
| | | >保存方案</el-button |
| | | > |
| | | <el-button |
| | | type="text" |
| | | @click="handleReadScheme" |
| | | size="mini" |
| | | >读取方案</el-button |
| | | > |
| | | <el-button |
| | | type="text" |
| | | @click="clearFilterScheme" |
| | | size="mini" |
| | | style="color: #f56c6c" |
| | | >清除方案</el-button |
| | | > |
| | | <el-button type="text" @click="handleSaveScheme" size="mini" style="margin-left: 20px">保存方案</el-button> |
| | | <el-button type="text" @click="handleReadScheme" size="mini">读取方案</el-button> |
| | | <el-button type="text" @click="clearFilterScheme" size="mini" style="color: #f56c6c">清除方案</el-button> |
| | | </div> |
| | | </div> |
| | | </el-collapse-transition> |
| | |
| | | |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-upload2" |
| | | size="mini" |
| | | @click="handleImport" |
| | | id="set_SouceExcel" |
| | | >导入</el-button |
| | | > |
| | | <el-button type="primary" plain icon="el-icon-upload2" size="mini" @click="handleImport" |
| | | id="set_SouceExcel">导入</el-button> |
| | | </el-col> |
| | | <!-- <el-col :span="1.5"> |
| | | <el-button |
| | |
| | | > |
| | | </el-col> --> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-plus" |
| | | size="mini" |
| | | @click="handleAddEdit((OperationType = 1))" |
| | | id="set_add" |
| | | >新增</el-button |
| | | > |
| | | <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAddEdit((OperationType = 1))" |
| | | id="set_add">新增</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-document-copy" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="handleCopy" |
| | | id="set_Copy" |
| | | >复制</el-button |
| | | > |
| | | <el-button type="primary" plain icon="el-icon-document-copy" size="mini" :disabled="single" @click="handleCopy" |
| | | id="set_Copy">复制</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-edit" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="handleEdit((row = rowForm), (OperationType = 3))" |
| | | id="set_show" |
| | | >编辑</el-button |
| | | > |
| | | <el-button type="primary" plain icon="el-icon-edit" size="mini" :disabled="single" |
| | | @click="handleEdit((row = rowForm), (OperationType = 3))" id="set_show">编辑</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-delete" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="handleDelete" |
| | | id="set_delete" |
| | | >删除</el-button |
| | | > |
| | | <el-button type="primary" plain icon="el-icon-delete" size="mini" :disabled="single" @click="handleDelete" |
| | | id="set_delete">删除</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-check" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="handleAudit(0)" |
| | | id="btn_audit" |
| | | >审核</el-button |
| | | > |
| | | <el-button type="primary" plain icon="el-icon-check" size="mini" :disabled="single" @click="handleAudit(0)" |
| | | id="btn_audit">审核</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-close" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="handleAudit(1)" |
| | | id="btn_deaudit" |
| | | >反审核</el-button |
| | | > |
| | | <el-button type="primary" plain icon="el-icon-close" size="mini" :disabled="single" @click="handleAudit(1)" |
| | | id="btn_deaudit">反审核</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-turn-off" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="handleStop(0)" |
| | | id="btn_stop" |
| | | >禁用</el-button |
| | | > |
| | | <el-button type="primary" plain icon="el-icon-turn-off" size="mini" :disabled="single" @click="handleStop(0)" |
| | | id="btn_stop">禁用</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-open" |
| | | size="mini" |
| | | :disabled="single" |
| | | @click="handleStop(1)" |
| | | id="btn_destop" |
| | | >反禁用</el-button |
| | | > |
| | | <el-button type="primary" plain icon="el-icon-open" size="mini" :disabled="single" @click="handleStop(1)" |
| | | id="btn_destop">反禁用</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-setting" |
| | | size="mini" |
| | | @click="handleRowHide" |
| | | id="set_hidecolumn" |
| | | >列设置</el-button |
| | | > |
| | | <el-button type="primary" plain icon="el-icon-setting" size="mini" @click="handleRowHide" |
| | | id="set_hidecolumn">列设置</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | icon="el-icon-s-operation" |
| | | size="mini" |
| | | @click="handleBtnHide" |
| | | id="HideButton" |
| | | >按钮设置</el-button |
| | | > |
| | | <el-button type="primary" plain icon="el-icon-s-operation" size="mini" @click="handleBtnHide" |
| | | id="HideButton">按钮设置</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <div class="tableBox" v-loading="loading"> |
| | | <el-table |
| | | :data="tableData" |
| | | ref="tableData" |
| | | max-height="650" |
| | | @selection-change="handleSelectionChange" |
| | | border |
| | | @row-click="handleRowClick" |
| | | :row-style="rowStyle" |
| | | @cell-dblclick="handleDblclick" |
| | | v-if="tableShow" |
| | | stripe |
| | | > |
| | | <el-table-column |
| | | type="selection" |
| | | width="55" |
| | | align="center" |
| | | fixed="left" |
| | | /> |
| | | <el-table :data="tableData" ref="tableData" max-height="650" @selection-change="handleSelectionChange" border |
| | | @row-click="handleRowClick" :row-style="rowStyle" @cell-dblclick="handleDblclick" v-if="tableShow" stripe> |
| | | <el-table-column type="selection" width="55" align="center" fixed="left" /> |
| | | <template v-for="(item, index) in btList"> |
| | | <el-table-column |
| | | :align="item.align" |
| | | :prop="item.field" |
| | | :label="item.title" |
| | | :width="item.width" |
| | | :key="item.field" |
| | | v-if="!item.hide && item.field !== 'checkbox'" |
| | | :sortable="item.sort" |
| | | show-overflow-tooltip |
| | | :fixed="item.fixed" |
| | | > |
| | | <el-table-column :align="item.align" :prop="item.field" :label="item.title" :width="item.width" |
| | | :key="item.field" v-if="!item.hide && item.field !== 'checkbox'" :sortable="item.sort" show-overflow-tooltip |
| | | :fixed="item.fixed"> |
| | | <template slot-scope="{ row, column }"> |
| | | <div :style="item.style"> |
| | | <!-- 日期格式化 --> |
| | | <span |
| | | v-if=" |
| | | column.property.includes('日期') || |
| | | column.property.includes('Date') |
| | | " |
| | | > |
| | | <span v-if=" |
| | | column.property.includes('日期') || |
| | | column.property.includes('Date') |
| | | "> |
| | | {{ parseTime(row[column.property], "{y}-{m}-{d}") }} |
| | | </span> |
| | | <el-button |
| | | type="text" |
| | | @click="handleDriverCodeClick(row)" |
| | | v-else-if="column.property === '驾驶员代码'" |
| | | style="color: #409eff" |
| | | >{{ row[column.property] }}</el-button |
| | | > |
| | | <span |
| | | v-else-if="column.property === '禁用标记'" |
| | | :style="{ |
| | | color: row[column.property] === 'Y' ? '#f56c6c' : '#67c23a', |
| | | fontWeight: |
| | | row[column.property] === 'Y' ? 'bold' : 'normal', |
| | | }" |
| | | > |
| | | <el-button type="text" @click="handleDriverCodeClick(row)" v-else-if="column.property === '驾驶员代码'" |
| | | style="color: #409eff">{{ row[column.property] }}</el-button> |
| | | <span v-else-if="column.property === '禁用标记'" :style="{ |
| | | color: row[column.property] === 'Y' ? '#f56c6c' : '#67c23a', |
| | | fontWeight: |
| | | row[column.property] === 'Y' ? 'bold' : 'normal', |
| | | }"> |
| | | {{ row[column.property] === "Y" ? "已禁用" : "正常" }} |
| | | </span> |
| | | <!-- 审核状态特殊样式 --> |
| | | <span |
| | | v-else-if="column.property === '审核人'" |
| | | :style="{ |
| | | color: row[column.property] ? '#67c23a' : '#909399', |
| | | }" |
| | | > |
| | | <span v-else-if="column.property === '审核人'" :style="{ |
| | | color: row[column.property] ? '#67c23a' : '#909399', |
| | | }"> |
| | | {{ row[column.property] || "未审核" }} |
| | | </span> |
| | | <span v-else>{{ row[column.property] }}</span> |
| | |
| | | </template> |
| | | </el-table> |
| | | |
| | | <pagination |
| | | v-show="total > 0" |
| | | :total="total" |
| | | :page.sync="page" |
| | | :limit.sync="pageSize" |
| | | :pageSizes="pageSizes" |
| | | @pagination="getList" |
| | | /> |
| | | <pagination v-show="total > 0" :total="total" :page.sync="page" :limit.sync="pageSize" :pageSizes="pageSizes" |
| | | @pagination="getList" /> |
| | | |
| | | <!-- 隐藏列设置弹窗 --> |
| | | <el-dialog |
| | | title="隐藏列设置" |
| | | :visible.sync="openRowHide" |
| | | width="816px" |
| | | append-to-body |
| | | > |
| | | <RowSettings |
| | | :colName="btResList" |
| | | :HModName="HModName" |
| | | @rowEditClose="rowSetClose" |
| | | v-if="rowHideShow" |
| | | /> |
| | | <el-dialog title="隐藏列设置" :visible.sync="openRowHide" width="816px" append-to-body> |
| | | <RowSettings :colName="btResList" :HModName="HModName" @rowEditClose="rowSetClose" v-if="rowHideShow" /> |
| | | </el-dialog> |
| | | |
| | | <!-- 编辑弹窗 --> |
| | | <el-dialog |
| | | :title="editDialogTitle" |
| | | :visible.sync="openEdit" |
| | | width="1480px" |
| | | append-to-body |
| | | class="driver-edit-dialog" |
| | | :before-close="closeEditDialog" |
| | | :close-on-click-modal="false" |
| | | > |
| | | <GyDriverEdit |
| | | :OperationType="OperationType" |
| | | :linterid="rowForm.HItemID" |
| | | :HSouceBillType="''" |
| | | @editCloseGy="editGyClose" |
| | | v-if="editShow" |
| | | ref="editComponent" |
| | | /> |
| | | <el-dialog :title="editDialogTitle" :visible.sync="openEdit" width="1480px" append-to-body |
| | | class="driver-edit-dialog" :before-close="closeEditDialog" :close-on-click-modal="false"> |
| | | <GyDriverEdit :OperationType="OperationType" :linterid="rowForm.HItemID" :HSouceBillType="''" |
| | | @editCloseGy="editGyClose" v-if="editShow" ref="editComponent" /> |
| | | <span slot="footer" class="dialog-footer" v-if="OperationType !== 4"> |
| | | <!-- <el-button @click="closeEditDialog">取 消</el-button> |
| | | <el-button type="primary" @click="saveDriverData">保 存</el-button> --> |
| | |
| | | </el-dialog> |
| | | |
| | | <!-- 导入弹窗 --> |
| | | <el-dialog |
| | | :title="upload.title" |
| | | :visible.sync="upload.open" |
| | | width="1500px" |
| | | append-to-body |
| | | > |
| | | <el-dialog :title="upload.title" :visible.sync="upload.open" width="1500px" append-to-body> |
| | | <div style="margin-top: -20px"> |
| | | <el-button type="primary" @click="set_AddNew">导入数据</el-button> |
| | | <el-button type="primary" @click="upload.open = false">退 出</el-button> |
| | | <el-upload |
| | | ref="upload" |
| | | :limit="1" |
| | | accept=".xlsx, .xls" |
| | | style="display: inline-block; margin-left: 10px" |
| | | :action="upload.url + '?updateSupport=' + upload.updateSupport" |
| | | :disabled="upload.isUploading" |
| | | :on-progress="handleFileUploadProgress" |
| | | :on-success="handleFileSuccess" |
| | | > |
| | | <el-upload ref="upload" :limit="1" accept=".xlsx, .xls" style="display: inline-block; margin-left: 10px" |
| | | :action="upload.url + '?updateSupport=' + upload.updateSupport" :disabled="upload.isUploading" |
| | | :on-progress="handleFileUploadProgress" :on-success="handleFileSuccess"> |
| | | <el-button type="primary">文件上传</el-button> |
| | | </el-upload> |
| | | </div> |
| | | <el-table |
| | | :data="uploadData" |
| | | v-loading="uploadTableLoading" |
| | | :row-class-name="uploadDataIndex" |
| | | border |
| | | height="550" |
| | | > |
| | | <el-table-column |
| | | type="index" |
| | | label="序号" |
| | | width="55" |
| | | align="center" |
| | | /> |
| | | <el-table-column |
| | | label="驾驶员代码" |
| | | prop="驾驶员代码" |
| | | align="center" |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | | label="驾驶员名称" |
| | | prop="驾驶员名称" |
| | | align="center" |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | | label="联系电话" |
| | | prop="联系电话" |
| | | align="center" |
| | | width="120" |
| | | /> |
| | | <el-table-column |
| | | label="驾驶证号" |
| | | prop="驾驶证号" |
| | | align="center" |
| | | width="120" |
| | | /> |
| | | <el-table :data="uploadData" v-loading="uploadTableLoading" :row-class-name="uploadDataIndex" border |
| | | height="550"> |
| | | <el-table-column type="index" label="序号" width="55" align="center" /> |
| | | <el-table-column label="驾驶员代码" prop="驾驶员代码" align="center" width="120" /> |
| | | <el-table-column label="驾驶员名称" prop="驾驶员名称" align="center" width="120" /> |
| | | <el-table-column label="联系电话" prop="联系电话" align="center" width="120" /> |
| | | <el-table-column label="驾驶证号" prop="驾驶证号" align="center" width="120" /> |
| | | <el-table-column label="操作" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-delete" |
| | | @click="uploadDataDelete(scope.row)" |
| | | >删除</el-button |
| | | > |
| | | <el-button size="mini" type="text" icon="el-icon-delete" |
| | | @click="uploadDataDelete(scope.row)">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | v-show="uploadTotal > 0" |
| | | :total="uploadTotal" |
| | | :page.sync="uploadPage" |
| | | :limit.sync="uploadPageSize" |
| | | :pageSizes="uploadPageSizes" |
| | | @pagination="currentPage" |
| | | /> |
| | | <pagination v-show="uploadTotal > 0" :total="uploadTotal" :page.sync="uploadPage" :limit.sync="uploadPageSize" |
| | | :pageSizes="uploadPageSizes" @pagination="currentPage" /> |
| | | </el-dialog> |
| | | |
| | | <!-- 过滤方案弹窗 --> |
| | | <el-dialog |
| | | title="过滤方案列表" |
| | | :visible.sync="openFilterScheme" |
| | | width="80%" |
| | | append-to-body |
| | | > |
| | | <el-dialog title="过滤方案列表" :visible.sync="openFilterScheme" width="80%" append-to-body> |
| | | <div style="height: 500px; overflow: auto"> |
| | | <el-table |
| | | :data="filterSchemeList" |
| | | border |
| | | style="width: 100%" |
| | | @row-click="selectFilterScheme" |
| | | > |
| | | <el-table-column |
| | | prop="方案名称" |
| | | label="方案名称" |
| | | width="200" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="备注" |
| | | label="备注" |
| | | width="300" |
| | | ></el-table-column> |
| | | <el-table :data="filterSchemeList" border style="width: 100%" @row-click="selectFilterScheme"> |
| | | <el-table-column prop="方案名称" label="方案名称" width="200"></el-table-column> |
| | | <el-table-column prop="备注" label="备注" width="300"></el-table-column> |
| | | <el-table-column prop="创建人" label="创建人" width="120"></el-table-column> |
| | | <el-table-column |
| | | prop="创建日期" |
| | | label="创建日期" |
| | | width="150" |
| | | ></el-table-column> |
| | | <el-table-column prop="创建日期" label="创建日期" width="150"></el-table-column> |
| | | <el-table-column label="操作" width="150" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | type="text" |
| | | size="mini" |
| | | @click="applyFilterScheme(scope.row)" |
| | | >应用</el-button |
| | | > |
| | | <el-button |
| | | type="text" |
| | | size="mini" |
| | | @click="deleteFilterScheme(scope.row)" |
| | | style="color: #f56c6c" |
| | | >删除</el-button |
| | | > |
| | | <el-button type="text" size="mini" @click="applyFilterScheme(scope.row)">应用</el-button> |
| | | <el-button type="text" size="mini" @click="deleteFilterScheme(scope.row)" |
| | | style="color: #f56c6c">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="confirmFilterScheme">确 定</el-button> |
| | | <el-button @click="openFilterScheme = false">取 消</el-button> |
| | | |
| | | |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | |
| | | { label: "不包含", value: "10" }, |
| | | ], |
| | | |
| | | |
| | | |
| | | sWhere: "", |
| | | organizationList: [], |
| | | filterColumnList: [], |
| | |
| | | async initData() { |
| | | try { |
| | | const userRes = await axios.get( |
| | | `${this.$baseUrl}/Web/GetUser?UserName=${ |
| | | sessionStorage.getItem("UserName") || "001" |
| | | `${this.$baseUrl}/Web/GetUser?UserName=${sessionStorage.getItem("UserName") || "001" |
| | | }&PassWord=123456&HOrgName=100038` |
| | | ); |
| | | if (userRes.data.data && userRes.data.data[0]) { |
| | |
| | | async getList() { |
| | | this.tableShow = false; |
| | | this.loading = true; |
| | | console.log("获取列表数据...",this.sWhere ); |
| | | console.log("获取列表数据...", this.sWhere); |
| | | try { |
| | | const params = { |
| | | sWhere: this.sWhere || "", |
| | |
| | | // conditions.push(`HUSEORGID = '${this.queryParams.HUSEORGID}'`); |
| | | // } |
| | | |
| | | |
| | | |
| | | if (this.queryParams.ColName !== "0" && this.queryParams.Comparator !== "0") { |
| | | const condition = this.buildCondition( |
| | | this.queryParams.ColName, |
| | |
| | | if (condition) conditions.push(condition); |
| | | } |
| | | |
| | | |
| | | |
| | | if ( |
| | | this.queryParams.ColName1 !== "0" && |
| | | this.queryParams.Comparator1 !== "0" |
| | |
| | | if (condition) conditions.push(condition); |
| | | } |
| | | |
| | | |
| | | |
| | | if (conditions.length > 0) { |
| | | this.sWhere ="and "+conditions; |
| | | this.sWhere = "and " + conditions; |
| | | } |
| | | console.log("查询条件:", this.sWhere); |
| | | //this.sWhere += this.addSWhereByOpenType(); |
| | | |
| | | this.page = 1; |
| | | this.page = 1; |
| | | this.getList(); |
| | | }, |
| | | |
| | |
| | | if (!content) return null; |
| | | |
| | | switch (comparator) { |
| | | case "7": |
| | | case "7": |
| | | return `${colName} like '%${content}%'`; |
| | | case "8": |
| | | case "8": |
| | | return `${colName} like '%${content}'`; |
| | | case "9": |
| | | case "9": |
| | | return `${colName} like '${content}%'`; |
| | | case "10": |
| | | case "10": |
| | | return `${colName} not like '%${content}%'`; |
| | | default: |
| | | default: |
| | | return `${colName} ${comparator} '${content}'`; |
| | | } |
| | | }, |
| | |
| | | // 点击行 |
| | | handleRowClick(row) { |
| | | this.$refs.tableData.toggleRowSelection(row); |
| | | if (this.openPage) { |
| | | this.$emit('deptEmit', row, 15) |
| | | } |
| | | }, |
| | | |
| | | // 行样式 |
| | |
| | | ); |
| | | }, |
| | | |
| | | |
| | | |
| | | parseTime(time, cFormat) { |
| | | if (arguments.length === 0) { |
| | | return null; |
| | |
| | | applyFilterScheme(row) { |
| | | this.currentFilterScheme = row.方案名称; |
| | | this.currentFilterRemark = row.备注; |
| | | |
| | | |
| | | // 这里应该根据方案内容设置查询条件 |
| | | // 由于方案数据结构复杂,这里只做简单演示 |
| | | this.$modal.msgSuccess(`已应用方案:${row.方案名称}`); |
| | |
| | | async deleteFilterScheme(row) { |
| | | try { |
| | | await this.$modal.confirm(`确认要删除方案"${row.方案名称}"吗?`); |
| | | |
| | | |
| | | const res = await axios.post(`${this.$baseUrl}/Xt_FastICScheme/delete`, { |
| | | HInterID: row.hmainid, |
| | | }); |