|
@@ -2,29 +2,59 @@
|
|
|
<div class="content-box">
|
|
<div class="content-box">
|
|
|
<div class="left">
|
|
<div class="left">
|
|
|
<!-- <el-icon :size="23" class="camera"><VideoCameraFilled /></el-icon> -->
|
|
<!-- <el-icon :size="23" class="camera"><VideoCameraFilled /></el-icon> -->
|
|
|
- <span class="cameratxt" @click="getList(1)" :class="themeIndex == 1 ? 'is_active' : ''">时段设置</span>
|
|
|
|
|
- <span class="cameratxt" @click="getList(2)" :class="themeIndex == 2 ? 'is_active' : ''">排班设置</span>
|
|
|
|
|
|
|
+ <span
|
|
|
|
|
+ class="cameratxt"
|
|
|
|
|
+ @click="getList(1)"
|
|
|
|
|
+ :class="themeIndex == 1 ? 'is_active' : ''"
|
|
|
|
|
+ >时段设置</span
|
|
|
|
|
+ >
|
|
|
|
|
+ <span
|
|
|
|
|
+ class="cameratxt"
|
|
|
|
|
+ @click="getList(2)"
|
|
|
|
|
+ :class="themeIndex == 2 ? 'is_active' : ''"
|
|
|
|
|
+ >排班设置</span
|
|
|
|
|
+ >
|
|
|
</div>
|
|
</div>
|
|
|
<div v-if="themeIndex == 1" v-loading="loading1">
|
|
<div v-if="themeIndex == 1" v-loading="loading1">
|
|
|
<div class="middle">
|
|
<div class="middle">
|
|
|
<!-- 按钮列表 -->
|
|
<!-- 按钮列表 -->
|
|
|
<div class="gongneng" style="margin-top: 20px">
|
|
<div class="gongneng" style="margin-top: 20px">
|
|
|
- <el-button type="primary" color="rgba(111, 182, 184, 1)" @click="addlist"><img src="@/assets/add.png"
|
|
|
|
|
- style="width: 14px; height: 14px; margin-right: 4px" alt="" /><span>添加时段</span></el-button>
|
|
|
|
|
|
|
+ <el-button
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ color="rgba(111, 182, 184, 1)"
|
|
|
|
|
+ @click="addlist"
|
|
|
|
|
+ ><img
|
|
|
|
|
+ src="@/assets/add.png"
|
|
|
|
|
+ style="width: 14px; height: 14px; margin-right: 4px"
|
|
|
|
|
+ alt=""
|
|
|
|
|
+ /><span>添加时段</span></el-button
|
|
|
|
|
+ >
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="footer">
|
|
<div class="footer">
|
|
|
- <el-table :row-class-name="tableRowClassName" :data="tableData.list" style="width: 100%" :header-cell-style="{
|
|
|
|
|
- background: 'rgba(240, 243, 247, 1)',
|
|
|
|
|
- height: '50px',
|
|
|
|
|
- border: 0,
|
|
|
|
|
- }">
|
|
|
|
|
|
|
+ <el-table
|
|
|
|
|
+ :row-class-name="tableRowClassName"
|
|
|
|
|
+ :data="tableData.list"
|
|
|
|
|
+ style="width: 100%"
|
|
|
|
|
+ :header-cell-style="{
|
|
|
|
|
+ background: 'rgba(240, 243, 247, 1)',
|
|
|
|
|
+ height: '50px',
|
|
|
|
|
+ border: 0,
|
|
|
|
|
+ }"
|
|
|
|
|
+ >
|
|
|
<!-- <el-table-column align="center" type="selection" width="80" /> -->
|
|
<!-- <el-table-column align="center" type="selection" width="80" /> -->
|
|
|
- <el-table-column width="150" align="center " type="index" label="序号" />
|
|
|
|
|
|
|
+ <el-table-column
|
|
|
|
|
+ width="150"
|
|
|
|
|
+ align="center "
|
|
|
|
|
+ type="index"
|
|
|
|
|
+ label="序号"
|
|
|
|
|
+ />
|
|
|
<el-table-column align="center" prop="name" label="名称" />
|
|
<el-table-column align="center" prop="name" label="名称" />
|
|
|
<el-table-column align="center" prop="color" label="颜色">
|
|
<el-table-column align="center" prop="color" label="颜色">
|
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
|
- <el-button :color="scope.row.color" :link="false"> </el-button>
|
|
|
|
|
|
|
+ <el-button :color="scope.row.color" :link="false"
|
|
|
|
|
+ > </el-button
|
|
|
|
|
+ >
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
<el-table-column align="center" label="起止时间">
|
|
<el-table-column align="center" label="起止时间">
|
|
@@ -37,8 +67,16 @@
|
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
|
<div class="edit">
|
|
<div class="edit">
|
|
|
<div class="look" @click="editTime(scope.row)">编辑</div>
|
|
<div class="look" @click="editTime(scope.row)">编辑</div>
|
|
|
- <el-popconfirm width="220" confirm-button-text="确认" cancel-button-text="取消" :icon="InfoFilled"
|
|
|
|
|
- icon-color="#f89626" title="是否删除?" @confirm="delTime(scope.row)" @cancel="cencelTime">
|
|
|
|
|
|
|
+ <el-popconfirm
|
|
|
|
|
+ width="220"
|
|
|
|
|
+ confirm-button-text="确认"
|
|
|
|
|
+ cancel-button-text="取消"
|
|
|
|
|
+ :icon="InfoFilled"
|
|
|
|
|
+ icon-color="#f89626"
|
|
|
|
|
+ title="是否删除?"
|
|
|
|
|
+ @confirm="delTime(scope.row)"
|
|
|
|
|
+ @cancel="cencelTime"
|
|
|
|
|
+ >
|
|
|
<template #reference>
|
|
<template #reference>
|
|
|
<div class="look">删除</div>
|
|
<div class="look">删除</div>
|
|
|
</template>
|
|
</template>
|
|
@@ -49,19 +87,50 @@
|
|
|
</el-table>
|
|
</el-table>
|
|
|
|
|
|
|
|
<!-- 添加时段弹窗 -->
|
|
<!-- 添加时段弹窗 -->
|
|
|
- <el-dialog class="addStaff" v-model="addDialogVisible" :close-on-click-modal="false"
|
|
|
|
|
- :close-on-press-escape="false" :title="dialongTitle" align-center width="609" :before-close="cancelAdd">
|
|
|
|
|
- <el-form ref="ruleFormRef" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm"
|
|
|
|
|
- :size="formSize" label-position="left" status-icon>
|
|
|
|
|
|
|
+ <el-dialog
|
|
|
|
|
+ class="addStaff"
|
|
|
|
|
+ v-model="addDialogVisible"
|
|
|
|
|
+ :close-on-click-modal="false"
|
|
|
|
|
+ :close-on-press-escape="false"
|
|
|
|
|
+ :title="dialongTitle"
|
|
|
|
|
+ align-center
|
|
|
|
|
+ width="609"
|
|
|
|
|
+ :before-close="cancelAdd"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-form
|
|
|
|
|
+ ref="ruleFormRef"
|
|
|
|
|
+ :model="ruleForm"
|
|
|
|
|
+ :rules="rules"
|
|
|
|
|
+ label-width="100px"
|
|
|
|
|
+ class="demo-ruleForm"
|
|
|
|
|
+ :size="formSize"
|
|
|
|
|
+ label-position="left"
|
|
|
|
|
+ status-icon
|
|
|
|
|
+ >
|
|
|
<el-form-item label="班次名称 :" prop="name">
|
|
<el-form-item label="班次名称 :" prop="name">
|
|
|
- <el-input clearable v-model="ruleForm.name" placeholder="请输入班次名称" />
|
|
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ clearable
|
|
|
|
|
+ v-model="ruleForm.name"
|
|
|
|
|
+ placeholder="请输入班次名称"
|
|
|
|
|
+ />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="颜色 :" prop="color">
|
|
<el-form-item label="颜色 :" prop="color">
|
|
|
<div class="colorSelect">
|
|
<div class="colorSelect">
|
|
|
<ul>
|
|
<ul>
|
|
|
- <li :class="i.flag == 1 ? 'li_active' : ''" v-for="i in ruleFormColor.list">
|
|
|
|
|
- <div class="item" :class="`item${i.id}`" @click="selectColor(i)">
|
|
|
|
|
- <img v-if="i.id == colorInd" src="@/assets/colorSelect.png" alt="" />
|
|
|
|
|
|
|
+ <li
|
|
|
|
|
+ :class="i.flag == 1 ? 'li_active' : ''"
|
|
|
|
|
+ v-for="i in ruleFormColor.list"
|
|
|
|
|
+ >
|
|
|
|
|
+ <div
|
|
|
|
|
+ class="item"
|
|
|
|
|
+ :class="`item${i.id}`"
|
|
|
|
|
+ @click="selectColor(i)"
|
|
|
|
|
+ >
|
|
|
|
|
+ <img
|
|
|
|
|
+ v-if="i.id == colorInd"
|
|
|
|
|
+ src="@/assets/colorSelect.png"
|
|
|
|
|
+ alt=""
|
|
|
|
|
+ />
|
|
|
</div>
|
|
</div>
|
|
|
</li>
|
|
</li>
|
|
|
</ul>
|
|
</ul>
|
|
@@ -69,33 +138,77 @@
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="时间 :" prop="snTime">
|
|
<el-form-item label="时间 :" prop="snTime">
|
|
|
<div>
|
|
<div>
|
|
|
- <el-time-picker v-model="ruleForm.snTime" type="daterange" range-separator="-" start-placeholder="起始时间"
|
|
|
|
|
- end-placeholder="结束时间" format="HH:mm" value-format="HH:mm" :prefix-icon="Calendar" is-range
|
|
|
|
|
- placeholder="请选择日期" />
|
|
|
|
|
|
|
+ <el-time-picker
|
|
|
|
|
+ v-model="ruleForm.snTime"
|
|
|
|
|
+ type="daterange"
|
|
|
|
|
+ range-separator="-"
|
|
|
|
|
+ start-placeholder="起始时间"
|
|
|
|
|
+ end-placeholder="结束时间"
|
|
|
|
|
+ format="HH:mm"
|
|
|
|
|
+ value-format="HH:mm"
|
|
|
|
|
+ :prefix-icon="Calendar"
|
|
|
|
|
+ is-range
|
|
|
|
|
+ placeholder="请选择日期"
|
|
|
|
|
+ />
|
|
|
</div>
|
|
</div>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="非工作时间 :" prop="noworkTime">
|
|
<el-form-item label="非工作时间 :" prop="noworkTime">
|
|
|
- <div class="noworkTime" v-for="(item, index) in ruleForm.noworkTime">
|
|
|
|
|
- <el-time-picker v-model="item.time" type="daterange" range-separator="-" start-placeholder="起始时间"
|
|
|
|
|
- end-placeholder="结束时间" format="HH:mm" value-format="HH:mm" :prefix-icon="Calendar" is-range
|
|
|
|
|
- placeholder="请选择日期" />
|
|
|
|
|
- <img @click="delNotWork(index)" v-if="ruleForm.noworkTime.length != 1" src="@/assets/noworkTime.png"
|
|
|
|
|
- alt="" />
|
|
|
|
|
- <img @click="addNotWork" v-if="index == ruleForm.noworkTime.length - 1" src="@/assets/workTime.png"
|
|
|
|
|
- alt="" />
|
|
|
|
|
|
|
+ <div
|
|
|
|
|
+ class="noworkTime"
|
|
|
|
|
+ v-for="(item, index) in ruleForm.noworkTime"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-time-picker
|
|
|
|
|
+ v-model="item.time"
|
|
|
|
|
+ type="daterange"
|
|
|
|
|
+ range-separator="-"
|
|
|
|
|
+ start-placeholder="起始时间"
|
|
|
|
|
+ end-placeholder="结束时间"
|
|
|
|
|
+ format="HH:mm"
|
|
|
|
|
+ value-format="HH:mm"
|
|
|
|
|
+ :prefix-icon="Calendar"
|
|
|
|
|
+ is-range
|
|
|
|
|
+ placeholder="请选择日期"
|
|
|
|
|
+ />
|
|
|
|
|
+ <img
|
|
|
|
|
+ @click="delNotWork(index)"
|
|
|
|
|
+ v-if="ruleForm.noworkTime.length != 1"
|
|
|
|
|
+ src="@/assets/noworkTime.png"
|
|
|
|
|
+ alt=""
|
|
|
|
|
+ />
|
|
|
|
|
+ <img
|
|
|
|
|
+ @click="addNotWork"
|
|
|
|
|
+ v-if="index == ruleForm.noworkTime.length - 1"
|
|
|
|
|
+ src="@/assets/workTime.png"
|
|
|
|
|
+ alt=""
|
|
|
|
|
+ />
|
|
|
</div>
|
|
</div>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item label="是否值班 :" prop="isDuty" style="
|
|
|
|
|
|
|
+ <el-form-item
|
|
|
|
|
+ label="是否值班 :"
|
|
|
|
|
+ prop="isDuty"
|
|
|
|
|
+ style="
|
|
|
padding-bottom: 40px;
|
|
padding-bottom: 40px;
|
|
|
border-bottom: 1px solid rgba(230, 230, 230, 1);
|
|
border-bottom: 1px solid rgba(230, 230, 230, 1);
|
|
|
- ">
|
|
|
|
|
- <el-switch v-model="ruleForm.isDuty" class="ml-2" style="--el-switch-on-color: rgba(111, 182, 184, 1)" />
|
|
|
|
|
|
|
+ "
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-switch
|
|
|
|
|
+ v-model="ruleForm.isDuty"
|
|
|
|
|
+ class="ml-2"
|
|
|
|
|
+ style="--el-switch-on-color: rgba(111, 182, 184, 1)"
|
|
|
|
|
+ />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item class="options">
|
|
<el-form-item class="options">
|
|
|
- <el-button color="rgba(111, 182, 184, 1)" class="queding" type="primary" @click="submitAdd(ruleFormRef)">
|
|
|
|
|
|
|
+ <el-button
|
|
|
|
|
+ color="rgba(111, 182, 184, 1)"
|
|
|
|
|
+ class="queding"
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ @click="submitAdd(ruleFormRef)"
|
|
|
|
|
+ >
|
|
|
确定
|
|
确定
|
|
|
</el-button>
|
|
</el-button>
|
|
|
- <el-button class="congzhi" @click="cancelAdd(ruleFormRef)">取消</el-button>
|
|
|
|
|
|
|
+ <el-button class="congzhi" @click="cancelAdd(ruleFormRef)"
|
|
|
|
|
+ >取消</el-button
|
|
|
|
|
+ >
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-form>
|
|
</el-form>
|
|
|
</el-dialog>
|
|
</el-dialog>
|
|
@@ -104,8 +217,14 @@
|
|
|
<!-- 分页组件 -->
|
|
<!-- 分页组件 -->
|
|
|
<div class="pageSize">
|
|
<div class="pageSize">
|
|
|
<span></span>
|
|
<span></span>
|
|
|
- <el-pagination background :current-page="currentPage" :page-size="pageSize"
|
|
|
|
|
- layout="total, prev, pager, next, jumper, slot" :total="total" @update:current-page="handleCurrentChange" />
|
|
|
|
|
|
|
+ <el-pagination
|
|
|
|
|
+ background
|
|
|
|
|
+ :current-page="currentPage"
|
|
|
|
|
+ :page-size="pageSize"
|
|
|
|
|
+ layout="total, prev, pager, next, jumper, slot"
|
|
|
|
|
+ :total="total"
|
|
|
|
|
+ @update:current-page="handleCurrentChange"
|
|
|
|
|
+ />
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div v-else-if="themeIndex == 2" v-loading="loading2">
|
|
<div v-else-if="themeIndex == 2" v-loading="loading2">
|
|
@@ -113,14 +232,29 @@
|
|
|
<div class="filter">
|
|
<div class="filter">
|
|
|
<div class="condition">
|
|
<div class="condition">
|
|
|
<span>创建时间 : </span>
|
|
<span>创建时间 : </span>
|
|
|
- <el-date-picker v-model="searchInput.createTime" type="daterange" range-separator="-" start-placeholder="起始时间"
|
|
|
|
|
- end-placeholder="结束时间" format="YYYY-MM-DD" value-format="YYYY-MM-DD" :prefix-icon="Calendar"
|
|
|
|
|
- placeholder="请选择日期" />
|
|
|
|
|
|
|
+ <el-date-picker
|
|
|
|
|
+ v-model="searchInput.createTime"
|
|
|
|
|
+ type="daterange"
|
|
|
|
|
+ range-separator="-"
|
|
|
|
|
+ start-placeholder="起始时间"
|
|
|
|
|
+ end-placeholder="结束时间"
|
|
|
|
|
+ format="YYYY-MM-DD"
|
|
|
|
|
+ value-format="YYYY-MM-DD"
|
|
|
|
|
+ :prefix-icon="Calendar"
|
|
|
|
|
+ placeholder="请选择日期"
|
|
|
|
|
+ />
|
|
|
</div>
|
|
</div>
|
|
|
- <el-button style="margin-left: 20px" color="rgba(111, 182, 184, 1)" type="primary" class="search"
|
|
|
|
|
- @click="searchBtn"><el-icon>
|
|
|
|
|
|
|
+ <el-button
|
|
|
|
|
+ style="margin-left: 20px"
|
|
|
|
|
+ color="rgba(111, 182, 184, 1)"
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ class="search"
|
|
|
|
|
+ @click="searchBtn"
|
|
|
|
|
+ ><el-icon>
|
|
|
<Search />
|
|
<Search />
|
|
|
- </el-icon> <span>查询</span></el-button>
|
|
|
|
|
|
|
+ </el-icon>
|
|
|
|
|
+ <span>查询</span></el-button
|
|
|
|
|
+ >
|
|
|
</div>
|
|
</div>
|
|
|
<!-- 按钮列表 -->
|
|
<!-- 按钮列表 -->
|
|
|
<div class="gongneng">
|
|
<div class="gongneng">
|
|
@@ -134,46 +268,106 @@
|
|
|
alt=""
|
|
alt=""
|
|
|
/><span>添加人员</span></el-button
|
|
/><span>添加人员</span></el-button
|
|
|
> -->
|
|
> -->
|
|
|
- <el-button type="primary" color="rgba(111, 182, 184, 1)" @click="importTemp"><span>导入模板下载</span></el-button>
|
|
|
|
|
- <el-button color="rgba(111, 182, 184, 1)" class="import" type="primary" @click="importFile"><img
|
|
|
|
|
- src="@/assets/toLead.png" style="width: 24px; height: 22px" alt="" />
|
|
|
|
|
- <span>导入</span></el-button>
|
|
|
|
|
- <el-button color="rgba(111, 182, 184, 1)" class="import" type="primary" @click="importExcel"><img
|
|
|
|
|
- src="@/assets/import.png" style="width: 14px; height: 14px; margin-right: 4px" alt="" />
|
|
|
|
|
- <span>导出</span></el-button>
|
|
|
|
|
|
|
+ <el-button
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ color="rgba(111, 182, 184, 1)"
|
|
|
|
|
+ @click="importTemp"
|
|
|
|
|
+ ><span>导入模板下载</span></el-button
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-button
|
|
|
|
|
+ color="rgba(111, 182, 184, 1)"
|
|
|
|
|
+ class="import"
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ @click="importFile"
|
|
|
|
|
+ ><img
|
|
|
|
|
+ src="@/assets/toLead.png"
|
|
|
|
|
+ style="width: 24px; height: 22px"
|
|
|
|
|
+ alt=""
|
|
|
|
|
+ />
|
|
|
|
|
+ <span>导入</span></el-button
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-button
|
|
|
|
|
+ color="rgba(111, 182, 184, 1)"
|
|
|
|
|
+ class="import"
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ @click="importExcel"
|
|
|
|
|
+ ><img
|
|
|
|
|
+ src="@/assets/import.png"
|
|
|
|
|
+ style="width: 14px; height: 14px; margin-right: 4px"
|
|
|
|
|
+ alt=""
|
|
|
|
|
+ />
|
|
|
|
|
+ <span>导出</span></el-button
|
|
|
|
|
+ >
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="footer">
|
|
<div class="footer">
|
|
|
- <el-table :row-class-name="tableRowClassName" class="footers" :data="tableData.list" style="width: 100%"
|
|
|
|
|
|
|
+ <el-table
|
|
|
|
|
+ :row-class-name="tableRowClassName"
|
|
|
|
|
+ class="footers"
|
|
|
|
|
+ :data="tableData.list"
|
|
|
|
|
+ style="width: 100%"
|
|
|
:header-cell-style="{
|
|
:header-cell-style="{
|
|
|
background: 'rgba(240, 243, 247, 1)',
|
|
background: 'rgba(240, 243, 247, 1)',
|
|
|
height: '50px',
|
|
height: '50px',
|
|
|
border: 0,
|
|
border: 0,
|
|
|
- }">
|
|
|
|
|
|
|
+ }"
|
|
|
|
|
+ >
|
|
|
<!-- <el-table-column align="center" type="selection" width="80" /> -->
|
|
<!-- <el-table-column align="center" type="selection" width="80" /> -->
|
|
|
- <el-table-column prop="schoolName" align="center" width="120" fixed="left" label="校区" />
|
|
|
|
|
- <el-table-column fixed="left" prop="userName" align="center" label="人员">
|
|
|
|
|
|
|
+ <el-table-column
|
|
|
|
|
+ prop="schoolName"
|
|
|
|
|
+ align="center"
|
|
|
|
|
+ width="120"
|
|
|
|
|
+ fixed="left"
|
|
|
|
|
+ label="校区"
|
|
|
|
|
+ />
|
|
|
|
|
+ <el-table-column
|
|
|
|
|
+ fixed="left"
|
|
|
|
|
+ prop="userName"
|
|
|
|
|
+ align="center"
|
|
|
|
|
+ label="人员"
|
|
|
|
|
+ >
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
<el-table-column align="center" label="日期">
|
|
<el-table-column align="center" label="日期">
|
|
|
- <el-table-column width="300" prop="date" align="center" v-for="(i, index) in dates.list"
|
|
|
|
|
- :label="i.weekStr + '(' + i.dateStr + ')'">
|
|
|
|
|
|
|
+ <el-table-column
|
|
|
|
|
+ width="300"
|
|
|
|
|
+ prop="date"
|
|
|
|
|
+ align="center"
|
|
|
|
|
+ v-for="(i, index) in dates.list"
|
|
|
|
|
+ :label="i.weekStr + '(' + i.dateStr + ')'"
|
|
|
|
|
+ >
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
<!-- <span>{{ row.classSettings[index] }}</span> -->
|
|
<!-- <span>{{ row.classSettings[index] }}</span> -->
|
|
|
<!-- <span>{{ index }}</span> -->
|
|
<!-- <span>{{ index }}</span> -->
|
|
|
<div class="word">
|
|
<div class="word">
|
|
|
<div class="classItem" v-if="row.classSettings[index].id">
|
|
<div class="classItem" v-if="row.classSettings[index].id">
|
|
|
- <div class="del" v-for="item in row.classSettings[index].shifts">
|
|
|
|
|
- <el-button :link="false" :color="item.color" :dark="true">{{ item.name }}</el-button>
|
|
|
|
|
- <div class="classX" @click="delClass(row.classSettings[index], item)">
|
|
|
|
|
|
|
+ <div
|
|
|
|
|
+ class="del"
|
|
|
|
|
+ v-for="item in row.classSettings[index].shifts"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-button
|
|
|
|
|
+ :link="false"
|
|
|
|
|
+ :color="item.color"
|
|
|
|
|
+ :dark="true"
|
|
|
|
|
+ >{{ item.name }}</el-button
|
|
|
|
|
+ >
|
|
|
|
|
+ <div
|
|
|
|
|
+ class="classX"
|
|
|
|
|
+ @click="delClass(row.classSettings[index], item)"
|
|
|
|
|
+ >
|
|
|
<img src="@/assets/classX.png" alt="" />
|
|
<img src="@/assets/classX.png" alt="" />
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
- <div class="bottom" @click="editClass(row.classSettings[index])">
|
|
|
|
|
|
|
+ <div
|
|
|
|
|
+ class="bottom"
|
|
|
|
|
+ @click="editClass(row.classSettings[index])"
|
|
|
|
|
+ >
|
|
|
<img src="@/assets/bottom.png" alt="" />
|
|
<img src="@/assets/bottom.png" alt="" />
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="word" v-else>
|
|
<div class="word" v-else>
|
|
|
- <span @click="addClass(row.classSettings[index])">添加班次</span>
|
|
|
|
|
|
|
+ <span @click="addClass(row.classSettings[index])"
|
|
|
|
|
+ >添加班次</span
|
|
|
|
|
+ >
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
@@ -295,13 +489,34 @@
|
|
|
</div>
|
|
</div>
|
|
|
</el-dialog> -->
|
|
</el-dialog> -->
|
|
|
<!-- 添加班次弹窗 -->
|
|
<!-- 添加班次弹窗 -->
|
|
|
- <el-dialog class="addClass" v-model="addClassVisible" :close-on-click-modal="false" :close-on-press-escape="false"
|
|
|
|
|
- :title="addClassTitle" align-center width="409" :before-close="addClassClose">
|
|
|
|
|
- <el-form ref="ruleFormClassRef" :model="ruleFormClass" :rules="classRules" class="demo-ruleForm"
|
|
|
|
|
- :size="formSize" label-position="left" status-icon>
|
|
|
|
|
|
|
+ <el-dialog
|
|
|
|
|
+ class="addClass"
|
|
|
|
|
+ v-model="addClassVisible"
|
|
|
|
|
+ :close-on-click-modal="false"
|
|
|
|
|
+ :close-on-press-escape="false"
|
|
|
|
|
+ :title="addClassTitle"
|
|
|
|
|
+ align-center
|
|
|
|
|
+ width="409"
|
|
|
|
|
+ :before-close="addClassClose"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-form
|
|
|
|
|
+ ref="ruleFormClassRef"
|
|
|
|
|
+ :model="ruleFormClass"
|
|
|
|
|
+ :rules="classRules"
|
|
|
|
|
+ class="demo-ruleForm"
|
|
|
|
|
+ :size="formSize"
|
|
|
|
|
+ label-position="left"
|
|
|
|
|
+ status-icon
|
|
|
|
|
+ >
|
|
|
<el-form-item label="" prop="shiftIds">
|
|
<el-form-item label="" prop="shiftIds">
|
|
|
- <el-tree :data="addClassList" :props="{ label: 'name', children: 'children', value: 'id' }" node-key="id"
|
|
|
|
|
- show-checkbox ref="articleIdsRef" @check-change="handleArticleIds" />
|
|
|
|
|
|
|
+ <el-tree
|
|
|
|
|
+ :data="addClassList"
|
|
|
|
|
+ :props="{ label: 'name', children: 'children', value: 'id' }"
|
|
|
|
|
+ node-key="id"
|
|
|
|
|
+ show-checkbox
|
|
|
|
|
+ ref="articleIdsRef"
|
|
|
|
|
+ @check-change="handleArticleIds"
|
|
|
|
|
+ />
|
|
|
<!-- <el-checkbox-group
|
|
<!-- <el-checkbox-group
|
|
|
v-model="checkedCities"
|
|
v-model="checkedCities"
|
|
|
@change="handleCheckedCitiesChange"
|
|
@change="handleCheckedCitiesChange"
|
|
@@ -316,24 +531,59 @@
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
|
|
|
<el-form-item class="options">
|
|
<el-form-item class="options">
|
|
|
- <el-button color="rgba(111, 182, 184, 1)" class="queding" type="primary"
|
|
|
|
|
- @click="addClassSubmit(ruleFormClassRef)">
|
|
|
|
|
|
|
+ <el-button
|
|
|
|
|
+ color="rgba(111, 182, 184, 1)"
|
|
|
|
|
+ class="queding"
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ @click="addClassSubmit(ruleFormClassRef)"
|
|
|
|
|
+ >
|
|
|
确定
|
|
确定
|
|
|
</el-button>
|
|
</el-button>
|
|
|
- <el-button class="congzhi" @click="addClassClose(ruleFormClassRef)">取消</el-button>
|
|
|
|
|
|
|
+ <el-button
|
|
|
|
|
+ class="congzhi"
|
|
|
|
|
+ @click="addClassClose(ruleFormClassRef)"
|
|
|
|
|
+ >取消</el-button
|
|
|
|
|
+ >
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-form>
|
|
</el-form>
|
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
<!-- 导入弹窗 -->
|
|
<!-- 导入弹窗 -->
|
|
|
- <el-dialog class="importXlsx" v-model="importXlsx" :close-on-click-modal="false" :close-on-press-escape="false"
|
|
|
|
|
- title="导入文件" align-center width="409" :before-close="closeXlsx">
|
|
|
|
|
- <el-upload class="avatar-uploader" action="" ref="upload" :on-preview="handlePreview" :on-remove="handleRemove"
|
|
|
|
|
- :on-change="handleChange" :http-request="handleUpload" :before-upload="beforeAvatarUpload"
|
|
|
|
|
- :auto-upload="false" :limit="1" :on-exceed="handleExceed">
|
|
|
|
|
|
|
+ <el-dialog
|
|
|
|
|
+ class="importXlsx"
|
|
|
|
|
+ v-model="importXlsx"
|
|
|
|
|
+ :close-on-click-modal="false"
|
|
|
|
|
+ :close-on-press-escape="false"
|
|
|
|
|
+ title="导入文件"
|
|
|
|
|
+ align-center
|
|
|
|
|
+ width="409"
|
|
|
|
|
+ :before-close="closeXlsx"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-upload
|
|
|
|
|
+ class="avatar-uploader"
|
|
|
|
|
+ action=""
|
|
|
|
|
+ ref="upload"
|
|
|
|
|
+ :on-preview="handlePreview"
|
|
|
|
|
+ :on-remove="handleRemove"
|
|
|
|
|
+ :on-change="handleChange"
|
|
|
|
|
+ :http-request="handleUpload"
|
|
|
|
|
+ :before-upload="beforeAvatarUpload"
|
|
|
|
|
+ :auto-upload="false"
|
|
|
|
|
+ :limit="1"
|
|
|
|
|
+ :on-exceed="handleExceed"
|
|
|
|
|
+ >
|
|
|
<template #trigger>
|
|
<template #trigger>
|
|
|
- <el-button type="primary" color="rgba(111, 182, 184, 1)" @click="updateImg">
|
|
|
|
|
- <img src="@/assets/toLead.png" style="width: 24px; height: 22px" alt="" />
|
|
|
|
|
- <span style="color: #fff">导入文件</span></el-button>
|
|
|
|
|
|
|
+ <el-button
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ color="rgba(111, 182, 184, 1)"
|
|
|
|
|
+ @click="updateImg"
|
|
|
|
|
+ >
|
|
|
|
|
+ <img
|
|
|
|
|
+ src="@/assets/toLead.png"
|
|
|
|
|
+ style="width: 24px; height: 22px"
|
|
|
|
|
+ alt=""
|
|
|
|
|
+ />
|
|
|
|
|
+ <span style="color: #fff">导入文件</span></el-button
|
|
|
|
|
+ >
|
|
|
</template>
|
|
</template>
|
|
|
<!-- <template #tip>
|
|
<!-- <template #tip>
|
|
|
<div class="el-upload__tip">
|
|
<div class="el-upload__tip">
|
|
@@ -342,7 +592,12 @@
|
|
|
</template> -->
|
|
</template> -->
|
|
|
</el-upload>
|
|
</el-upload>
|
|
|
<div class="options">
|
|
<div class="options">
|
|
|
- <el-button color="rgba(111, 182, 184, 1)" class="queding" type="primary" @click="importSuc()">
|
|
|
|
|
|
|
+ <el-button
|
|
|
|
|
+ color="rgba(111, 182, 184, 1)"
|
|
|
|
|
+ class="queding"
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ @click="importSuc()"
|
|
|
|
|
+ >
|
|
|
确定
|
|
确定
|
|
|
</el-button>
|
|
</el-button>
|
|
|
<el-button class="congzhi" @click="closeXlsx()">取消</el-button>
|
|
<el-button class="congzhi" @click="closeXlsx()">取消</el-button>
|
|
@@ -353,15 +608,28 @@
|
|
|
<!-- 分页组件 -->
|
|
<!-- 分页组件 -->
|
|
|
<div class="pageSize">
|
|
<div class="pageSize">
|
|
|
<span></span>
|
|
<span></span>
|
|
|
- <el-pagination background :current-page="currentPage2" :page-size="pageSize2"
|
|
|
|
|
- layout="total, prev, pager, next, jumper, slot" :total="total2" @update:current-page="handleCurrentChange2" />
|
|
|
|
|
|
|
+ <el-pagination
|
|
|
|
|
+ background
|
|
|
|
|
+ :current-page="currentPage2"
|
|
|
|
|
+ :page-size="pageSize2"
|
|
|
|
|
+ layout="total, prev, pager, next, jumper, slot"
|
|
|
|
|
+ :total="total2"
|
|
|
|
|
+ @update:current-page="handleCurrentChange2"
|
|
|
|
|
+ />
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script setup>
|
|
<script setup>
|
|
|
-import { ref, watch, reactive, nextTick, onBeforeMount, onUnmounted } from "vue";
|
|
|
|
|
|
|
+import {
|
|
|
|
|
+ ref,
|
|
|
|
|
+ watch,
|
|
|
|
|
+ reactive,
|
|
|
|
|
+ nextTick,
|
|
|
|
|
+ onBeforeMount,
|
|
|
|
|
+ onUnmounted,
|
|
|
|
|
+} from "vue";
|
|
|
import { useRouter } from "vue-router";
|
|
import { useRouter } from "vue-router";
|
|
|
import { ElMessage, ElMessageBox } from "element-plus";
|
|
import { ElMessage, ElMessageBox } from "element-plus";
|
|
|
import { Calendar } from "@element-plus/icons-vue";
|
|
import { Calendar } from "@element-plus/icons-vue";
|
|
@@ -526,7 +794,7 @@ const getList = async (flag) => {
|
|
|
center: true,
|
|
center: true,
|
|
|
});
|
|
});
|
|
|
if (res.data.code == 570) {
|
|
if (res.data.code == 570) {
|
|
|
- sessionStorage.removeItem("token")
|
|
|
|
|
|
|
+ sessionStorage.removeItem("token");
|
|
|
router.push({
|
|
router.push({
|
|
|
path: `/login`,
|
|
path: `/login`,
|
|
|
});
|
|
});
|
|
@@ -542,8 +810,8 @@ const getList = async (flag) => {
|
|
|
// endTime: searchInput.createTime[1],
|
|
// endTime: searchInput.createTime[1],
|
|
|
};
|
|
};
|
|
|
if (searchInput.createTime) {
|
|
if (searchInput.createTime) {
|
|
|
- data.startTime = searchInput.createTime[0]
|
|
|
|
|
- data.endTime = searchInput.createTime[1]
|
|
|
|
|
|
|
+ data.startTime = searchInput.createTime[0];
|
|
|
|
|
+ data.endTime = searchInput.createTime[1];
|
|
|
}
|
|
}
|
|
|
let res = await axios({
|
|
let res = await axios({
|
|
|
method: "get",
|
|
method: "get",
|
|
@@ -1322,7 +1590,7 @@ onBeforeMount(async () => {
|
|
|
console.log(res, "添加时段选择数据");
|
|
console.log(res, "添加时段选择数据");
|
|
|
addClassList.value = res.data.data.list;
|
|
addClassList.value = res.data.data.list;
|
|
|
});
|
|
});
|
|
|
-onUnmounted(() => { });
|
|
|
|
|
|
|
+onUnmounted(() => {});
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
|
|
<style scoped lang="scss">
|
|
<style scoped lang="scss">
|
|
@@ -1505,7 +1773,6 @@ onUnmounted(() => { });
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.el-table__row {
|
|
.el-table__row {
|
|
|
-
|
|
|
|
|
//添加班次 周一到周日样式
|
|
//添加班次 周一到周日样式
|
|
|
.word {
|
|
.word {
|
|
|
color: rgba(111, 182, 184, 1);
|
|
color: rgba(111, 182, 184, 1);
|
|
@@ -1579,7 +1846,6 @@ onUnmounted(() => { });
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.el-form-item__content {
|
|
.el-form-item__content {
|
|
|
-
|
|
|
|
|
// 非工作时间样式
|
|
// 非工作时间样式
|
|
|
.noworkTime {
|
|
.noworkTime {
|
|
|
display: flex;
|
|
display: flex;
|
|
@@ -2010,7 +2276,6 @@ onUnmounted(() => { });
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.el-pagination {
|
|
.el-pagination {
|
|
|
-
|
|
|
|
|
// width: 1600px;
|
|
// width: 1600px;
|
|
|
:deep(.el-pagination__total) {
|
|
:deep(.el-pagination__total) {
|
|
|
color: #000;
|
|
color: #000;
|