| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434 |
- <template>
- <div class="tabs-container">
- <el-row :gutter="10">
- <!--机构数据-->
- <!-- <el-col :span="showOrgTree?4:0" :xs="24">
- <org-tree
- v-model="queryParams.orgId"
- @defaultKey="getDefaultKey"
- @checkChange="changeCheckBox"
- @click="handleNodeClick"
- ></org-tree>
- </el-col> -->
- <!--table数据-->
- <el-col :span="24" :xs="24">
- <div class="main-right-box">
- <!-- 搜索条件 -->
- <div class="main-search-box">
- <el-form
- :model="queryParams"
- ref="queryForm"
- size="small"
- :inline="true"
- v-show="showSearch"
- >
- <el-form-item label="机构名称">
- <org-tree
- v-model="queryParams.orgId"
- @defaultKey="getDefaultKey"
- @checkChange="changeCheckBox"
- @click="handleNodeClick"
- ref="orgTree"
- ></org-tree>
- </el-form-item>
- <el-form-item label="机构类型" prop="orgType">
- <el-select v-model="queryParams.orgType" clearable placeholder="请选择机构类型">
- <el-option
- v-for="dict in dict.type.sys_org_type"
- :key="dict.value"
- :label="dict.label"
- :value="`${dict.value}`">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="日期范围">
- <DataRangePicker
- style="width: 240px"
- v-model="queryParams.range"
- key="daterange"
- type="daterange"
- :clearable="false"
- range-separator="-"
- start-placeholder="开始日期"
- end-placeholder="结束日期"
- />
- </el-form-item>
- <el-form-item label="营业状态" prop="status">
- <el-select
- v-model="queryParams.isEnable"
- placeholder="请选择"
- clearable
- >
- <el-option
- v-for="dict in dict.type.sys_business_type"
- :key="dict.value"
- :label="dict.label"
- :value="dict.value"
- />
- </el-select>
- </el-form-item>
- <el-form-item label="业务库值守" prop="isDuty">
- <el-select v-model="queryParams.isDuty" clearable placeholder="请选择">
- <el-option
- v-for="item in dutys"
- :key="item.value"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="未配置作息" prop="noWorkTime">
- <el-switch
- v-model="queryParams.noWorkTime"
- active-text=""
- @change="handleQuery"
- >
- </el-switch>
- </el-form-item>
- </el-form>
- <!-- 按纽 -->
- <el-row :gutter="10">
- <el-col :span="1.5">
- <el-button
- type="primary"
- icon="el-icon-search"
- size="mini"
- @click="handleQuery"
- >搜索</el-button
- >
- </el-col>
- <el-col :span="1.5">
- <el-button
- type="primary"
- icon="el-icon-refresh"
- size="mini"
- @click="resetForm"
- >重置</el-button
- >
- </el-col>
- <el-col :span="1.5">
- <el-button
- type="primary"
- size="mini"
- icon="el-icon-thumb"
- @click="clickAdd"
- v-hasPermi="['system:time:add']"
- >新增作息配置</el-button
- >
- </el-col>
- <el-col :span="1.5">
- <!-- <el-button
- type="warning"
- plain
- icon="el-icon-download"
- size="mini"
- @click="handleExport"
- v-hasPermi="['system:time:export']">导出</el-button> -->
- </el-col>
- <right-toolbar
- :showSearch.sync="showSearch"
- size="mini"
- @queryTable="getList"
- ></right-toolbar>
- </el-row>
- </div>
- <el-table
- height="597"
- size="small"
- v-loading="loading"
- border
- :data="tableList"
- >
- <el-table-column
- label="序号"
- type="index"
- align="center"
- width="70"
- ></el-table-column>
- <el-table-column prop="affiliatedArea" align="center" label="地区" width="65"></el-table-column>
- <el-table-column prop="affiliatedBank" align="center" label="行社" width="150"></el-table-column>
- <el-table-column
- v-if="columns[0].visible"
- prop="orgName"
- align="center"
- label="机构"
- width="150"
- ></el-table-column>
- <el-table-column align="center" label="日期" width="110">
- <span slot-scope="scope">{{ scope.row.ymdDate }}</span>
- </el-table-column>
- <el-table-column align="center" label="营业状态" width="90">
- <template slot-scope="r">{{
- r.row.isEnable == "1" ? "营业" : "歇业"
- }}</template>
- </el-table-column>
- <el-table-column align="center" label="业务库值守" width="110">
- <template slot-scope="r">{{
- r.row.isDuty == "1" ? "是" : "否"
- }}</template>
- </el-table-column>
- <!-- <el-table-column v-if="columns[3].visible" label="上下班时间" width="120" align="center">
- <template slot-scope="r">
- <span>{{ r.row.workTime }}-{{ r.row.workOffTime }}</span>
- </template>
- </el-table-column> -->
- <el-table-column align="center" label="营业时间" width="120">
- <template slot-scope="r">
- <span>{{ r.row.openTime }}-{{ r.row.closeTime }}</span>
- </template>
- </el-table-column>
- <!-- <el-table-column v-if="columns[5].visible" label="午休时间段">-->
- <!-- <template slot-scope="scope">-->
- <!-- <span>{{scope.row.noonbreakStart}}-{{scope.row.noonbreakEnd}}</span>-->
- <!-- </template>-->
- <!-- </el-table-column>-->
- <el-table-column
- align="center"
- prop="modifiedName"
- label="更新人"
- width="110"
- show-overflow-tooltip
- ></el-table-column>
- <el-table-column align="center" label="更新时间" width="180">
- <span slot-scope="scope">{{ scope.row.updateTime }}</span>
- </el-table-column>
- <el-table-column
- label="操作"
- align="center"
- width="160"
- >
- <template slot-scope="r">
- <el-button
- size="mini"
- icon="el-icon-document"
- type="text"
- @click="showDetail(r.row)"
- >查看</el-button>
- <span v-if="hideEdit(r.row)">
- <el-button
- size="mini"
- icon="el-icon-edit-outline"
- type="text"
- v-hasPermi="['system:time:edit']"
- @click="onEditTime(r.row)"
- >编辑</el-button
- >
- </span>
- </template>
- </el-table-column>
- </el-table>
- <pagination
- class="pages-box"
- :total="total"
- :page.sync="queryParams.pageNum"
- :limit.sync="queryParams.pageSize"
- @pagination="getList"
- />
- </div>
- </el-col>
- </el-row>
- <!-- 查看详情 -->
- <dialog-detail ref="modalDetail" @ok="getList"></dialog-detail>
- <!-- 编辑作息 -->
- <dialog-edit ref="modalEdit" @ok="getList"></dialog-edit>
- <!-- 指定日期配置 -->
- <dialog-add ref="modalAdd" @ok="getList"></dialog-add>
- </div>
- </template>
- <script>
- import OrgTree from "@/components/orgTree/orgQuerySelector.vue";
- import DialogEdit from "./dialog.edit";
- import DialogAdd from "./dialog.add";
- import DialogDetail from "./dialog.detail.vue"
- import { mapGetters } from "vuex";
- /** 引入节点树接口*/
- import { deptTreeSelect } from "@/api/system/public";
- import { tableList } from "./api";
- import DataRangePicker from "@/components/dateTime/daterange.picker.vue";
- //初始化查询日期
- let sDate = new Date();
- let eDate = new Date();
- export default {
- /** 得先引入字典才能使用 */
- dicts: ["sys_business_type",'sys_org_type'],
- /** 引入基础minxins*/
- components: { DataRangePicker, OrgTree, DialogEdit, DialogAdd,DialogDetail },
- data() {
- return {
- dutys:[{
- value: 1,
- label: '是'
- }, {
- value: 0,
- label: '否'
- }],
- nowTime: null,
- // 遮罩层
- loading: false,
- //选中的行
- selectRow: null,
- //显示右边机构树
- showOrgTree: true,
- // 显示搜索条件
- showSearch: true,
- // 用户表格数据
- tableList: null,
- // 机构树选项
- deptOptions: undefined,
- // 是否显示弹出层
- open: false,
- // 通过机构名称查询tree
- deptName: undefined,
- //是否关联下级
- checked: false,
- //自定义机构树数据
- defaultProps: {
- children: "children",
- label: "name",
- },
- // 查询参数
- queryParams: {
- checkSub: true,
- orgId: null,
- isEnable: null,
- pageNum: 1,
- pageSize: 10,
- isDuty: null,
- orgType:null,
- range: [sDate, eDate],
- noWorkTime:false,
- },
- total: 0,
- // 列信息
- columns: [
- { key: 0, label: `机构`, visible: true },
- { key: 1, label: `日期`, visible: true },
- { key: 2, label: `营业状态`, visible: true },
- { key: 3, label: `上下班时间段`, visible: true },
- { key: 4, label: `营业时间段`, visible: true },
- { key: 5, label: `午休时间段`, visible: true },
- { key: 6, label: `更新人`, visible: true },
- { key: 7, label: `更新时间`, visible: true },
- { key: 8, label: `操作`, visible: true },
- ],
- //默认选中节点
- defaultKeys: [],
- pickerOptions: {
- start: "00:00",
- end: "24:00",
- step: "00:10",
- },
- };
- },
- computed: {
- ...mapGetters(["orgId"]),
- },
- created() {
- this.getNowTime();
- },
- methods: {
- getNowTime() {
- const dateObj = new Date(); // 获取当前时间对象
- const year = dateObj.getFullYear(); // 获取年份
- const month = String(dateObj.getMonth() + 1).padStart(2, "0"); // 获取月份,并补齐两位数
- const day = String(dateObj.getDate()).padStart(2, "0"); // 获取日期,并补齐两位数
- this.nowTime = `${year}-${month}-${day}`;
- },
- hideEdit(row) {
- const startDate = new Date(row.ymdDate);
- const endDate = new Date(this.nowTime);
- return (startDate >= endDate) && (row.orgId === this.orgId);
- },
- getDefaultKey(key) {
- this.queryParams.orgId = key;
- this.getList();
- },
- /** 下穿状态改变*/
- changeCheckBox() {
- this.queryParams.checkSub = !this.queryParams.checkSub;
- this.getList();
- },
- /** 查询列表 */
- getList() {
- this.loading = true;
- console.log(this.queryParams, "pages");
- tableList(this.queryParams)
- .then((response) => {
- this.tableList = response.rows;
- this.total = response.total;
- this.loading = false;
- })
- .catch((err) => {
- this.loading = false;
- });
- },
- /** 查询机构树 */
- getDeptTree() {
- deptTreeSelect().then((response) => {
- this.deptOptions = response.data;
- this.defaultKeys.push(response.data[0].id);
- this.queryParams.orgId = response.data[0].id;
- //this.$refs.tree.setCurrentKey(response.data[0].id);
- });
- },
- // 筛选节点
- filterNode(value, data) {
- if (!value) return true;
- return data.name.indexOf(value) !== -1;
- },
- // 节点单击事件
- handleNodeClick(data) {
- this.queryParams.orgId = data.id;
- this.handleQuery();
- },
- //添加指定日期作息
- clickAdd() {
- this.$refs.modalAdd.add();
- },
- showDetail(row){
- this.selectRow = row;
- this.$refs.modalDetail.show(row);
- },
- /** 编辑按钮操作 */
- onEditTime(row) {
- this.selectRow = row;
- this.$refs.modalEdit.edit(row);
- },
- /** 提交按钮 */
- submitForm: function () {},
- /** 导出按钮操作 */
- handleExport() {
- this.download(
- "system/time/export",
- {
- ...this.queryParams,
- },
- `user_${new Date().getTime()}.xlsx`
- );
- },
- /* 重置搜索 */
- resetForm(name) {
- this.queryParams.isEnable = null;
- this.queryParams.pageNum = 1;
- this.queryParams.pageSize = 10;
- this.queryParams.orgId = this.orgId;
- this.queryParams.orgType = null;
- this.queryParams.checkSub = true;
- this.queryParams.noWorkTime=false;
- this.$refs["orgTree"].setCheckSub(this.queryParams.checkSub)
- this.queryParams.range = [sDate, eDate];
- this.getList();
- },
- /** 搜索按钮操作 */
- handleQuery() {
- this.queryParams.pageNum = 1;
- this.getList();
- },
- },
- };
- </script>
- <style lang="scss"></style>
|