| | |
| | | <div class="search"> |
| | | <div class="search_thing" style="width: 200px"> |
| | | <div class="search_label">星期:</div> |
| | | <el-select |
| | | v-model="entity.weekDay" |
| | | clearable |
| | | placeholder="全部" |
| | | size="small" |
| | | @change="refreshTable()" |
| | | > |
| | | <el-option |
| | | v-for="item in weekList" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | <el-select v-model="entity.weekDay" clearable placeholder="全部" size="small" @change="refreshTable()"> |
| | | <el-option v-for="item in weekList" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="search_thing" style="width: 390px"> |
| | | <div class="search_label" style="width: 90px">时间范围:</div> |
| | | <div class="search_input"> |
| | | <el-date-picker |
| | | v-model="entity.dateTime" |
| | | clearable |
| | | end-placeholder="结束日期" |
| | | format="yyyy-MM-dd" |
| | | range-separator="至" |
| | | size="small" |
| | | start-placeholder="开始日期" |
| | | style="width: 100%" |
| | | type="daterange" |
| | | value-format="yyyy-MM-dd" |
| | | @change="refreshTable()" |
| | | > |
| | | <el-date-picker v-model="entity.dateTime" clearable end-placeholder="结束日期" format="yyyy-MM-dd" |
| | | range-separator="至" size="small" start-placeholder="开始日期" style="width: 100%" type="daterange" |
| | | value-format="yyyy-MM-dd" @change="refreshTable()"> |
| | | </el-date-picker> |
| | | </div> |
| | | </div> |
| | | <!-- 以下这两个为组长角色特有的 --> |
| | | <div class="search_thing" style="width: 200px"> |
| | | <div class="search_label">名字:</div> |
| | | <el-input |
| | | v-model="entity.name" |
| | | clearable |
| | | placeholder="请输入" |
| | | size="small" |
| | | @keyup.enter.native="refreshTable()" |
| | | ></el-input> |
| | | <el-input v-model="entity.name" clearable placeholder="请输入" size="small" |
| | | @keyup.enter.native="refreshTable()"></el-input> |
| | | </div> |
| | | <div |
| | | v-if="currentTable == 'ValueTable1'" |
| | | class="search_thing" |
| | | style="width: 250px" |
| | | > |
| | | <div v-if="currentTable == 'ValueTable1'" class="search_thing" style="width: 250px"> |
| | | <div class="search_label" style="width: 120px">样品编号:</div> |
| | | <el-input |
| | | v-model="entity.sample" |
| | | clearable |
| | | placeholder="请输入" |
| | | size="small" |
| | | @keyup.enter.native="refreshTable()" |
| | | ></el-input> |
| | | <el-input v-model="entity.sample" clearable placeholder="请输入" size="small" |
| | | @keyup.enter.native="refreshTable()"></el-input> |
| | | </div> |
| | | <div |
| | | v-if="currentTable == 'ValueTable0'" |
| | | class="search_thing" |
| | | style="width: 200px" |
| | | > |
| | | <div v-if="currentTable == 'ValueTable0'" class="search_thing" style="width: 200px"> |
| | | <div class="search_label">状态:</div> |
| | | <el-select |
| | | v-model="entity.state" |
| | | placeholder="全部" |
| | | size="small" |
| | | @change="refreshTable()" |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="item in stateList" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | <el-select v-model="entity.state" placeholder="全部" size="small" @change="refreshTable()" clearable> |
| | | <el-option v-for="item in stateList" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="search_thing" style="padding-left: 30px; width: 100px"> |
| | | <el-button size="small" @click="refresh()">重 置</el-button> |
| | | <el-button size="small" type="primary" @click="refreshTable()" |
| | | >查 询</el-button |
| | | > |
| | | <el-button size="small" type="primary" @click="refreshTable()">查 询</el-button> |
| | | </div> |
| | | </div> |
| | | <div |
| | | style="display: flex; align-items: center; justify-content: space-between" |
| | | > |
| | | <div style="display: flex; align-items: center; justify-content: space-between"> |
| | | <el-radio-group :key="'111'" v-model="currentTable" size="small"> |
| | | <el-radio-button label="ValueTable0"> 辅助工时 </el-radio-button> |
| | | <el-radio-button label="ValueTable1"> 产量工时 </el-radio-button> |
| | | </el-radio-group> |
| | | <div style="display: flex; align-items: center"> |
| | | <p style="font-size: 14px; margin-right: 30px"> |
| | | 总工时汇总:<span |
| | | v-if="totalInfo" |
| | | style="font-size: 16px; color: #3a7bfa" |
| | | >{{ |
| | | totalInfo["产量工时汇总"] + totalInfo["辅助工时汇总"] |
| | | ? Number( |
| | | totalInfo["产量工时汇总"] + totalInfo["辅助工时汇总"] |
| | | ).tofixed(4) |
| | | : 0 |
| | | }}</span |
| | | > 产量工时汇总:<span |
| | | v-if="totalInfo" |
| | | style="font-size: 16px; color: #3a7bfa" |
| | | >{{ |
| | | 总工时汇总:<span v-if="totalInfo" style="font-size: 16px; color: #3a7bfa">{{ |
| | | totalInfo["产量工时汇总"] + totalInfo["辅助工时汇总"] |
| | | ? Number( |
| | | totalInfo["产量工时汇总"] + totalInfo["辅助工时汇总"] |
| | | ).tofixed(4) |
| | | : 0 |
| | | }}</span> 产量工时汇总:<span v-if="totalInfo" style="font-size: 16px; color: #3a7bfa">{{ |
| | | totalInfo["产量工时汇总"] |
| | | ? Number(totalInfo["产量工时汇总"]).tofixed(4) |
| | | : 0 |
| | | }}</span |
| | | > 辅助工时汇总:<span |
| | | v-if="totalInfo" |
| | | style="font-size: 16px; color: #3a7bfa" |
| | | >{{ |
| | | }}</span> 辅助工时汇总:<span v-if="totalInfo" style="font-size: 16px; color: #3a7bfa">{{ |
| | | totalInfo["辅助工时汇总"] |
| | | ? Number(totalInfo["辅助工时汇总"]).tofixed(4) |
| | | : 0 |
| | | }}</span |
| | | > |
| | | }}</span> |
| | | </p> |
| | | <el-button |
| | | v-show=" |
| | | currentTable == 'ValueTable0' && |
| | | checkPermi(['performance:manHour:workTimeManagement:add']) |
| | | " |
| | | size="small" |
| | | type="primary" |
| | | @click="openAdd" |
| | | >录入数据</el-button |
| | | > |
| | | <el-button |
| | | v-if="down && currentTable === 'ValueTable0'" |
| | | :loading="outLoading" |
| | | size="small" |
| | | type="primary" |
| | | @click="handleOut" |
| | | >导 出</el-button |
| | | > |
| | | <el-button |
| | | v-if="down && currentTable === 'ValueTable1'" |
| | | :loading="outLoading" |
| | | size="small" |
| | | type="primary" |
| | | @click="handleOut1" |
| | | >导 出</el-button |
| | | > |
| | | <el-button |
| | | v-show=" |
| | | currentTable == 'ValueTable0' && |
| | | checkPermi(['performance:manHour:workTimeManagement:add']) |
| | | " |
| | | size="small" |
| | | type="primary" |
| | | @click="openBatchCheck(1)" |
| | | >批量批准</el-button |
| | | > |
| | | <el-button v-show="currentTable == 'ValueTable0' && |
| | | checkPermi(['performance:manHour:workTimeManagement:add']) |
| | | " size="small" type="primary" @click="openAdd">录入数据</el-button> |
| | | <el-button v-if="down && currentTable === 'ValueTable0'" :loading="outLoading" size="small" type="primary" |
| | | @click="handleOut">导 出</el-button> |
| | | <el-button v-if="down && currentTable === 'ValueTable1'" :loading="outLoading" size="small" type="primary" |
| | | @click="handleOut1">导 出</el-button> |
| | | <el-button v-show="currentTable == 'ValueTable0' && |
| | | checkPermi(['performance:manHour:workTimeManagement:add']) |
| | | " size="small" type="primary" @click="openBatchCheck(1)">批量批准</el-button> |
| | | </div> |
| | | </div> |
| | | <div class="table"> |
| | | <lims-table |
| | | :tableData="tableData" |
| | | :column="column" |
| | | :page="page" |
| | | :tableLoading="tableLoading" |
| | | :height="'calc(100vh - 350px)'" |
| | | :isSelection="true" |
| | | v-if="currentTable == 'ValueTable0'" |
| | | @pagination="pagination" |
| | | :handleSelectionChange="handleSelectionChange" |
| | | ></lims-table> |
| | | <lims-table |
| | | :tableData="tableData0" |
| | | :column="column0" |
| | | :page="page0" |
| | | :tableLoading="tableLoading" |
| | | :height="'calc(100vh - 350px)'" |
| | | v-if="currentTable == 'ValueTable1'" |
| | | @pagination="pagination0" |
| | | ></lims-table> |
| | | <lims-table :tableData="tableData" :column="column" :page="page" :tableLoading="tableLoading" |
| | | :height="'calc(100vh - 350px)'" :isSelection="true" v-if="currentTable == 'ValueTable0'" |
| | | @pagination="pagination" :handleSelectionChange="handleSelectionChange"></lims-table> |
| | | <lims-table :tableData="tableData0" :column="column0" :page="page0" :tableLoading="tableLoading" |
| | | :height="'calc(100vh - 350px)'" v-if="currentTable == 'ValueTable1'" @pagination="pagination0"></lims-table> |
| | | </div> |
| | | <el-dialog |
| | | :before-close="handleClose" |
| | | :title="formData.id ? '编辑' : '录入数据'" |
| | | :visible.sync="addVisible" |
| | | width="600px" |
| | | > |
| | | <el-dialog :before-close="handleClose" :title="formData.id ? '编辑' : '录入数据'" :visible.sync="addVisible" |
| | | width="600px"> |
| | | <el-row style="display: flex; justify-content: space-around"> |
| | | <el-col :span="12"> |
| | | <el-form :model="formData" label-width="90px"> |
| | | <el-form-item label="录入时间:"> |
| | | <el-radio-group v-model="formData.dateTime" size="small"> |
| | | <el-radio :label="getYearAndMonthAndDays() + ' 00:00:00'" |
| | | >今天</el-radio |
| | | > |
| | | <el-radio |
| | | :label=" |
| | | getYearAndMonthAndDays( |
| | | new Date(new Date().getTime() - 24 * 60 * 60 * 1000) |
| | | ) + ' 00:00:00' |
| | | " |
| | | >昨天</el-radio |
| | | > |
| | | <el-radio :label="getYearAndMonthAndDays() + ' 00:00:00'">今天</el-radio> |
| | | <el-radio :label="getYearAndMonthAndDays( |
| | | new Date(new Date().getTime() - 24 * 60 * 60 * 1000) |
| | | ) + ' 00:00:00' |
| | | ">昨天</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="年份:"> |
| | | <el-input |
| | | v-model="formData.year" |
| | | disabled |
| | | size="small" |
| | | ></el-input> |
| | | <el-input v-model="formData.year" disabled size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="周次:"> |
| | | <el-input |
| | | v-model="formData.week" |
| | | disabled |
| | | size="small" |
| | | ></el-input> |
| | | <el-input v-model="formData.week" disabled size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="星期:"> |
| | | <!-- <el-input v-model="formData.weekDay" size="small" disabled></el-input> --> |
| | | <el-select |
| | | v-model="formData.weekDay" |
| | | disabled |
| | | placeholder="请选择" |
| | | size="small" |
| | | > |
| | | <el-option |
| | | v-for="item in weekList" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | <el-select v-model="formData.weekDay" disabled placeholder="请选择" size="small"> |
| | | <el-option v-for="item in weekList" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="班次:"> |
| | | <el-input |
| | | v-model="formData.shift" |
| | | disabled |
| | | size="small" |
| | | ></el-input> |
| | | <el-input v-model="formData.shift" disabled size="small"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form :model="formData" label-width="90px"> |
| | | <el-form-item label="编号:" required> |
| | | <el-input |
| | | v-model="formData.number" |
| | | size="small" |
| | | @blur="getInfoByCode" |
| | | ></el-input> |
| | | <el-input v-model="formData.number" size="small" @blur="getInfoByCode"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="数量:" required> |
| | | <el-input v-model="formData.amount" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="核准工时:"> |
| | | <el-input |
| | | v-model="formData.approvedWorkingHour" |
| | | disabled |
| | | size="small" |
| | | ></el-input> |
| | | <el-input v-model="formData.approvedWorkingHour" disabled size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="辅助工时:"> |
| | | <el-input |
| | | v-model="formData.nonproductiveTime" |
| | | disabled |
| | | size="small" |
| | | ></el-input> |
| | | <el-input v-model="formData.nonproductiveTime" disabled size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="辅助项目:"> |
| | | <el-input |
| | | v-model="formData.auxiliaryProject" |
| | | disabled |
| | | size="small" |
| | | ></el-input> |
| | | <el-input v-model="formData.auxiliaryProject" disabled size="small"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-col> |
| | | </el-row> |
| | | <el-form :model="formData" label-width="90px"> |
| | | <el-form-item label="辅助说明:"> |
| | | <el-input |
| | | v-model="formData.remarks" |
| | | :rows="3" |
| | | size="small" |
| | | type="textarea" |
| | | ></el-input> |
| | | <el-input v-model="formData.remarks" :rows="3" size="small" type="textarea"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-row> |
| | | <el-button @click="handleClose">取 消</el-button> |
| | | <el-button :loading="addLoad" type="primary" @click="submitAdd" |
| | | >确 定</el-button |
| | | > |
| | | <el-button :loading="addLoad" type="primary" @click="submitAdd">确 定</el-button> |
| | | </el-row> |
| | | </span> |
| | | </el-dialog> |
| | |
| | | <el-col :span="12"> |
| | | <el-form :model="formData0" label-width="90px"> |
| | | <el-form-item label="年份:"> |
| | | <el-input |
| | | v-model="formData0.year" |
| | | :disabled="title == '批准'" |
| | | size="small" |
| | | ></el-input> |
| | | <el-input v-model="formData0.year" :disabled="title == '批准'" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="周次:"> |
| | | <el-input |
| | | v-model="formData0.week" |
| | | :disabled="title == '批准'" |
| | | size="small" |
| | | ></el-input> |
| | | <el-input v-model="formData0.week" :disabled="title == '批准'" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="星期:"> |
| | | <el-select |
| | | v-model="formData0.weekDay" |
| | | :disabled="title == '批准'" |
| | | placeholder="请选择" |
| | | size="small" |
| | | > |
| | | <el-option |
| | | v-for="item in weekList" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | <el-select v-model="formData0.weekDay" :disabled="title == '批准'" placeholder="请选择" size="small"> |
| | | <el-option v-for="item in weekList" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="姓名:"> |
| | | <el-input |
| | | v-model="formData0.name" |
| | | disabled |
| | | size="small" |
| | | ></el-input> |
| | | <el-input v-model="formData0.name" disabled size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="班次:"> |
| | | <el-select |
| | | v-model="formData0.shift" |
| | | :disabled="title == '批准'" |
| | | placeholder="请选择" |
| | | size="small" |
| | | > |
| | | <el-option |
| | | v-for="item in classType" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | <el-select v-model="formData0.shift" :disabled="title == '批准'" placeholder="请选择" size="small"> |
| | | <el-option v-for="item in classType" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="复核说明:"> |
| | | <el-input |
| | | v-model="formData0.reviewerRemark" |
| | | :rows="3" |
| | | size="small" |
| | | type="textarea" |
| | | ></el-input> |
| | | <el-input v-model="formData0.reviewerRemark" :rows="3" size="small" type="textarea"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form :model="formData0" label-width="90px"> |
| | | <el-form-item label="编号:" required> |
| | | <el-input |
| | | v-model="formData0.number" |
| | | :disabled="title == '批准'" |
| | | size="small" |
| | | ></el-input> |
| | | <el-input v-model="formData0.number" :disabled="title == '批准'" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="数量:" required> |
| | | <el-input |
| | | v-model="formData0.amount" |
| | | :disabled="title == '批准'" |
| | | size="small" |
| | | ></el-input> |
| | | <el-input v-model="formData0.amount" :disabled="title == '批准'" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="复核数量:" required> |
| | | <el-input |
| | | v-model="formData0.reviewerNumber" |
| | | size="small" |
| | | ></el-input> |
| | | <el-input v-model="formData0.reviewerNumber" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="核准工时:"> |
| | | <el-input |
| | | v-model="formData0.approvedWorkingHour" |
| | | disabled |
| | | size="small" |
| | | ></el-input> |
| | | <el-input v-model="formData0.approvedWorkingHour" disabled size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="复核工时:"> |
| | | <el-input |
| | | v-model="formData0.reviewerNonproductiveTime" |
| | | disabled |
| | | size="small" |
| | | ></el-input> |
| | | <el-input v-model="formData0.reviewerNonproductiveTime" disabled size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="辅助项目:"> |
| | | <el-input |
| | | v-model="formData0.auxiliaryProject" |
| | | disabled |
| | | size="small" |
| | | ></el-input> |
| | | <el-input v-model="formData0.auxiliaryProject" disabled size="small"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </el-col> |
| | | </el-row> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-row> |
| | | <el-button :loading="checkLoadN" @click="submitCheck(0)" |
| | | >不批准</el-button |
| | | > |
| | | <el-button |
| | | :loading="checkLoadY" |
| | | type="primary" |
| | | @click="submitCheck(1)" |
| | | >批 准</el-button |
| | | > |
| | | <el-button :loading="checkLoadN" @click="submitCheck(0)">不批准</el-button> |
| | | <el-button :loading="checkLoadY" type="primary" @click="submitCheck(1)">批 准</el-button> |
| | | </el-row> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog |
| | | :before-close="closeBatchCheckDialog" |
| | | :title="batchCheckTitle" |
| | | :visible.sync="batchCheckDialog" |
| | | width="30%" |
| | | > |
| | | <el-dialog :before-close="closeBatchCheckDialog" :title="batchCheckTitle" :visible.sync="batchCheckDialog" |
| | | width="30%"> |
| | | <span>{{ batchCheckDialogMessage }}</span> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="batchCheck(0)">不批准</el-button> |
| | |
| | | dataType: "action", |
| | | fixed: "right", |
| | | label: "操作", |
| | | width: "160px", |
| | | operation: [ |
| | | { |
| | | name: "编辑", |
| | |
| | | param = { ...entity, ...this.page }; |
| | | } else { |
| | | param = { ...this.entity, ...this.page }; |
| | | param.dateTime = JSON.stringify(param.dateTime); |
| | | param.dateTime = param.dateTime?.length > 0 ? JSON.stringify(param.dateTime) : null; |
| | | } |
| | | delete param.total; |
| | | console.log('11111111111111111') |
| | | selectAuxiliaryWorkingHoursDay({ ...param }) |
| | | .then((res) => { |
| | | this.tableLoading = false; |
| | |
| | | }) |
| | | .then(() => { |
| | | deleteAuxiliaryWorkingHoursDay({ id: row.id }).then((res) => { |
| | | if (res.code == 201) return; |
| | | this.$message.success("删除成功"); |
| | | this.refreshTable("page"); |
| | | }); |
| | | }) |
| | | .catch(() => {}); |
| | | .catch(() => { }); |
| | | }, |
| | | handleClose() { |
| | | this.addVisible = false; |
| | |
| | | if (!this.formData.id) { |
| | | insertAuxiliaryWorkingHoursDay(this.formData).then((res) => { |
| | | this.addLoad = false; |
| | | if (res.code == 201) return; |
| | | this.$message.success("已提交"); |
| | | this.formData.number = ""; |
| | | this.formData.amount = ""; |
| | |
| | | } else { |
| | | updateAuxiliaryWorkingHoursDay(this.formData).then((res) => { |
| | | this.addLoad = false; |
| | | if (res.code == 201) return; |
| | | this.$message.success("操作成功"); |
| | | this.formData.number = ""; |
| | | this.formData.amount = ""; |
| | |
| | | }); |
| | | approve({ auxiliaryWorkingHoursDays: auxiliaryWorkingHoursDays }).then( |
| | | (res) => { |
| | | if (res.code === 201) { |
| | | return; |
| | | } |
| | | this.submitBatchCheckDialog(); |
| | | this.$message.success("操作成功"); |
| | | } |
| | |
| | | } else { |
| | | this.checkLoadY = false; |
| | | } |
| | | if (res.code == 201) return; |
| | | this.$message.success("操作成功"); |
| | | this.checkVisible = false; |
| | | this.refreshTable("page"); |
| | |
| | | exportAssistantHours({ entity: entity }) |
| | | .then((res) => { |
| | | this.outLoading = false; |
| | | this.$message.success("导出成功"); |
| | | const blob = new Blob([res]); |
| | | this.$download.saveAs(blob, "辅助工时信息导出.xlsx"); |
| | | }) |
| | |
| | | exportOutputHours({ entity: entity }) |
| | | .then((res) => { |
| | | this.outLoading = false; |
| | | this.$message.success("导出成功"); |
| | | const blob = new Blob([res]); |
| | | this.$download.saveAs(blob, "产量工时信息导出.xlsx"); |
| | | }) |
| | |
| | | padding-top: 0; |
| | | /* scrollbar-width: none; */ |
| | | } |
| | | |
| | | /* .work-time-management::-webkit-scrollbar { |
| | | display: none; |
| | | } */ |