|
|
|
|
@ -18,69 +18,44 @@
|
|
|
|
|
<div :class="$store.state.user.tenantId?'content-all':'content'">
|
|
|
|
|
|
|
|
|
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
|
|
|
|
<el-form-item label="租户id" prop="tenantId">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.tenantId"
|
|
|
|
|
placeholder="请输入租户id"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
<el-form-item label="部门" prop="deptId">
|
|
|
|
|
<treeselect v-model="queryParams.deptId" :options="deptOptions" :show-count="true" placeholder="请选择归属部门" style="width: 220px"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="员工部门id" prop="deptId">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.deptId"
|
|
|
|
|
placeholder="请输入员工部门id"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="员工部门名称" prop="deptName">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.deptName"
|
|
|
|
|
placeholder="请输入员工部门名称"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="员工id" prop="employeeId">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.employeeId"
|
|
|
|
|
placeholder="请输入员工id"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="员工姓名" prop="empName">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.empName"
|
|
|
|
|
placeholder="请输入员工姓名"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
<el-form-item label="员工" prop="empId">
|
|
|
|
|
<el-select v-model="queryParams.empId" filterable clearable placeholder="请选择">
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="item in employeeList"
|
|
|
|
|
:key="item.id"
|
|
|
|
|
:label="item.name"
|
|
|
|
|
:value="item.id">
|
|
|
|
|
</el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="日工日期" prop="date">
|
|
|
|
|
<el-date-picker clearable
|
|
|
|
|
v-model="queryParams.date"
|
|
|
|
|
type="date"
|
|
|
|
|
value-format="yyyy-MM-dd"
|
|
|
|
|
placeholder="请选择日工日期">
|
|
|
|
|
<el-date-picker
|
|
|
|
|
v-model="queryParams.date"
|
|
|
|
|
type="date"
|
|
|
|
|
value-format="yyyy-MM-dd"
|
|
|
|
|
placeholder="请选择日工日期">
|
|
|
|
|
</el-date-picker>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="日工年月" prop="dwYearMonth">
|
|
|
|
|
<el-input
|
|
|
|
|
<el-form-item label="月份" prop="dwYearMonth">
|
|
|
|
|
<el-date-picker
|
|
|
|
|
v-model="queryParams.dwYearMonth"
|
|
|
|
|
placeholder="请输入日工年月"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
type="month"
|
|
|
|
|
value-format="yyyy-MM"
|
|
|
|
|
placeholder="请选择月份">
|
|
|
|
|
</el-date-picker>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="备注" prop="note">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.note"
|
|
|
|
|
placeholder="请输入备注"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
|
|
/>
|
|
|
|
|
<el-form-item label="业务员" prop="salesman">
|
|
|
|
|
<el-select v-model="queryParams.salesman" filterable placeholder="请选择">
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="item in employeeList"
|
|
|
|
|
:key="item.id"
|
|
|
|
|
:label="item.name"
|
|
|
|
|
:value="item.id">
|
|
|
|
|
</el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item>
|
|
|
|
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
|
|
|
|
@ -136,11 +111,7 @@
|
|
|
|
|
|
|
|
|
|
<el-table v-loading="loading" :data="dayWorkHoursList" @selection-change="handleSelectionChange">
|
|
|
|
|
<el-table-column type="selection" width="55" align="center" />
|
|
|
|
|
<el-table-column label="主键" align="center" prop="id" v-if="true"/>
|
|
|
|
|
<el-table-column label="租户id" align="center" prop="tenantId" />
|
|
|
|
|
<el-table-column label="员工部门id" align="center" prop="deptId" />
|
|
|
|
|
<el-table-column label="员工部门名称" align="center" prop="deptName" />
|
|
|
|
|
<el-table-column label="员工id" align="center" prop="employeeId" />
|
|
|
|
|
<el-table-column label="部门名称" align="center" prop="deptName" />
|
|
|
|
|
<el-table-column label="员工姓名" align="center" prop="empName" />
|
|
|
|
|
<el-table-column label="日工日期" align="center" prop="date" width="180">
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
@ -180,52 +151,333 @@
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- 添加或修改日工工时对话框 -->
|
|
|
|
|
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
|
|
|
|
<el-dialog class="my-dialog" :title="title" :visible.sync="open" width="980px" append-to-body :close-on-click-modal="false">
|
|
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
|
|
|
|
<el-form-item label="租户id" prop="tenantId">
|
|
|
|
|
<el-input v-model="form.tenantId" placeholder="请输入租户id" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="员工部门id" prop="deptId">
|
|
|
|
|
<el-input v-model="form.deptId" placeholder="请输入员工部门id" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="员工部门名称" prop="deptName">
|
|
|
|
|
<el-input v-model="form.deptName" placeholder="请输入员工部门名称" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="员工id" prop="employeeId">
|
|
|
|
|
<el-input v-model="form.employeeId" placeholder="请输入员工id" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="员工姓名" prop="empName">
|
|
|
|
|
<el-input v-model="form.empName" placeholder="请输入员工姓名" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="日工日期" prop="date">
|
|
|
|
|
<el-date-picker clearable
|
|
|
|
|
v-model="form.date"
|
|
|
|
|
type="datetime"
|
|
|
|
|
value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
|
|
placeholder="请选择日工日期">
|
|
|
|
|
</el-date-picker>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="日工年月" prop="dwYearMonth">
|
|
|
|
|
<el-input v-model="form.dwYearMonth" placeholder="请输入日工年月" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="备注" prop="note">
|
|
|
|
|
<el-input v-model="form.note" placeholder="请输入备注" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item label="日工日期" prop="date">
|
|
|
|
|
<el-date-picker clearable
|
|
|
|
|
v-model="form.date"
|
|
|
|
|
type="date"
|
|
|
|
|
value-format="yyyy-MM-dd"
|
|
|
|
|
placeholder="请选择日工日期">
|
|
|
|
|
</el-date-picker>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row v-for="(elctment, index) in form.empInfos" :key="elctment.key">
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item
|
|
|
|
|
label="员工姓名"
|
|
|
|
|
:prop="'empInfos.' + index + '.empName'"
|
|
|
|
|
:rules="{required: true, message: '员工姓名不能为空', trigger: 'blur'}">
|
|
|
|
|
<el-input placeholder="请选择员工姓名" readonly v-model="elctment.empName" @focus="changeEmp(elctment, index)">
|
|
|
|
|
<i slot="suffix" class="el-input__icon el-icon-search" style="color:#0f00d1; font-weight: bolder"></i>
|
|
|
|
|
</el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item
|
|
|
|
|
label="部门名称"
|
|
|
|
|
:prop="'empInfos.' + index + '.deptId'"
|
|
|
|
|
:rules="{required: true, message: '员工姓名不能为空', trigger: 'blur'}">
|
|
|
|
|
<treeselect v-model="elctment.deptId" :options="deptOptions" :show-count="true" placeholder="请选择归属部门" style="width: 200px" @select="changeDeptChange"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item class="my-delete">
|
|
|
|
|
<el-button size="mini" @click.prevent="removeElet(elctment)">删除</el-button>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item>
|
|
|
|
|
<el-button size="mini" @click="addElet">新增员工</el-button>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row v-for="(domain, index) in form.dwHoursContrasts" :key="domain.key">
|
|
|
|
|
<el-col :span="1.5">
|
|
|
|
|
<el-form-item
|
|
|
|
|
label="开始时间"
|
|
|
|
|
:prop="'dwHoursContrasts.' + index + '.beginTime'"
|
|
|
|
|
:rules="{required: true, message: '开始时间不能为空', trigger: 'blur'}">
|
|
|
|
|
<el-time-picker v-model="domain.beginTime" value-format="HH:mm" format="HH:mm" placeholder="开始时间" style="width: 145px;"></el-time-picker>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="1.5">
|
|
|
|
|
<el-form-item
|
|
|
|
|
label="结束时间"
|
|
|
|
|
:prop="'dwHoursContrasts.' + index + '.fnishTime'"
|
|
|
|
|
:rules="{required: true, message: '结束时间不能为空', trigger: 'blur'}">
|
|
|
|
|
<el-time-picker v-model="domain.fnishTime" value-format="HH:mm" format="HH:mm" placeholder="结束时间" style="width: 145px;"></el-time-picker>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="1.5">
|
|
|
|
|
<el-form-item
|
|
|
|
|
label="业务员"
|
|
|
|
|
:prop="'dwHoursContrasts.' + index + '.salesman'">
|
|
|
|
|
<el-autocomplete
|
|
|
|
|
popper-class="my-autocomplete"
|
|
|
|
|
v-model="domain.salesman"
|
|
|
|
|
:fetch-suggestions="querySaleSearch"
|
|
|
|
|
placeholder="请选择业务员"
|
|
|
|
|
@select="((business) => {handleSaleQuerySelect(business, index)})">
|
|
|
|
|
<i
|
|
|
|
|
class="el-icon-edit el-input__icon"
|
|
|
|
|
slot="suffix"
|
|
|
|
|
@click="handleSaleQueryIconClick(index)">
|
|
|
|
|
</i>
|
|
|
|
|
<template slot-scope="{ item }">
|
|
|
|
|
<div class="name">{{ item.name }}</div>
|
|
|
|
|
</template>
|
|
|
|
|
</el-autocomplete>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="1.5">
|
|
|
|
|
<el-form-item
|
|
|
|
|
label="是否帮工" :prop="'dwHoursContrasts.' + index + '.isHelper'"
|
|
|
|
|
:rules="{required: true, message: '请选择是否帮工', trigger: 'change'}">
|
|
|
|
|
<el-radio-group v-model="domain.isHelper" @change="getHelpers">
|
|
|
|
|
<el-radio :label="0">否</el-radio>
|
|
|
|
|
<el-radio :label="1">是</el-radio>
|
|
|
|
|
</el-radio-group>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="1.5">
|
|
|
|
|
<el-form-item label="部门名称" :prop="'dwHoursContrasts.' + index + '.deptId'"
|
|
|
|
|
:rules="{required: true, message: '部门不能为空', trigger: 'change'}"
|
|
|
|
|
v-if="domain.isHelper === 1">
|
|
|
|
|
<treeselect v-model="domain.deptId" :options="deptOptions" :show-count="true" placeholder="请选择归属部门" style="width: 200px" @select="((dept) => {currDepartChange(dept, index)})"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="1.5">
|
|
|
|
|
<el-form-item class="my-delete">
|
|
|
|
|
<el-button size="mini" @click.prevent="removeDomain(domain)">删除</el-button>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item>
|
|
|
|
|
<el-button size="mini" @click="addDomain">新增时间段</el-button>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
</el-form>
|
|
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
|
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
|
|
|
|
<el-button @click="cancel">取 消</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</el-dialog>
|
|
|
|
|
<!-- <el-dialog class="my-dialog" :title="title" :visible.sync="opena" width="980px" append-to-body :close-on-click-modal="false">
|
|
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px" v-if="title !== '日工工时详情'">
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="员工姓名" prop="empName">
|
|
|
|
|
<el-select v-model="form.empName" filterable clearable placeholder="请选择" @change="getEmployee">
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="item in form.employeeList"
|
|
|
|
|
:key="item.id"
|
|
|
|
|
:label="item.name"
|
|
|
|
|
:value="item.id">
|
|
|
|
|
</el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="部门名称" prop="deptId">
|
|
|
|
|
<treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="请选择归属部门" style="width: 200px" @select="changeDeptChange"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="日工日期" prop="date">
|
|
|
|
|
<el-date-picker clearable
|
|
|
|
|
v-model="form.date"
|
|
|
|
|
type="date"
|
|
|
|
|
value-format="yyyy-MM-dd"
|
|
|
|
|
placeholder="请选择日工日期">
|
|
|
|
|
</el-date-picker>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row v-for="(domain, index) in form.dwHoursContrasts" :key="domain.key">
|
|
|
|
|
<el-col :span="1.5">
|
|
|
|
|
<el-form-item
|
|
|
|
|
label="开始时间"
|
|
|
|
|
:prop="'dwHoursContrasts.' + index + '.beginTime'"
|
|
|
|
|
:rules="{required: true, message: '开始时间不能为空', trigger: 'blur'}">
|
|
|
|
|
<el-time-picker v-model="domain.beginTime" value-format="HH:mm" format="HH:mm" placeholder="开始时间" style="width: 145px;"></el-time-picker>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="1.5">
|
|
|
|
|
<el-form-item
|
|
|
|
|
label="结束时间"
|
|
|
|
|
:prop="'dwHoursContrasts.' + index + '.fnishTime'"
|
|
|
|
|
:rules="{required: true, message: '结束时间不能为空', trigger: 'blur'}">
|
|
|
|
|
<el-time-picker v-model="domain.fnishTime" value-format="HH:mm" format="HH:mm" placeholder="结束时间" style="width: 145px;"></el-time-picker>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="1.5">
|
|
|
|
|
<el-form-item
|
|
|
|
|
label="业务员"
|
|
|
|
|
:prop="'dwHoursContrasts.' + index + '.salesman'">
|
|
|
|
|
<el-autocomplete
|
|
|
|
|
popper-class="my-autocomplete"
|
|
|
|
|
v-model="domain.salesman"
|
|
|
|
|
:fetch-suggestions="querySaleSearch"
|
|
|
|
|
placeholder="请选择业务员"
|
|
|
|
|
@select="((business) => {handleSaleQuerySelect(business, index)})">
|
|
|
|
|
<i
|
|
|
|
|
class="el-icon-edit el-input__icon"
|
|
|
|
|
slot="suffix"
|
|
|
|
|
@click="handleSaleQueryIconClick(index)">
|
|
|
|
|
</i>
|
|
|
|
|
<template slot-scope="{ item }">
|
|
|
|
|
<div class="name">{{ item.name }}</div>
|
|
|
|
|
</template>
|
|
|
|
|
</el-autocomplete>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="1.5">
|
|
|
|
|
<el-form-item
|
|
|
|
|
label="是否帮工" :prop="'dwHoursContrasts.' + index + '.isHelper'"
|
|
|
|
|
:rules="{required: true, message: '请选择是否帮工', trigger: 'change'}">
|
|
|
|
|
<el-radio-group v-model="domain.isHelper" @change="getHelpers">
|
|
|
|
|
<el-radio :label="0">否</el-radio>
|
|
|
|
|
<el-radio :label="1">是</el-radio>
|
|
|
|
|
</el-radio-group>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="1.5">
|
|
|
|
|
<el-form-item label="部门名称" :prop="'dwHoursContrasts.' + index + '.deptId'"
|
|
|
|
|
:rules="{required: true, message: '部门不能为空', trigger: 'change'}"
|
|
|
|
|
v-if="domain.isHelper === 1">
|
|
|
|
|
<treeselect v-model="domain.deptId" :options="deptOptions" :show-count="true" placeholder="请选择归属部门" style="width: 200px" @select="((dept) => {currDepartChange(dept, index)})"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="1.5">
|
|
|
|
|
<el-form-item class="my-delete">
|
|
|
|
|
<el-button size="mini" @click.prevent="removeDomain(domain)">删除</el-button>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item>
|
|
|
|
|
<el-button size="mini" @click="addDomain">新增时间段</el-button>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
</el-form>
|
|
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px" v-if="title === '日工工时详情'">
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="员工姓名" prop="empName">
|
|
|
|
|
<el-select v-model="form.empName" filterable clearable placeholder="请选择" @change="getEmployee" disabled>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="item in form.employeeList"
|
|
|
|
|
:key="item.id"
|
|
|
|
|
:label="item.name"
|
|
|
|
|
:value="item.id">
|
|
|
|
|
</el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="部门名称" prop="deptId">
|
|
|
|
|
<treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="请选择归属部门" style="width: 200px" @select="changeDeptChange" disabled/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="8">
|
|
|
|
|
<el-form-item label="日工日期" prop="date">
|
|
|
|
|
<el-date-picker clearable
|
|
|
|
|
v-model="form.date"
|
|
|
|
|
type="date"
|
|
|
|
|
value-format="yyyy-MM-dd"
|
|
|
|
|
placeholder="请选择日工日期" disabled>
|
|
|
|
|
</el-date-picker>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row v-for="(domain, index) in form.dwHoursContrasts" :key="domain.key">
|
|
|
|
|
<el-col :span="1.5">
|
|
|
|
|
<el-form-item
|
|
|
|
|
label="开始时间"
|
|
|
|
|
:prop="'dwHoursContrasts.' + index + '.beginTime'"
|
|
|
|
|
:rules="{required: true, message: '开始时间不能为空', trigger: 'blur'}">
|
|
|
|
|
<el-time-picker v-model="domain.beginTime" value-format="HH:mm" format="HH:mm" placeholder="开始时间" disabled style="width: 145px;"></el-time-picker>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="1.5">
|
|
|
|
|
<el-form-item
|
|
|
|
|
label="结束时间"
|
|
|
|
|
:prop="'dwHoursContrasts.' + index + '.fnishTime'"
|
|
|
|
|
:rules="{required: true, message: '结束时间不能为空', trigger: 'blur'}">
|
|
|
|
|
<el-time-picker v-model="domain.fnishTime" value-format="HH:mm" format="HH:mm" placeholder="结束时间" disabled style="width: 145px;"></el-time-picker>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="1.5">
|
|
|
|
|
<el-form-item
|
|
|
|
|
label="业务员"
|
|
|
|
|
:prop="'dwHoursContrasts.' + index + '.salesman'">
|
|
|
|
|
<el-autocomplete
|
|
|
|
|
popper-class="my-autocomplete"
|
|
|
|
|
v-model="domain.salesman"
|
|
|
|
|
:fetch-suggestions="querySaleSearch"
|
|
|
|
|
placeholder="请选择业务员"
|
|
|
|
|
@select="((business) => {handleSaleQuerySelect(business, index)})" disabled>
|
|
|
|
|
<i
|
|
|
|
|
class="el-icon-edit el-input__icon"
|
|
|
|
|
slot="suffix"
|
|
|
|
|
@click="handleSaleQueryIconClick(index)">
|
|
|
|
|
</i>
|
|
|
|
|
<template slot-scope="{ item }">
|
|
|
|
|
<div class="name">{{ item.name }}</div>
|
|
|
|
|
</template>
|
|
|
|
|
</el-autocomplete>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="1.5">
|
|
|
|
|
<el-form-item
|
|
|
|
|
label="是否帮工" :prop="'dwHoursContrasts.' + index + '.isHelper'"
|
|
|
|
|
:rules="{required: true, message: '请选择是否帮工', trigger: 'change'}">
|
|
|
|
|
<el-radio-group v-model="domain.isHelper" @change="getHelpers" disabled>
|
|
|
|
|
<el-radio :label="0">否</el-radio>
|
|
|
|
|
<el-radio :label="1">是</el-radio>
|
|
|
|
|
</el-radio-group>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="1.5">
|
|
|
|
|
<el-form-item label="部门名称" :prop="'dwHoursContrasts.' + index + '.deptId'"
|
|
|
|
|
:rules="{required: true, message: '部门不能为空', trigger: 'change'}"
|
|
|
|
|
v-if="domain.isHelper === 1">
|
|
|
|
|
<treeselect v-model="domain.deptId" :options="deptOptions" :show-count="true" placeholder="请选择归属部门" disabled style="width: 200px" @select="((dept) => {currDepartChange(dept, index)})"/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
</el-form>
|
|
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
|
|
<el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button>
|
|
|
|
|
<el-button type="primary" @click="submitForm" v-if="title !== '日工工时详情'">确 定</el-button>
|
|
|
|
|
<el-button @click="cancel">取 消</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</el-dialog>
|
|
|
|
|
-->
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
import { listDayWorkHours, getDayWorkHours, delDayWorkHours, addDayWorkHours, updateDayWorkHours } from "@/api/pay/dayWorkHours";
|
|
|
|
|
import { listTenant } from "@/api/pay/tenant";
|
|
|
|
|
import { listEmployeeInfo } from "@/api/pay/employeeInfo";
|
|
|
|
|
import { deptTreeSelect } from "@/api/system/user";
|
|
|
|
|
import Treeselect from "@riophae/vue-treeselect";
|
|
|
|
|
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
|
|
|
|
|
|
|
|
|
export default {
|
|
|
|
|
name: "DayWorkHours",
|
|
|
|
|
components: { Treeselect },
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
// 公司信息
|
|
|
|
|
@ -250,6 +502,8 @@ export default {
|
|
|
|
|
total: 0,
|
|
|
|
|
// 日工工时表格数据
|
|
|
|
|
dayWorkHoursList: [],
|
|
|
|
|
// 部门树选项
|
|
|
|
|
deptOptions: undefined,
|
|
|
|
|
// 弹出层标题
|
|
|
|
|
title: "",
|
|
|
|
|
// 是否显示弹出层
|
|
|
|
|
@ -269,6 +523,8 @@ export default {
|
|
|
|
|
},
|
|
|
|
|
// 表单参数
|
|
|
|
|
form: {},
|
|
|
|
|
// 选择员工
|
|
|
|
|
employeeList: [],
|
|
|
|
|
// 表单校验
|
|
|
|
|
rules: {
|
|
|
|
|
id: [
|
|
|
|
|
@ -307,6 +563,8 @@ export default {
|
|
|
|
|
}else {
|
|
|
|
|
this.gsInfo.active_id = this.$store.state.user.tenantId
|
|
|
|
|
this.getList();
|
|
|
|
|
this.getDeptTree();
|
|
|
|
|
this.getlistEmployee();
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
@ -316,7 +574,9 @@ export default {
|
|
|
|
|
if(response.rows.length>0){
|
|
|
|
|
this.gsInfo.list = response.rows;
|
|
|
|
|
this.gsInfo.active_id = this.gsInfo.list[0].id
|
|
|
|
|
this.getList()
|
|
|
|
|
this.getList();
|
|
|
|
|
this.getDeptTree();
|
|
|
|
|
this.getlistEmployee();
|
|
|
|
|
}else{
|
|
|
|
|
this.$alert(`没有查到相关公司,暂无数据!`, `提示`, {
|
|
|
|
|
type: 'warning'
|
|
|
|
|
@ -329,36 +589,28 @@ export default {
|
|
|
|
|
this.gsInfo.active_id = id
|
|
|
|
|
this.getList()
|
|
|
|
|
},
|
|
|
|
|
/** 查询时员工 */
|
|
|
|
|
getlistEmployee() {
|
|
|
|
|
listEmployeeInfo({ pageSize: 1000000000, tenantId: this.gsInfo.active_id }).then(response => {
|
|
|
|
|
this.employeeList = response.rows
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
/** 查询部门下拉树结构 */
|
|
|
|
|
getDeptTree() {
|
|
|
|
|
deptTreeSelect({tenantId: this.gsInfo.active_id}).then(response => {
|
|
|
|
|
this.deptOptions = response.data;
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
/** 查询日工工时列表 */
|
|
|
|
|
getList() {
|
|
|
|
|
this.loading = true;
|
|
|
|
|
// this.queryParams.tenantId = this.gsInfo.active_id;
|
|
|
|
|
this.queryParams.tenantId = this.gsInfo.active_id;
|
|
|
|
|
listDayWorkHours(this.queryParams).then(response => {
|
|
|
|
|
this.dayWorkHoursList = response.rows;
|
|
|
|
|
this.total = response.total;
|
|
|
|
|
this.loading = false;
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
// 取消按钮
|
|
|
|
|
cancel() {
|
|
|
|
|
this.open = false;
|
|
|
|
|
this.reset();
|
|
|
|
|
},
|
|
|
|
|
// 表单重置
|
|
|
|
|
reset() {
|
|
|
|
|
this.form = {
|
|
|
|
|
id: undefined,
|
|
|
|
|
tenantId: undefined,
|
|
|
|
|
deptId: undefined,
|
|
|
|
|
deptName: undefined,
|
|
|
|
|
employeeId: undefined,
|
|
|
|
|
empName: undefined,
|
|
|
|
|
date: undefined,
|
|
|
|
|
dwYearMonth: undefined,
|
|
|
|
|
note: undefined
|
|
|
|
|
};
|
|
|
|
|
this.resetForm("form");
|
|
|
|
|
},
|
|
|
|
|
/** 搜索按钮操作 */
|
|
|
|
|
handleQuery() {
|
|
|
|
|
this.queryParams.pageNum = 1;
|
|
|
|
|
@ -367,6 +619,8 @@ export default {
|
|
|
|
|
/** 重置按钮操作 */
|
|
|
|
|
resetQuery() {
|
|
|
|
|
this.resetForm("queryForm");
|
|
|
|
|
this.queryParams.employeeId = null
|
|
|
|
|
this.queryParams.deptId = null
|
|
|
|
|
this.handleQuery();
|
|
|
|
|
},
|
|
|
|
|
// 多选框选中数据
|
|
|
|
|
@ -381,44 +635,6 @@ export default {
|
|
|
|
|
this.open = true;
|
|
|
|
|
this.title = "添加日工工时";
|
|
|
|
|
},
|
|
|
|
|
/** 修改按钮操作 */
|
|
|
|
|
handleUpdate(row) {
|
|
|
|
|
this.loading = true;
|
|
|
|
|
this.reset();
|
|
|
|
|
const id = row.id || this.ids
|
|
|
|
|
getDayWorkHours(id).then(response => {
|
|
|
|
|
this.loading = false;
|
|
|
|
|
this.form = response.data;
|
|
|
|
|
this.open = true;
|
|
|
|
|
this.title = "修改日工工时";
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
/** 提交按钮 */
|
|
|
|
|
submitForm() {
|
|
|
|
|
this.$refs["form"].validate(valid => {
|
|
|
|
|
if (valid) {
|
|
|
|
|
this.buttonLoading = true;
|
|
|
|
|
this.form.tenantId = this.gsInfo.active_id;
|
|
|
|
|
if (this.form.id != null) {
|
|
|
|
|
updateDayWorkHours(this.form).then(response => {
|
|
|
|
|
this.$modal.msgSuccess("修改成功");
|
|
|
|
|
this.open = false;
|
|
|
|
|
this.getList();
|
|
|
|
|
}).finally(() => {
|
|
|
|
|
this.buttonLoading = false;
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
addDayWorkHours(this.form).then(response => {
|
|
|
|
|
this.$modal.msgSuccess("新增成功");
|
|
|
|
|
this.open = false;
|
|
|
|
|
this.getList();
|
|
|
|
|
}).finally(() => {
|
|
|
|
|
this.buttonLoading = false;
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
/** 删除按钮操作 */
|
|
|
|
|
handleDelete(row) {
|
|
|
|
|
const ids = row.id || this.ids;
|
|
|
|
|
@ -439,6 +655,301 @@ export default {
|
|
|
|
|
this.download('pay/dayWorkHours/export', {
|
|
|
|
|
...this.queryParams
|
|
|
|
|
}, `dayWorkHours_${new Date().getTime()}.xlsx`)
|
|
|
|
|
},
|
|
|
|
|
/** 修改按钮操作 */
|
|
|
|
|
handleUpdate(row) {
|
|
|
|
|
this.reset();
|
|
|
|
|
const id = row.id || this.ids
|
|
|
|
|
getDayWorkHours(id).then(response => {
|
|
|
|
|
this.form = response.data;
|
|
|
|
|
/*getEmpNameList().then(response => {
|
|
|
|
|
this.$set(this.form,'employeeList',response.data)
|
|
|
|
|
})*/
|
|
|
|
|
/*treeselect().then(response => {
|
|
|
|
|
this.form.dwHoursContrasts.forEach(item => {
|
|
|
|
|
this.$set(item,'departOptions',response.data)
|
|
|
|
|
var sth = new Date(item.startTime).getHours();
|
|
|
|
|
sth = sth < 10 ? sth : sth;
|
|
|
|
|
var stm = new Date(item.startTime).getMinutes();
|
|
|
|
|
stm = stm < 10 ? '0' + stm : stm;
|
|
|
|
|
var eth = new Date(item.endTime).getHours();
|
|
|
|
|
eth = eth < 10 ? eth : eth;
|
|
|
|
|
var etm = new Date(item.endTime).getMinutes();
|
|
|
|
|
etm = etm < 10 ? '0' + etm : etm;
|
|
|
|
|
this.$set(item,"beginTime",sth+":"+stm);
|
|
|
|
|
this.$set(item,"fnishTime",eth+":"+etm);
|
|
|
|
|
})
|
|
|
|
|
})*/
|
|
|
|
|
this.opena = true;
|
|
|
|
|
this.title = "修改日工工时";
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
/** 查询时选择部门 */
|
|
|
|
|
changeDeptChange(dept) {
|
|
|
|
|
this.form.deptName = dept.label
|
|
|
|
|
},
|
|
|
|
|
getSummaries(param) {
|
|
|
|
|
const { columns, data } = param;
|
|
|
|
|
const sums = [];
|
|
|
|
|
var sum = 0
|
|
|
|
|
columns.forEach((column, index) => {
|
|
|
|
|
if (index === 0) {
|
|
|
|
|
sums[index] = '总小时数';
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if (column.property == 'hours') {
|
|
|
|
|
data.forEach(item => {
|
|
|
|
|
item.dwHoursContrasts.forEach(hour => {
|
|
|
|
|
if(hour.hours != null){
|
|
|
|
|
sum += Number(hour.hours);
|
|
|
|
|
sums[index] = parseFloat(sum).toFixed(2);
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
sums[index] = '';
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
return sums;
|
|
|
|
|
},
|
|
|
|
|
/** 查询员工 */
|
|
|
|
|
getNamelist() {
|
|
|
|
|
getEmpNameList().then(response => {
|
|
|
|
|
this.queryParams.employeeList = response.data;
|
|
|
|
|
this.form.employeeList = response.data;
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
/** 查询时选择员工 */
|
|
|
|
|
getEmploy(val) {
|
|
|
|
|
this.queryParams.employeeList.forEach(employ => {
|
|
|
|
|
if (employ.id == val) {
|
|
|
|
|
this.queryParams.employeeId = employ.id
|
|
|
|
|
this.queryParams.empName = employ.name
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
/** 新增或修改时选择员工 */
|
|
|
|
|
getEmployee(val, index) {
|
|
|
|
|
this.form.employeeList.forEach(employee => {
|
|
|
|
|
if (employee.id == val) {
|
|
|
|
|
this.form.employeeId = employee.id;
|
|
|
|
|
this.form.empName = employee.name;
|
|
|
|
|
this.form.deptName = employee.deptName;
|
|
|
|
|
this.form.deptId = employee.deptId;
|
|
|
|
|
this.form.empInfos[index].employeeId = employee.id;
|
|
|
|
|
this.form.empInfos[index].empName = employee.name;
|
|
|
|
|
this.form.empInfos[index].deptName = employee.deptName;
|
|
|
|
|
this.form.empInfos[index].deptId = employee.deptId;
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
/** 查询部门 */
|
|
|
|
|
getTreeselect() {
|
|
|
|
|
treeselect().then(response => {
|
|
|
|
|
this.deptOptions = response.data;
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
/** 查询时选择部门 */
|
|
|
|
|
currDeptChange(dept) {
|
|
|
|
|
this.form.deptName = dept.label
|
|
|
|
|
},
|
|
|
|
|
getHelpers() {
|
|
|
|
|
treeselect().then(response => {
|
|
|
|
|
this.form.dwHoursContrasts.forEach(item => {
|
|
|
|
|
if(0 == item.isHelper){
|
|
|
|
|
item.departOptions = []
|
|
|
|
|
item.deptId = null
|
|
|
|
|
item.deptName = null
|
|
|
|
|
} else {
|
|
|
|
|
// item.departOptions = response.data[0].children;
|
|
|
|
|
item.departOptions = response.data;
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
currDepartChange(val, i) {
|
|
|
|
|
this.form.dwHoursContrasts[i].deptName = val.label
|
|
|
|
|
},
|
|
|
|
|
//查询业务员
|
|
|
|
|
handleSalelist() {
|
|
|
|
|
getSalelist().then(response => {
|
|
|
|
|
this.saleList = response
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
getSalemanList(val) {
|
|
|
|
|
this.saleList.forEach(sal => {
|
|
|
|
|
if(sal.id == val){
|
|
|
|
|
this.queryParams.salesman = sal.name
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
// 取消按钮
|
|
|
|
|
cancel() {
|
|
|
|
|
this.open = false;
|
|
|
|
|
this.opena = false;
|
|
|
|
|
this.reset();
|
|
|
|
|
},
|
|
|
|
|
// 表单重置
|
|
|
|
|
reset() {
|
|
|
|
|
this.form = {
|
|
|
|
|
id: null,
|
|
|
|
|
deptId: null,
|
|
|
|
|
deptName: null,
|
|
|
|
|
employeeId: null,
|
|
|
|
|
empName: null,
|
|
|
|
|
employeeList: [],
|
|
|
|
|
date: null,
|
|
|
|
|
empInfos: [{
|
|
|
|
|
deptId: null,
|
|
|
|
|
deptName: null,
|
|
|
|
|
employeeId: null,
|
|
|
|
|
empName: null
|
|
|
|
|
}],
|
|
|
|
|
dwHoursContrasts: [{
|
|
|
|
|
startTime: null,
|
|
|
|
|
beginTime: null,
|
|
|
|
|
endTime: null,
|
|
|
|
|
fnishTime: null,
|
|
|
|
|
isHelper: 0,
|
|
|
|
|
departOptions: [],
|
|
|
|
|
deptId: null,
|
|
|
|
|
deptName: null,
|
|
|
|
|
salesman: null
|
|
|
|
|
}]
|
|
|
|
|
};
|
|
|
|
|
this.resetForm("form");
|
|
|
|
|
this.getNamelist();
|
|
|
|
|
this.getTreeselect();
|
|
|
|
|
},
|
|
|
|
|
// 新增员工
|
|
|
|
|
addElet() {
|
|
|
|
|
this.form.empInfos.push({
|
|
|
|
|
deptId: null,
|
|
|
|
|
deptName: null,
|
|
|
|
|
employeeId: null,
|
|
|
|
|
empName: null
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
// 删除员工
|
|
|
|
|
removeElet(elp) {
|
|
|
|
|
var index = this.form.empInfos.indexOf(elp)
|
|
|
|
|
if (index !== -1) {
|
|
|
|
|
this.form.empInfos.splice(index, 1)
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
/** 新增时间段 */
|
|
|
|
|
addDomain() {
|
|
|
|
|
this.form.dwHoursContrasts.push({
|
|
|
|
|
startTime: null,
|
|
|
|
|
beginTime: null,
|
|
|
|
|
endTime: null,
|
|
|
|
|
fnishTime: null,
|
|
|
|
|
isHelper: 0,
|
|
|
|
|
departOptions: [],
|
|
|
|
|
deptId: null,
|
|
|
|
|
deptName: null,
|
|
|
|
|
salesman: null
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
/** 删除时间段 */
|
|
|
|
|
removeDomain(item) {
|
|
|
|
|
var index = this.form.dwHoursContrasts.indexOf(item)
|
|
|
|
|
if (index !== -1) {
|
|
|
|
|
this.form.dwHoursContrasts.splice(index, 1)
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
/** 详情按钮操作 */
|
|
|
|
|
handleDetails(row) {
|
|
|
|
|
this.reset();
|
|
|
|
|
const id = row.id || this.ids
|
|
|
|
|
/*getDwhours(id).then(response => {
|
|
|
|
|
this.form = response.data;
|
|
|
|
|
getEmpNameList().then(response => {
|
|
|
|
|
this.$set(this.form,'employeeList',response.data)
|
|
|
|
|
})
|
|
|
|
|
treeselect().then(response => {
|
|
|
|
|
this.form.dwHoursContrasts.forEach(item => {
|
|
|
|
|
this.$set(item,'departOptions',response.data)
|
|
|
|
|
var sth = new Date(item.startTime).getHours();
|
|
|
|
|
sth = sth < 10 ? sth : sth;
|
|
|
|
|
var stm = new Date(item.startTime).getMinutes();
|
|
|
|
|
stm = stm < 10 ? '0' + stm : stm;
|
|
|
|
|
var eth = new Date(item.endTime).getHours();
|
|
|
|
|
eth = eth < 10 ? eth : eth;
|
|
|
|
|
var etm = new Date(item.endTime).getMinutes();
|
|
|
|
|
etm = etm < 10 ? '0' + etm : etm;
|
|
|
|
|
this.$set(item,"beginTime",sth+":"+stm);
|
|
|
|
|
this.$set(item,"fnishTime",eth+":"+etm);
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
this.opena = true;
|
|
|
|
|
this.title = "日工工时详情";
|
|
|
|
|
});*/
|
|
|
|
|
},
|
|
|
|
|
/** 提交按钮 */
|
|
|
|
|
submitForm() {
|
|
|
|
|
this.$refs["form"].validate(valid => {
|
|
|
|
|
if (valid) {
|
|
|
|
|
this.form.tenantId = this.gsInfo.active_id;
|
|
|
|
|
this.form.dwHoursContrasts.forEach(a => {
|
|
|
|
|
a.startTime = this.form.date + ' ' + a.beginTime + ':00';
|
|
|
|
|
a.endTime = this.form.date + ' ' + a.fnishTime + ':00';
|
|
|
|
|
})
|
|
|
|
|
var isHour = true
|
|
|
|
|
if(this.form.dwHoursContrasts.length > 0){
|
|
|
|
|
for(var i=0; i<this.form.dwHoursContrasts.length; i++){
|
|
|
|
|
if(new Date(this.form.dwHoursContrasts[i].endTime).getTime() <= new Date(this.form.dwHoursContrasts[i].startTime).getTime()){
|
|
|
|
|
isHour = false
|
|
|
|
|
this.$alert('结束时间应大于开始时间', '信息', {
|
|
|
|
|
confirmButtonText: '确定',
|
|
|
|
|
customClass:'message_box_alert'
|
|
|
|
|
}).catch((err) => {
|
|
|
|
|
console.log(err)
|
|
|
|
|
})
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (isHour) {
|
|
|
|
|
if (this.form.id != null) {
|
|
|
|
|
updateDayWorkHours(this.form).then(response => {
|
|
|
|
|
this.$modal.msgSuccess("修改成功");
|
|
|
|
|
this.opena = false;
|
|
|
|
|
this.getList();
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
addDayWorkHours(this.form).then(response => {
|
|
|
|
|
this.$modal.msgSuccess("新增成功");
|
|
|
|
|
this.open = false;
|
|
|
|
|
this.getList();
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
replaceall( restr ,oldstr, newstr ){
|
|
|
|
|
while (restr.indexOf(oldstr) >= 0){
|
|
|
|
|
restr = restr.replace(oldstr,newstr);
|
|
|
|
|
}
|
|
|
|
|
return restr;
|
|
|
|
|
},
|
|
|
|
|
querySaleSearch(queryString, cb) {
|
|
|
|
|
let saleList = this.saleList;
|
|
|
|
|
let results = queryString ? saleList.filter(this.createSaleFilter(queryString)) : saleList;
|
|
|
|
|
// 调用 callback 返回建议列表的数据
|
|
|
|
|
cb(results);
|
|
|
|
|
},
|
|
|
|
|
createSaleFilter(queryString) {
|
|
|
|
|
return (sale) => {
|
|
|
|
|
return (sale.name.toLowerCase().indexOf(queryString.toLowerCase()) === 0);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
handleSaleQuerySelect(item, index) {
|
|
|
|
|
this.form.dwHoursContrasts[index].salesman = item.name
|
|
|
|
|
},
|
|
|
|
|
handleSaleQueryIconClick(index) {
|
|
|
|
|
this.form.dwHoursContrasts[index].salesman = null
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|