|
@@ -1,13 +1,13 @@
|
|
|
@extends('layouts.app')
|
|
@extends('layouts.app')
|
|
|
@section('title')二次加工管理@endsection
|
|
@section('title')二次加工管理@endsection
|
|
|
@section('content')
|
|
@section('content')
|
|
|
-<span id="nav2">
|
|
|
|
|
|
|
+ <span id="nav2">
|
|
|
@component('process.menu')@endcomponent
|
|
@component('process.menu')@endcomponent
|
|
|
</span>
|
|
</span>
|
|
|
-<div class="d-none" id="process">
|
|
|
|
|
- <div class="container-fluid">
|
|
|
|
|
- <div id="form_div"></div>
|
|
|
|
|
- <span class="dropdown">
|
|
|
|
|
|
|
+ <div class="d-none" id="process">
|
|
|
|
|
+ <div class="container-fluid">
|
|
|
|
|
+ <div id="form_div"></div>
|
|
|
|
|
+ <span class="dropdown">
|
|
|
<button class="btn btn-outline-dark btn-sm form-control-sm dropdown-toggle tooltipTarget" :class="[checkData.length>0?'btn-dark text-light':'']"
|
|
<button class="btn btn-outline-dark btn-sm form-control-sm dropdown-toggle tooltipTarget" :class="[checkData.length>0?'btn-dark text-light':'']"
|
|
|
data-toggle="dropdown" title="导出所有页将会以搜索条件得到的过滤结果,将其全部记录(每一页)导出">
|
|
data-toggle="dropdown" title="导出所有页将会以搜索条件得到的过滤结果,将其全部记录(每一页)导出">
|
|
|
导出Excel
|
|
导出Excel
|
|
@@ -17,147 +17,147 @@
|
|
|
<a class="dropdown-item" @click="processExport(true)" href="javascript:">导出所有页</a>
|
|
<a class="dropdown-item" @click="processExport(true)" href="javascript:">导出所有页</a>
|
|
|
</div>
|
|
</div>
|
|
|
</span>
|
|
</span>
|
|
|
- <!--新增教程关联-->
|
|
|
|
|
- <div style="top:25%" class="modal fade" id="addTutorial" tabindex="-1" role="dialog" aria-labelledby="addTutorial" aria-hidden="true">
|
|
|
|
|
- <div class="modal-dialog">
|
|
|
|
|
- <div class="modal-content">
|
|
|
|
|
- <div class="modal-header m-1 p-0">
|
|
|
|
|
- <button type="button" class="close pr-4" data-dismiss="modal" aria-hidden="true">×</button>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="modal-body m-auto">
|
|
|
|
|
- <table class="table-sm">
|
|
|
|
|
- <tr>
|
|
|
|
|
- <th>标题</th>
|
|
|
|
|
- <th><button class="btn btn-sm btn-outline-primary" @click="addTutorial()">新增教程</button></th>
|
|
|
|
|
- </tr>
|
|
|
|
|
- <tr v-for="tutorial in processTutorial.tutorials">
|
|
|
|
|
- <td><div style="cursor:pointer;overflow: hidden;width: 200px" @click="showTutorial(tutorial.id)" :title="tutorial.name" class="text-primary">@{{tutorial.name}}</div></td>
|
|
|
|
|
- @can("二次加工管理-教程管理")<td><button @click="selectedTutorial(processTutorial.id,tutorial.id)" class="btn btn-sm btn-success pull-right">选择</button></td>@endcan
|
|
|
|
|
- </tr>
|
|
|
|
|
- </table>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div><!-- /.modal-content -->
|
|
|
|
|
- </div><!-- /.modal -->
|
|
|
|
|
- </div>
|
|
|
|
|
- <!-- 显示教程-->
|
|
|
|
|
- <div class="modal fade" id="showTutorial" tabindex="-1" role="dialog" aria-labelledby="showTutorial" aria-hidden="true">
|
|
|
|
|
- <div class="modal-dialog">
|
|
|
|
|
- <div class="modal-content">
|
|
|
|
|
- <div class="modal-header">
|
|
|
|
|
- <button type="button" class="close pull-right" data-dismiss="modal" aria-hidden="true">×</button>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="modal-body custom-rich-text-content" id="content"></div>
|
|
|
|
|
- <div class="modal-footer">
|
|
|
|
|
- <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div><!-- /.modal-content -->
|
|
|
|
|
- </div><!-- /.modal -->
|
|
|
|
|
- </div>
|
|
|
|
|
- <!-- 修改modal -->
|
|
|
|
|
- <div data-backdrop="static" class="modal fade" id="updateModal" tabindex="-1" role="dialog" aria-labelledby="updateModalLabel" aria-hidden="true">
|
|
|
|
|
- <div class="modal-dialog modal-dialog-centered" role="document">
|
|
|
|
|
- <div class="modal-content">
|
|
|
|
|
- <div class="modal-body">
|
|
|
|
|
- <div v-if="errors.user_id" class="row"><label class="col-3"></label><small class="text-danger col-7">@{{ errors.user_id }}</small></div>
|
|
|
|
|
- <div class="form-group row">
|
|
|
|
|
- <label for="initial_weight" class="col-3 col-form-label text-right">参与者</label>
|
|
|
|
|
- <div class="col-7">
|
|
|
|
|
- <input :class="{ 'is-invalid' : errors.user_id }" @change="verifyUserName($event,null,null,processDailyParticipantOne)" type="text" class="form-control" autocomplete="off" v-model="processDailyParticipantOne.user_detail_full_name" >
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <!--新增教程关联-->
|
|
|
|
|
+ <div style="top:25%" class="modal fade" id="addTutorial" tabindex="-1" role="dialog" aria-labelledby="addTutorial" aria-hidden="true">
|
|
|
|
|
+ <div class="modal-dialog">
|
|
|
|
|
+ <div class="modal-content">
|
|
|
|
|
+ <div class="modal-header m-1 p-0">
|
|
|
|
|
+ <button type="button" class="close pr-4" data-dismiss="modal" aria-hidden="true">×</button>
|
|
|
</div>
|
|
</div>
|
|
|
- <div v-if="errors.started_at" class="row"><label class="col-3"></label><small class="text-danger col-7">@{{ errors.started_at[0] }}</small></div>
|
|
|
|
|
- <div class="form-group row">
|
|
|
|
|
- <label for="initial_weight" class="col-3 col-form-label text-right">开始时间</label>
|
|
|
|
|
- <div class="col-7">
|
|
|
|
|
- <input :class="{ 'is-invalid' : errors.started_at }" type="time" @input="hourFilter(processDailyParticipantOne,false)" class="form-control" autocomplete="off" v-model="processDailyParticipantOne.started_at" >
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <div class="modal-body m-auto">
|
|
|
|
|
+ <table class="table-sm">
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <th>标题</th>
|
|
|
|
|
+ <th><button class="btn btn-sm btn-outline-primary" @click="addTutorial()">新增教程</button></th>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr v-for="tutorial in processTutorial.tutorials">
|
|
|
|
|
+ <td><div style="cursor:pointer;overflow: hidden;width: 200px" @click="showTutorial(tutorial.id)" :title="tutorial.name" class="text-primary">@{{tutorial.name}}</div></td>
|
|
|
|
|
+ @can("二次加工管理-教程管理")<td><button @click="selectedTutorial(processTutorial.id,tutorial.id)" class="btn btn-sm btn-success pull-right">选择</button></td>@endcan
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ </table>
|
|
|
</div>
|
|
</div>
|
|
|
- <div v-if="errors.ended_at" class="row"><label class="col-3"></label><small class="text-danger col-7">@{{ errors.ended_at[0] }}</small></div>
|
|
|
|
|
- <div class="form-group row">
|
|
|
|
|
- <label for="initial_weight" class="col-3 col-form-label text-right">结束时间</label>
|
|
|
|
|
- <div class="col-7">
|
|
|
|
|
- <input :class="{ 'is-invalid' : errors.ended_at }" type="time" @input="hourFilter(processDailyParticipantOne,false)" class="form-control" autocomplete="off" v-model="processDailyParticipantOne.ended_at" >
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ </div><!-- /.modal-content -->
|
|
|
|
|
+ </div><!-- /.modal -->
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <!-- 显示教程-->
|
|
|
|
|
+ <div class="modal fade" id="showTutorial" tabindex="-1" role="dialog" aria-labelledby="showTutorial" aria-hidden="true">
|
|
|
|
|
+ <div class="modal-dialog">
|
|
|
|
|
+ <div class="modal-content">
|
|
|
|
|
+ <div class="modal-header">
|
|
|
|
|
+ <button type="button" class="close pull-right" data-dismiss="modal" aria-hidden="true">×</button>
|
|
|
</div>
|
|
</div>
|
|
|
- <div v-if="errors.hour_price" class="row"><label class="col-3"></label><small class="text-danger col-7">@{{ errors.hour_price[0] }}</small></div>
|
|
|
|
|
- <div class="form-group row">
|
|
|
|
|
- <label for="initial_weight" class="col-3 col-form-label text-right">计时单价</label>
|
|
|
|
|
- <div class="col-7">
|
|
|
|
|
- <input :class="{ 'is-invalid' : errors.hour_price }" type="text" class="form-control" autocomplete="off" v-model="processDailyParticipantOne.hour_price" >
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <div class="modal-body custom-rich-text-content" id="content"></div>
|
|
|
|
|
+ <div class="modal-footer">
|
|
|
|
|
+ <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
|
|
|
</div>
|
|
</div>
|
|
|
- <div v-if="errors.unit_price" class="row"><label class="col-3"></label><small class="text-danger col-7">@{{ errors.unit_price[0] }}</small></div>
|
|
|
|
|
- <div class="form-group row">
|
|
|
|
|
- <label for="initial_weight" class="col-3 col-form-label text-right">计件单价</label>
|
|
|
|
|
- <div class="col-7">
|
|
|
|
|
- <input :class="{ 'is-invalid' : errors.unit_price }" type="text" class="form-control" autocomplete="off" v-model="processDailyParticipantOne.unit_price" >
|
|
|
|
|
|
|
+ </div><!-- /.modal-content -->
|
|
|
|
|
+ </div><!-- /.modal -->
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <!-- 修改modal -->
|
|
|
|
|
+ <div data-backdrop="static" class="modal fade" id="updateModal" tabindex="-1" role="dialog" aria-labelledby="updateModalLabel" aria-hidden="true">
|
|
|
|
|
+ <div class="modal-dialog modal-dialog-centered" role="document">
|
|
|
|
|
+ <div class="modal-content">
|
|
|
|
|
+ <div class="modal-body">
|
|
|
|
|
+ <div v-if="errors.user_id" class="row"><label class="col-3"></label><small class="text-danger col-7">@{{ errors.user_id }}</small></div>
|
|
|
|
|
+ <div class="form-group row">
|
|
|
|
|
+ <label for="initial_weight" class="col-3 col-form-label text-right">参与者</label>
|
|
|
|
|
+ <div class="col-7">
|
|
|
|
|
+ <input :class="{ 'is-invalid' : errors.user_id }" @change="verifyUserName($event,null,null,processDailyParticipantOne)" type="text" class="form-control" autocomplete="off" v-model="processDailyParticipantOne.user_detail_full_name" >
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
- </div>
|
|
|
|
|
- <div v-if="errors.dinner_duration" class="row"><label class="col-3"></label><small class="text-danger col-7">@{{ errors.dinner_duration[0] }}</small></div>
|
|
|
|
|
- <div class="form-group row">
|
|
|
|
|
- <label for="initial_weight" class="col-3 col-form-label text-right">晚饭时间</label>
|
|
|
|
|
- <div class="col-7">
|
|
|
|
|
- <select :class="{ 'is-invalid' : errors.dinner_duration }" :data-old-value="processDailyParticipantOne.dinner_duration" v-model="processDailyParticipantOne.dinner_duration"
|
|
|
|
|
- @change="updateDinnerDuration(processDailyParticipantOne,$event)" class="form-control">
|
|
|
|
|
- <option value="0">无</option>
|
|
|
|
|
- <option value="30">30分钟</option>
|
|
|
|
|
- <option value="60">60分钟</option>
|
|
|
|
|
- </select>
|
|
|
|
|
|
|
+ <div v-if="errors.started_at" class="row"><label class="col-3"></label><small class="text-danger col-7">@{{ errors.started_at[0] }}</small></div>
|
|
|
|
|
+ <div class="form-group row">
|
|
|
|
|
+ <label for="initial_weight" class="col-3 col-form-label text-right">开始时间</label>
|
|
|
|
|
+ <div class="col-7">
|
|
|
|
|
+ <input :class="{ 'is-invalid' : errors.started_at }" type="time" @input="hourFilter(processDailyParticipantOne,false)" class="form-control" autocomplete="off" v-model="processDailyParticipantOne.started_at" >
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
- </div>
|
|
|
|
|
- <div v-if="errors.hour_count" class="row"><label class="col-3"></label><small class="text-danger col-7">@{{ errors.hour_count[0] }}</small></div>
|
|
|
|
|
- <div class="form-group row">
|
|
|
|
|
- <label for="initial_weight" class="col-3 col-form-label text-right">计时工时</label>
|
|
|
|
|
- <div class="col-7">
|
|
|
|
|
- <input :class="{ 'is-invalid' : errors.hour_count }" type="text" class="form-control" autocomplete="off" v-model="processDailyParticipantOne.hour_count" >
|
|
|
|
|
|
|
+ <div v-if="errors.ended_at" class="row"><label class="col-3"></label><small class="text-danger col-7">@{{ errors.ended_at[0] }}</small></div>
|
|
|
|
|
+ <div class="form-group row">
|
|
|
|
|
+ <label for="initial_weight" class="col-3 col-form-label text-right">结束时间</label>
|
|
|
|
|
+ <div class="col-7">
|
|
|
|
|
+ <input :class="{ 'is-invalid' : errors.ended_at }" type="time" @input="hourFilter(processDailyParticipantOne,false)" class="form-control" autocomplete="off" v-model="processDailyParticipantOne.ended_at" >
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
- </div>
|
|
|
|
|
- <div v-if="errors.unit_count" class="row"><label class="col-3"></label><small class="text-danger col-7">@{{ errors.unit_count[0] }}</small></div>
|
|
|
|
|
- <div class="form-group row">
|
|
|
|
|
- <label for="initial_weight" class="col-3 col-form-label text-right">计件数量</label>
|
|
|
|
|
- <div class="col-7">
|
|
|
|
|
- <input :class="{ 'is-invalid' : errors.unit_count }" type="text" class="form-control" autocomplete="off" v-model="processDailyParticipantOne.unit_count" >
|
|
|
|
|
|
|
+ <div v-if="errors.hour_price" class="row"><label class="col-3"></label><small class="text-danger col-7">@{{ errors.hour_price[0] }}</small></div>
|
|
|
|
|
+ <div class="form-group row">
|
|
|
|
|
+ <label for="initial_weight" class="col-3 col-form-label text-right">计时单价</label>
|
|
|
|
|
+ <div class="col-7">
|
|
|
|
|
+ <input :class="{ 'is-invalid' : errors.hour_price }" type="text" class="form-control" autocomplete="off" v-model="processDailyParticipantOne.hour_price" >
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
- </div>
|
|
|
|
|
- <div class="form-group row">
|
|
|
|
|
- <label for="initial_weight" class="col-3 col-form-label text-right">备注</label>
|
|
|
|
|
- <div class="col-7">
|
|
|
|
|
- <input type="text" class="form-control" autocomplete="off" v-model="processDailyParticipantOne.remark" >
|
|
|
|
|
|
|
+ <div v-if="errors.unit_price" class="row"><label class="col-3"></label><small class="text-danger col-7">@{{ errors.unit_price[0] }}</small></div>
|
|
|
|
|
+ <div class="form-group row">
|
|
|
|
|
+ <label for="initial_weight" class="col-3 col-form-label text-right">计件单价</label>
|
|
|
|
|
+ <div class="col-7">
|
|
|
|
|
+ <input :class="{ 'is-invalid' : errors.unit_price }" type="text" class="form-control" autocomplete="off" v-model="processDailyParticipantOne.unit_price" >
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div v-if="errors.dinner_duration" class="row"><label class="col-3"></label><small class="text-danger col-7">@{{ errors.dinner_duration[0] }}</small></div>
|
|
|
|
|
+ <div class="form-group row">
|
|
|
|
|
+ <label for="initial_weight" class="col-3 col-form-label text-right">晚饭时间</label>
|
|
|
|
|
+ <div class="col-7">
|
|
|
|
|
+ <select :class="{ 'is-invalid' : errors.dinner_duration }" :data-old-value="processDailyParticipantOne.dinner_duration" v-model="processDailyParticipantOne.dinner_duration"
|
|
|
|
|
+ @change="updateDinnerDuration(processDailyParticipantOne,$event)" class="form-control">
|
|
|
|
|
+ <option value="0">无</option>
|
|
|
|
|
+ <option value="30">30分钟</option>
|
|
|
|
|
+ <option value="60">60分钟</option>
|
|
|
|
|
+ </select>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div v-if="errors.hour_count" class="row"><label class="col-3"></label><small class="text-danger col-7">@{{ errors.hour_count[0] }}</small></div>
|
|
|
|
|
+ <div class="form-group row">
|
|
|
|
|
+ <label for="initial_weight" class="col-3 col-form-label text-right">计时工时</label>
|
|
|
|
|
+ <div class="col-7">
|
|
|
|
|
+ <input :class="{ 'is-invalid' : errors.hour_count }" type="text" class="form-control" autocomplete="off" v-model="processDailyParticipantOne.hour_count" >
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div v-if="errors.unit_count" class="row"><label class="col-3"></label><small class="text-danger col-7">@{{ errors.unit_count[0] }}</small></div>
|
|
|
|
|
+ <div class="form-group row">
|
|
|
|
|
+ <label for="initial_weight" class="col-3 col-form-label text-right">计件数量</label>
|
|
|
|
|
+ <div class="col-7">
|
|
|
|
|
+ <input :class="{ 'is-invalid' : errors.unit_count }" type="text" class="form-control" autocomplete="off" v-model="processDailyParticipantOne.unit_count" >
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="form-group row">
|
|
|
|
|
+ <label for="initial_weight" class="col-3 col-form-label text-right">备注</label>
|
|
|
|
|
+ <div class="col-7">
|
|
|
|
|
+ <input type="text" class="form-control" autocomplete="off" v-model="processDailyParticipantOne.remark" >
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
- </div>
|
|
|
|
|
- <div class="modal-footer">
|
|
|
|
|
- <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
|
|
|
|
|
- @can("二次加工管理-登记工时")<button v-if="isShow.isUpdateConfirmBtn" @click="submitUpdateProcessDailyParticipant()" class="btn btn-primary">提交更改</button>@endcan
|
|
|
|
|
- </div>
|
|
|
|
|
- </div><!-- /.modal-content -->
|
|
|
|
|
- </div><!-- /.modal -->
|
|
|
|
|
- </div>
|
|
|
|
|
- <!-- 多临时工选择(Modal) -->
|
|
|
|
|
- <div data-backdrop="static" style="top:25%" class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
|
|
|
|
|
- <div class="modal-dialog">
|
|
|
|
|
- <div class="modal-content" style="background-color: #d6e9f8">
|
|
|
|
|
- <div class="modal-body m-auto">
|
|
|
|
|
- <table class="table-sm">
|
|
|
|
|
- <tr>
|
|
|
|
|
- <th>姓名</th>
|
|
|
|
|
- <th>性别</th>
|
|
|
|
|
- <th>电话</th>
|
|
|
|
|
- <th>最近打卡时间</th>
|
|
|
|
|
- <th></th>
|
|
|
|
|
- </tr>
|
|
|
|
|
- <tr v-for="userLabor in userLabors" v-if="userLabor.userLabor">
|
|
|
|
|
- <td>@{{ userLabor.full_name }}</td>
|
|
|
|
|
- <td>@{{ userLabor.gender }}</td>
|
|
|
|
|
- <td>@{{ userLabor.mobile_phone }}</td>
|
|
|
|
|
- <td>@{{ userLabor.checked_at }}</td>
|
|
|
|
|
- <td><button @click="selectedUser(userLabor)" class="btn btn-sm btn-success">选择</button></td>
|
|
|
|
|
- </tr>
|
|
|
|
|
- </table>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div><!-- /.modal-content -->
|
|
|
|
|
- </div><!-- /.modal -->
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <div class="modal-footer">
|
|
|
|
|
+ <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
|
|
|
|
|
+ @can("二次加工管理-登记工时")<button v-if="isShow.isUpdateConfirmBtn" @click="submitUpdateProcessDailyParticipant()" class="btn btn-primary">提交更改</button>@endcan
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div><!-- /.modal-content -->
|
|
|
|
|
+ </div><!-- /.modal -->
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <!-- 多临时工选择(Modal) -->
|
|
|
|
|
+ <div data-backdrop="static" style="top:25%" class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
|
|
|
|
|
+ <div class="modal-dialog">
|
|
|
|
|
+ <div class="modal-content" style="background-color: #d6e9f8">
|
|
|
|
|
+ <div class="modal-body m-auto">
|
|
|
|
|
+ <table class="table-sm">
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <th>姓名</th>
|
|
|
|
|
+ <th>性别</th>
|
|
|
|
|
+ <th>电话</th>
|
|
|
|
|
+ <th>最近打卡时间</th>
|
|
|
|
|
+ <th></th>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr v-for="userLabor in userLabors" v-if="userLabor.userLabor">
|
|
|
|
|
+ <td>@{{ userLabor.full_name }}</td>
|
|
|
|
|
+ <td>@{{ userLabor.gender }}</td>
|
|
|
|
|
+ <td>@{{ userLabor.mobile_phone }}</td>
|
|
|
|
|
+ <td>@{{ userLabor.checked_at }}</td>
|
|
|
|
|
+ <td><button @click="selectedUser(userLabor)" class="btn btn-sm btn-success">选择</button></td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ </table>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div><!-- /.modal-content -->
|
|
|
|
|
+ </div><!-- /.modal -->
|
|
|
|
|
+ </div>
|
|
|
<table class="table table-sm text-nowrap">
|
|
<table class="table table-sm text-nowrap">
|
|
|
<tr class="row-even" id="header">
|
|
<tr class="row-even" id="header">
|
|
|
<th>
|
|
<th>
|
|
@@ -189,247 +189,247 @@
|
|
|
<th style="min-width: 200px">商品条码</th>
|
|
<th style="min-width: 200px">商品条码</th>
|
|
|
<th style="min-width: 300px">商品名称 </th>
|
|
<th style="min-width: 300px">商品名称 </th>
|
|
|
<th>备注</th>
|
|
<th>备注</th>
|
|
|
- <th></th>
|
|
|
|
|
|
|
+ <th>操作</th>
|
|
|
</tr>
|
|
</tr>
|
|
|
<template>
|
|
<template>
|
|
|
- <tr v-for="(processOne,i) in processes" :class="processOne.serial_number%2==0?'row-even':''" :id="processOne.id?processOne.id:processes[i-1].id+'-2'" :name="'process_table_'+processOne.serial_number" @mouseover="changeStyle('process_table_'+processOne.serial_number,true)" @mouseout="changeStyle('process_table_'+processOne.serial_number,false)">
|
|
|
|
|
- <td v-if="processOne.id" :rowspan="processOne.is_multi_row?2:''">
|
|
|
|
|
- <input class="checkItem" type="checkbox" :value="processOne.id" v-model="checkData">
|
|
|
|
|
- </td>
|
|
|
|
|
- <td v-if="processOne.id" class="text-muted" :rowspan="processOne.is_multi_row?2:''">@{{ processOne.serial_number }}</td>
|
|
|
|
|
- <td v-if="processOne.id" style="min-width:200px;" :rowspan="processOne.is_multi_row?2:''">
|
|
|
|
|
- @can("二次加工管理-审核")
|
|
|
|
|
- <button v-if="!processOne.openProcessHour && (processOne.status=='待审核' || processOne.status=='已驳回')" @mouseenter="processOne.buttonTexts.审核='审核'" @mouseleave="processOne.buttonTexts.审核='审'" class="btn btn-sm btn-outline-success" @click="audit(processOne)"><span>@{{ processOne.buttonTexts.审核 }}</span></button>@endcan
|
|
|
|
|
- @can("二次加工管理-回滚")
|
|
|
|
|
- <button v-if="!processOne.openProcessHour && processOne.status!='交接完成' && processOne.status!='待审核'" class="btn btn-sm btn-outline-dark" style="opacity: 0.65" @click="rollback(processOne.id)" @mouseenter="processOne.buttonTexts.回滚='回滚'" @mouseleave="processOne.buttonTexts.回滚='回'">@{{ processOne.buttonTexts.回滚 }}</button>@endcan
|
|
|
|
|
- @can("二次加工管理-质量验收")
|
|
|
|
|
- <button v-if="!processOne.openProcessHour && processOne.status=='待验收'" class="btn btn-sm btn-outline-success" @click="checkAndAccept(processOne)" @mouseenter="processOne.buttonTexts.质量验收='质量验收'" @mouseleave="processOne.buttonTexts.质量验收='验'">@{{processOne.buttonTexts.质量验收}}</button>@endcan
|
|
|
|
|
- @can("二次加工管理-接单与驳回")
|
|
|
|
|
- <button v-if="!processOne.openProcessHour && processOne.status=='待接单'" @click="processReject(processOne.id)" class="btn btn-sm btn-outline-dark" @mouseenter="processOne.buttonTexts.驳回='驳回'" @mouseleave="processOne.buttonTexts.驳回='驳'">@{{processOne.buttonTexts.驳回}}</button>
|
|
|
|
|
- <button v-if="!processOne.openProcessHour && processOne.status=='待接单'" @click="processReceive(processOne.id)" class="btn btn-sm btn-outline-primary" @mouseenter="processOne.buttonTexts.接单='接单'" @mouseleave="processOne.buttonTexts.接单='接'">@{{processOne.buttonTexts.接单}}</button>@endcan
|
|
|
|
|
- @can("二次加工管理-登记工时")<button :style="[{opacity:processOne.status=='交接完成'?'0.7':''},{transform:processOne.status=='交接完成'?'scale(0.85)':''}]" v-if="(processOne.status!='待审核' && processOne.status!='已驳回' && processOne.status!='待接单') && !processOne.openProcessHour"
|
|
|
|
|
- class="btn btn-sm btn-outline-info" @click="openProcessHour(processOne);processOne.openProcessHour=true;processOne.detailFolding=false" @mouseenter="processOne.buttonTexts.登记工时='登记工时'" @mouseleave="processOne.buttonTexts.登记工时='登'">@{{processOne.buttonTexts.登记工时}}</button>
|
|
|
|
|
- <button v-if="processOne.openProcessHour" @click="closeProcessHour(processOne.id);processOne.openProcessHour=false" class="btn btn-sm btn-dark">收起登记工时</button>
|
|
|
|
|
- <button v-if="!processOne.openProcessHour && processOne.status=='加工中'" @click="processAccomplish(processOne)" class="btn btn-sm btn-outline-success" style="opacity: 0.7" @mouseenter="processOne.buttonTexts.完成='完成'" @mouseleave="processOne.buttonTexts.完成='完'">@{{processOne.buttonTexts.完成}}</button>@endcan
|
|
|
|
|
- @can("二次加工管理-交接完成")<button v-if="!processOne.openProcessHour && processOne.status=='待交接'" @click="accomplish(processOne)" class="btn btn-sm btn-outline-success" @mouseenter="processOne.buttonTexts.交接完成='交接完成'" @mouseleave="processOne.buttonTexts.交接完成='交'">@{{processOne.buttonTexts.交接完成}}</button>@endcan
|
|
|
|
|
- @can("二次加工管理-编辑")
|
|
|
|
|
- <button v-if="!processOne.openProcessHour && (processOne.status=='待审核' ||processOne.status=='待接单' || processOne.status=='已驳回' || processOne.status=='加工中' || processOne.status=='待加工')" @click="processEdit(processOne.id)" class="btn btn-sm btn-outline-info" @mouseenter="processOne.buttonTexts.编辑='编辑'"
|
|
|
|
|
- @mouseleave="processOne.buttonTexts.编辑='编'" style="opacity: 0.6">@{{processOne.buttonTexts.编辑}}</button>
|
|
|
|
|
- @endcan
|
|
|
|
|
- </td>
|
|
|
|
|
- <td v-if="processOne.id" :rowspan="processOne.is_multi_row?2:''"
|
|
|
|
|
- :class="processOne.status==='已驳回' ? 'text-danger' : (processOne.status==='交接完成' ? 'text-success font-weight-bold' : 'text-muted')">@{{ processOne.status }}</td>
|
|
|
|
|
- <td v-if="processOne.id" class="text-muted" :rowspan="processOne.is_multi_row?2:''">
|
|
|
|
|
- <button style="transform: scale(0.85);opacity: 0.8;" class="btn btn-sm btn-info" @click="show(processOne.id)" @mouseenter="processOne.buttonTexts.查看单据='查看单据'" @mouseleave="processOne.buttonTexts.查看单据='查'">@{{ processOne.buttonTexts.查看单据 }}</button>
|
|
|
|
|
- @{{ processOne.code }}
|
|
|
|
|
- </td>
|
|
|
|
|
- <td v-if="processOne.id" class="text-muted" :rowspan="processOne.is_multi_row?2:''">
|
|
|
|
|
- <a href="#" v-if="processOne.operatorLogs.length>0" class="dropdown-toggle" data-toggle="dropdown">
|
|
|
|
|
- @{{ processOne.operatorLogs[0].user_name }}<b class="caret"></b>
|
|
|
|
|
- </a>
|
|
|
|
|
- <div style="position: absolute;width:320px;margin-left:-100px;background-color: white;max-height:150px ;overflow-y:auto" class="small mt-0 dropdown-menu">
|
|
|
|
|
- <table class="table table-sm table-striped table-bordered">
|
|
|
|
|
- <tr>
|
|
|
|
|
- <th>经手人</th>
|
|
|
|
|
- <th>操作</th>
|
|
|
|
|
- <th>时间</th>
|
|
|
|
|
- </tr>
|
|
|
|
|
- <tr v-for="operatorLog in processOne.operatorLogs">
|
|
|
|
|
- <td>@{{ operatorLog.user_name }}</td>
|
|
|
|
|
- <td class="text-danger font-weight-bold">@{{ operatorLog.operation }}</td>
|
|
|
|
|
- <td>@{{ operatorLog.created_at }}</td>
|
|
|
|
|
- </tr>
|
|
|
|
|
- </table>
|
|
|
|
|
- </div>
|
|
|
|
|
- </td>
|
|
|
|
|
- <td v-if="processOne.id" class="text-muted" :rowspan="processOne.is_multi_row?2:''">@{{ processOne.owner_name }}</td>
|
|
|
|
|
- <td v-if="processOne.id" :rowspan="processOne.is_multi_row?2:''" class="font-weight-bold text-danger">@{{ processOne.process_method_name }}</td>
|
|
|
|
|
- <td v-if="processOne.id" :rowspan="processOne.is_multi_row?2:''">@{{ processOne.amount }}</td>
|
|
|
|
|
- <td v-if="processOne.id" :rowspan="processOne.is_multi_row?2:''">
|
|
|
|
|
- <div class="" v-if="processOne.tutorials" {{--style="width: 200px;overflow:auto;"--}}>
|
|
|
|
|
- <div v-if=" processOne.tutorials.length>0">
|
|
|
|
|
- <u v-if="!processOne.detailFolding" @click="showTutorial(processOne.tutorials[0].id)" class="text-info" style="cursor:pointer;">@{{processOne.tutorials[0].name}}</u>
|
|
|
|
|
- <button href="javascript:;" class="btn btn-sm btn-outline-primary" @click="processOne.detailFolding=true;processOne.openProcessHour=false;closeProcessHour(processOne.id)" v-if="!processOne.detailFolding"><a v-if="processOne.tutorials.length>1">@{{processOne.tutorials.length}}条,展开</a><a v-else>编辑</a></button>
|
|
|
|
|
- <div v-else><button class="btn btn-sm btn-outline-dark pull-left" href="javascript:;" @click="processOne.detailFolding=false" >收起编辑</button>
|
|
|
|
|
- <button @click="addTutorials(processOne.id,processOne.owner_id)" class="btn btn-sm btn-outline-info pull-left">新增关联教程</button></div>
|
|
|
|
|
- <table class="table table-sm" v-if="processOne.detailFolding">
|
|
|
|
|
- <tr>
|
|
|
|
|
- <th>标题</th>
|
|
|
|
|
- <th>操作</th>
|
|
|
|
|
- <th>创建时间</th>
|
|
|
|
|
- </tr>
|
|
|
|
|
- <tr v-for="(tutorial,i) in processOne.tutorials">
|
|
|
|
|
- <td class="text-info"><u :title="tutorial.name" @click="showTutorial(tutorial.id)" style="cursor:pointer;">@{{tutorial.name}}</u></td>
|
|
|
|
|
- <td>@can('二次加工管理-教程管理')
|
|
|
|
|
- <button @click="deleteTutorials(processOne.id,tutorial.id)" class="btn btn-sm btn-outline-danger pull-left" >删</button>
|
|
|
|
|
- @endcan</td>
|
|
|
|
|
- <td >@{{tutorial.created_at}}</td>
|
|
|
|
|
- </tr>
|
|
|
|
|
- </table>
|
|
|
|
|
|
|
+ <tr v-for="(processOne,i) in processes" :class="processOne.serial_number%2==0?'row-even':''" :id="processOne.id?processOne.id:processes[i-1].id+'-2'" :name="'process_table_'+processOne.serial_number" @mouseover="changeStyle('process_table_'+processOne.serial_number,true)" @mouseout="changeStyle('process_table_'+processOne.serial_number,false)">
|
|
|
|
|
+ <td v-if="processOne.id" :rowspan="processOne.is_multi_row?2:''">
|
|
|
|
|
+ <input class="checkItem" type="checkbox" :value="processOne.id" v-model="checkData">
|
|
|
|
|
+ </td>
|
|
|
|
|
+ <td v-if="processOne.id" class="text-muted" :rowspan="processOne.is_multi_row?2:''">@{{ processOne.serial_number }}</td>
|
|
|
|
|
+ <td v-if="processOne.id" style="min-width:200px;" :rowspan="processOne.is_multi_row?2:''">
|
|
|
|
|
+ @can("二次加工管理-审核")
|
|
|
|
|
+ <button v-if="!processOne.openProcessHour && (processOne.status=='待审核' || processOne.status=='已驳回')" @mouseenter="processOne.buttonTexts.审核='审核'" @mouseleave="processOne.buttonTexts.审核='审'" class="btn btn-sm btn-outline-success" @click="audit(processOne)"><span>@{{ processOne.buttonTexts.审核 }}</span></button>@endcan
|
|
|
|
|
+ @can("二次加工管理-回滚")
|
|
|
|
|
+ <button v-if="!processOne.openProcessHour && processOne.status!='交接完成' && processOne.status!='待审核'" class="btn btn-sm btn-outline-dark" style="opacity: 0.65" @click="rollback(processOne.id)" @mouseenter="processOne.buttonTexts.回滚='回滚'" @mouseleave="processOne.buttonTexts.回滚='回'">@{{ processOne.buttonTexts.回滚 }}</button>@endcan
|
|
|
|
|
+ @can("二次加工管理-质量验收")
|
|
|
|
|
+ <button v-if="!processOne.openProcessHour && processOne.status=='待验收'" class="btn btn-sm btn-outline-success" @click="checkAndAccept(processOne)" @mouseenter="processOne.buttonTexts.质量验收='质量验收'" @mouseleave="processOne.buttonTexts.质量验收='验'">@{{processOne.buttonTexts.质量验收}}</button>@endcan
|
|
|
|
|
+ @can("二次加工管理-接单与驳回")
|
|
|
|
|
+ <button v-if="!processOne.openProcessHour && processOne.status=='待接单'" @click="processReject(processOne.id)" class="btn btn-sm btn-outline-dark" @mouseenter="processOne.buttonTexts.驳回='驳回'" @mouseleave="processOne.buttonTexts.驳回='驳'">@{{processOne.buttonTexts.驳回}}</button>
|
|
|
|
|
+ <button v-if="!processOne.openProcessHour && processOne.status=='待接单'" @click="processReceive(processOne.id)" class="btn btn-sm btn-outline-primary" @mouseenter="processOne.buttonTexts.接单='接单'" @mouseleave="processOne.buttonTexts.接单='接'">@{{processOne.buttonTexts.接单}}</button>@endcan
|
|
|
|
|
+ @can("二次加工管理-登记工时")<button :style="[{opacity:processOne.status=='交接完成'?'0.7':''},{transform:processOne.status=='交接完成'?'scale(0.85)':''}]" v-if="(processOne.status!='待审核' && processOne.status!='已驳回' && processOne.status!='待接单') && !processOne.openProcessHour"
|
|
|
|
|
+ class="btn btn-sm btn-outline-info" @click="openProcessHour(processOne);processOne.openProcessHour=true;processOne.detailFolding=false" @mouseenter="processOne.buttonTexts.登记工时='登记工时'" @mouseleave="processOne.buttonTexts.登记工时='登'">@{{processOne.buttonTexts.登记工时}}</button>
|
|
|
|
|
+ <button v-if="processOne.openProcessHour" @click="closeProcessHour(processOne.id);processOne.openProcessHour=false" class="btn btn-sm btn-dark">收起登记工时</button>
|
|
|
|
|
+ <button v-if="!processOne.openProcessHour && processOne.status=='加工中'" @click="processAccomplish(processOne)" class="btn btn-sm btn-outline-success" style="opacity: 0.7" @mouseenter="processOne.buttonTexts.完成='完成'" @mouseleave="processOne.buttonTexts.完成='完'">@{{processOne.buttonTexts.完成}}</button>@endcan
|
|
|
|
|
+ @can("二次加工管理-交接完成")<button v-if="!processOne.openProcessHour && processOne.status=='待交接'" @click="accomplish(processOne)" class="btn btn-sm btn-outline-success" @mouseenter="processOne.buttonTexts.交接完成='交接完成'" @mouseleave="processOne.buttonTexts.交接完成='交'">@{{processOne.buttonTexts.交接完成}}</button>@endcan
|
|
|
|
|
+ @can("二次加工管理-编辑")
|
|
|
|
|
+ <button v-if="!processOne.openProcessHour && (processOne.status=='待审核' ||processOne.status=='待接单' || processOne.status=='已驳回' || processOne.status=='加工中' || processOne.status=='待加工')" @click="processEdit(processOne.id)" class="btn btn-sm btn-outline-info" @mouseenter="processOne.buttonTexts.编辑='编辑'"
|
|
|
|
|
+ @mouseleave="processOne.buttonTexts.编辑='编'" style="opacity: 0.6">@{{processOne.buttonTexts.编辑}}</button>
|
|
|
|
|
+ @endcan
|
|
|
|
|
+ </td>
|
|
|
|
|
+ <td v-if="processOne.id" :rowspan="processOne.is_multi_row?2:''"
|
|
|
|
|
+ :class="processOne.status==='已驳回' ? 'text-danger' : (processOne.status==='交接完成' ? 'text-success font-weight-bold' : 'text-muted')">@{{ processOne.status }}</td>
|
|
|
|
|
+ <td v-if="processOne.id" class="text-muted" :rowspan="processOne.is_multi_row?2:''">
|
|
|
|
|
+ <button style="transform: scale(0.85);opacity: 0.8;" class="btn btn-sm btn-info" @click="show(processOne.id)" @mouseenter="processOne.buttonTexts.查看单据='查看单据'" @mouseleave="processOne.buttonTexts.查看单据='查'">@{{ processOne.buttonTexts.查看单据 }}</button>
|
|
|
|
|
+ @{{ processOne.code }}
|
|
|
|
|
+ </td>
|
|
|
|
|
+ <td v-if="processOne.id" class="text-muted" :rowspan="processOne.is_multi_row?2:''">
|
|
|
|
|
+ <a href="#" v-if="processOne.operatorLogs.length>0" class="dropdown-toggle" data-toggle="dropdown">
|
|
|
|
|
+ @{{ processOne.operatorLogs[0].user_name }}<b class="caret"></b>
|
|
|
|
|
+ </a>
|
|
|
|
|
+ <div style="position: absolute;width:320px;margin-left:-100px;background-color: white;max-height:150px ;overflow-y:auto" class="small mt-0 dropdown-menu">
|
|
|
|
|
+ <table class="table table-sm table-striped table-bordered">
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <th>经手人</th>
|
|
|
|
|
+ <th>操作</th>
|
|
|
|
|
+ <th>时间</th>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr v-for="operatorLog in processOne.operatorLogs">
|
|
|
|
|
+ <td>@{{ operatorLog.user_name }}</td>
|
|
|
|
|
+ <td class="text-danger font-weight-bold">@{{ operatorLog.operation }}</td>
|
|
|
|
|
+ <td>@{{ operatorLog.created_at }}</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ </table>
|
|
|
</div>
|
|
</div>
|
|
|
- <div v-if="processOne.tutorials.length<1">
|
|
|
|
|
- <button @click="addTutorials(processOne.id,processOne.owner_id)" class="btn btn-sm btn-outline-info pull-left" >新增关联教程</button>
|
|
|
|
|
|
|
+ </td>
|
|
|
|
|
+ <td v-if="processOne.id" class="text-muted" :rowspan="processOne.is_multi_row?2:''">@{{ processOne.owner_name }}</td>
|
|
|
|
|
+ <td v-if="processOne.id" :rowspan="processOne.is_multi_row?2:''" class="font-weight-bold text-danger">@{{ processOne.process_method_name }}</td>
|
|
|
|
|
+ <td v-if="processOne.id" :rowspan="processOne.is_multi_row?2:''">@{{ processOne.amount }}</td>
|
|
|
|
|
+ <td v-if="processOne.id" :rowspan="processOne.is_multi_row?2:''">
|
|
|
|
|
+ <div class="" v-if="processOne.tutorials" {{--style="width: 200px;overflow:auto;"--}}>
|
|
|
|
|
+ <div v-if=" processOne.tutorials.length>0">
|
|
|
|
|
+ <u v-if="!processOne.detailFolding" @click="showTutorial(processOne.tutorials[0].id)" class="text-info" style="cursor:pointer;">@{{processOne.tutorials[0].name}}</u>
|
|
|
|
|
+ <button href="javascript:;" class="btn btn-sm btn-outline-primary" @click="processOne.detailFolding=true;processOne.openProcessHour=false;closeProcessHour(processOne.id)" v-if="!processOne.detailFolding"><a v-if="processOne.tutorials.length>1">@{{processOne.tutorials.length}}条,展开</a><a v-else>编辑</a></button>
|
|
|
|
|
+ <div v-else><button class="btn btn-sm btn-outline-dark pull-left" href="javascript:;" @click="processOne.detailFolding=false" >收起编辑</button>
|
|
|
|
|
+ <button @click="addTutorials(processOne.id,processOne.owner_id)" class="btn btn-sm btn-outline-info pull-left">新增关联教程</button></div>
|
|
|
|
|
+ <table class="table table-sm" v-if="processOne.detailFolding">
|
|
|
|
|
+ <tr>
|
|
|
|
|
+ <th>标题</th>
|
|
|
|
|
+ <th>操作</th>
|
|
|
|
|
+ <th>创建时间</th>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr v-for="(tutorial,i) in processOne.tutorials">
|
|
|
|
|
+ <td class="text-info"><u :title="tutorial.name" @click="showTutorial(tutorial.id)" style="cursor:pointer;">@{{tutorial.name}}</u></td>
|
|
|
|
|
+ <td>@can('二次加工管理-教程管理')
|
|
|
|
|
+ <button @click="deleteTutorials(processOne.id,tutorial.id)" class="btn btn-sm btn-outline-danger pull-left" >删</button>
|
|
|
|
|
+ @endcan</td>
|
|
|
|
|
+ <td >@{{tutorial.created_at}}</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ </table>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div v-if="processOne.tutorials.length<1">
|
|
|
|
|
+ <button @click="addTutorials(processOne.id,processOne.owner_id)" class="btn btn-sm btn-outline-info pull-left" >新增关联教程</button>
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
- </div>
|
|
|
|
|
- </td>
|
|
|
|
|
- <td v-if="processOne.id" class="text-muted" :rowspan="processOne.is_multi_row?2:''">
|
|
|
|
|
- @can('二次加工管理-修改价格')
|
|
|
|
|
- <div v-if="processOne.status=='交接完成'">
|
|
|
|
|
- <div v-if="processOne.signs.length<=0">
|
|
|
|
|
- <div v-if="processOne.is_update_unit_price" >
|
|
|
|
|
- <input type="text" :value="processOne.unit_price"
|
|
|
|
|
- :id="'unit_price_'+processOne.id" class="form-control form-control-sm" style="min-width: 50px;">
|
|
|
|
|
- <button type="button" class="btn btn-sm btn-outline-success" @click="updateUnitPrice(processOne)">确定</button>
|
|
|
|
|
- <button type="button" class="btn btn-sm btn-outline-danger" @click="processOne.is_update_unit_price=false;">取消</button>
|
|
|
|
|
|
|
+ </td>
|
|
|
|
|
+ <td v-if="processOne.id" class="text-muted" :rowspan="processOne.is_multi_row?2:''">
|
|
|
|
|
+ @can('二次加工管理-修改价格')
|
|
|
|
|
+ <div v-if="processOne.status=='交接完成'">
|
|
|
|
|
+ <div v-if="processOne.signs.length<=0">
|
|
|
|
|
+ <div v-if="processOne.is_update_unit_price" >
|
|
|
|
|
+ <input type="text" :value="processOne.unit_price"
|
|
|
|
|
+ :id="'unit_price_'+processOne.id" class="form-control form-control-sm" style="min-width: 50px;">
|
|
|
|
|
+ <button type="button" class="btn btn-sm btn-outline-success" @click="updateUnitPrice(processOne)">确定</button>
|
|
|
|
|
+ <button type="button" class="btn btn-sm btn-outline-danger" @click="processOne.is_update_unit_price=false;">取消</button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <input readonly @click="processOne.is_update_unit_price=true;" v-else style="cursor: pointer;min-width: 50px" :value="processOne.unit_price" class="form-control form-control-sm">
|
|
|
</div>
|
|
</div>
|
|
|
- <input readonly @click="processOne.is_update_unit_price=true;" v-else style="cursor: pointer;min-width: 50px" :value="processOne.unit_price" class="form-control form-control-sm">
|
|
|
|
|
- </div>
|
|
|
|
|
- <div v-else @mouseleave="processOne.is_update_unit_price=false;" @mouseenter="processOne.is_update_unit_price=true;">
|
|
|
|
|
- <span class="flicker" style="cursor: move">@{{ processOne.signUnitPrice ? processOne.signUnitPrice : processOne.unit_price }}</span>
|
|
|
|
|
- <div v-if="processOne.is_update_unit_price" style="position: absolute;width: 150px;background-color: white;white-space: normal;margin-left: -50px"
|
|
|
|
|
- @mouseleave="processOne.is_update_unit_price=false;" @mouseenter="processOne.is_update_unit_price=true;">
|
|
|
|
|
- <p class="text-center text-dark font-weight-bold">待确认</p>
|
|
|
|
|
- @can('二次加工管理-组长确认')<button v-if="!signs[processOne.code]['二次加工组确认']" class="btn btn-sm btn-outline-success" @click="verify(processOne,'workGroup')">组长确认</button>@endcan
|
|
|
|
|
- @can('二次加工管理-财务确认')<button v-if="!signs[processOne.code]['财务确认']" class="btn btn-sm btn-outline-success" @click="verify(processOne,'accountant')">财务确认</button>@endcan
|
|
|
|
|
|
|
+ <div v-else @mouseleave="processOne.is_update_unit_price=false;" @mouseenter="processOne.is_update_unit_price=true;">
|
|
|
|
|
+ <span class="flicker" style="cursor: move">@{{ processOne.signUnitPrice ? processOne.signUnitPrice : processOne.unit_price }}</span>
|
|
|
|
|
+ <div v-if="processOne.is_update_unit_price" style="position: absolute;width: 150px;background-color: white;white-space: normal;margin-left: -50px"
|
|
|
|
|
+ @mouseleave="processOne.is_update_unit_price=false;" @mouseenter="processOne.is_update_unit_price=true;">
|
|
|
|
|
+ <p class="text-center text-dark font-weight-bold">待确认</p>
|
|
|
|
|
+ @can('二次加工管理-组长确认')<button v-if="!signs[processOne.code]['二次加工组确认']" class="btn btn-sm btn-outline-success" @click="verify(processOne,'workGroup')">组长确认</button>@endcan
|
|
|
|
|
+ @can('二次加工管理-财务确认')<button v-if="!signs[processOne.code]['财务确认']" class="btn btn-sm btn-outline-success" @click="verify(processOne,'accountant')">财务确认</button>@endcan
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
- </div>
|
|
|
|
|
- <div v-else>@{{ processOne.unit_price }} </div>
|
|
|
|
|
- @endcan
|
|
|
|
|
- @cannot('二次加工管理-修改价格') @{{ processOne.unit_price }}@endcannot
|
|
|
|
|
- </td>
|
|
|
|
|
- <td v-if="processOne.id" :rowspan="processOne.is_multi_row?2:''">@{{ processOne.completed_amount }}</td>
|
|
|
|
|
- <td v-if="processOne.id" :rowspan="processOne.is_multi_row?2:''">@{{ processOne.created_at }}</td>
|
|
|
|
|
- <td colspan="5" style="margin:0;padding:0;position: relative">
|
|
|
|
|
- <table class="table table-sm table-striped" style="margin:0;padding:0;" v-if="processUnfold[processOne.code+processOne.id] || processOne.processesContents.length==1 ||
|
|
|
|
|
|
|
+ <div v-else>@{{ processOne.unit_price }} </div>
|
|
|
|
|
+ @endcan
|
|
|
|
|
+ @cannot('二次加工管理-修改价格') @{{ processOne.unit_price }}@endcannot
|
|
|
|
|
+ </td>
|
|
|
|
|
+ <td v-if="processOne.id" :rowspan="processOne.is_multi_row?2:''">@{{ processOne.completed_amount }}</td>
|
|
|
|
|
+ <td v-if="processOne.id" :rowspan="processOne.is_multi_row?2:''">@{{ processOne.created_at }}</td>
|
|
|
|
|
+ <td colspan="5" style="margin:0;padding:0;position: relative">
|
|
|
|
|
+ <table class="table table-sm table-striped" style="margin:0;padding:0;" v-if="processUnfold[processOne.code+processOne.id] || processOne.processesContents.length==1 ||
|
|
|
(processOne.is_multi_row && (processOne.processesContents.length)-(processFullSum[processOne.code])==1) || (!processOne.id && processFullSum[processOne.code]==1)">
|
|
(processOne.is_multi_row && (processOne.processesContents.length)-(processFullSum[processOne.code])==1) || (!processOne.id && processFullSum[processOne.code]==1)">
|
|
|
- <tr v-for="processesContent in processOne.processesContents"
|
|
|
|
|
- v-if="processOne.is_multi_row || !processOne.id ? !processOne.id ? processesContent.type=='成品单' :processesContent.type=='原料单' : true">
|
|
|
|
|
- <td style="width: 190px" class="text-muted" :class="processesContent.type=='原料单'?'td-warm':'td-cool'">@{{ processesContent.bill_type }} <span style="opacity: 0.75">(@{{ processesContent.type }})</span></td>
|
|
|
|
|
- <td style="width: 210px" class="text-muted" :class="processesContent.type=='原料单'?'td-warm':'td-cool'">@{{ processesContent.wms_code }}</td>
|
|
|
|
|
- <td style="width: 100px" class="text-muted" :class="processesContent.type=='原料单'?'td-warm':'td-cool'">@{{ processesContent.amount }}</td>
|
|
|
|
|
- <td style="width: 180px" class="text-muted" :class="processesContent.type=='原料单'?'td-warm':'td-cool'">
|
|
|
|
|
- <ul class="p-0 m-0 list-unstyled list-inline" v-if="processesContent.commodity">
|
|
|
|
|
- <li v-for="barcode in processesContent.commodity.barcodes"><small>@{{ barcode.code }}</small></li>
|
|
|
|
|
- </ul>
|
|
|
|
|
- </td>
|
|
|
|
|
- <td :title="processesContent.sign_commodity_name_mark?processesContent.sign_commodity_name_mark:processesContent.commodity_name" class="text-muted tooltipTarget" :class="processesContent.type=='原料单'?'td-warm':'td-cool'">
|
|
|
|
|
- <div style="width: 180px;overflow:hidden" :class="processesContent.bill_type=='原料单'?'td-warm':'td-cool'">@{{ processesContent.sign_commodity_name_mark?processesContent.sign_commodity_name_mark:processesContent.commodity_name }}</div></td>
|
|
|
|
|
- </tr>
|
|
|
|
|
- <tr v-if="processUnfold[processOne.code+processOne.id]">
|
|
|
|
|
- <td colspan="5">
|
|
|
|
|
- <div class="text-center">
|
|
|
|
|
- <b v-if="processUnfold[processOne.code+processOne.id]=='原料单'" style="cursor:pointer;" @click="close(processOne.code,processOne.id)">点击关闭原料单</b>
|
|
|
|
|
- <b v-if="processUnfold[processOne.code+processOne.id]=='成品单'" style="cursor:pointer;" @click="close(processOne.code,processOne.id)">点击关闭成品单</b></div>
|
|
|
|
|
- </td>
|
|
|
|
|
- </tr>
|
|
|
|
|
- </table>
|
|
|
|
|
- <div v-else :style="[{background: (!processOne.id || processOne.is_multi_row) ? (!processOne.id) ? '#e8eef6' :'rgb(246, 238, 232)' : (processOne.processesContents.length>0 ? ((processOne.processesContents[0].type=='成品单') ? '#e8eef6' : 'rgb(246, 238, 232)') :'')}
|
|
|
|
|
|
|
+ <tr v-for="processesContent in processOne.processesContents"
|
|
|
|
|
+ v-if="processOne.is_multi_row || !processOne.id ? !processOne.id ? processesContent.type=='成品单' :processesContent.type=='原料单' : true">
|
|
|
|
|
+ <td style="width: 190px" class="text-muted" :class="processesContent.type=='原料单'?'td-warm':'td-cool'">@{{ processesContent.bill_type }} <span style="opacity: 0.75">(@{{ processesContent.type }})</span></td>
|
|
|
|
|
+ <td style="width: 210px" class="text-muted" :class="processesContent.type=='原料单'?'td-warm':'td-cool'">@{{ processesContent.wms_code }}</td>
|
|
|
|
|
+ <td style="width: 100px" class="text-muted" :class="processesContent.type=='原料单'?'td-warm':'td-cool'">@{{ processesContent.amount }}</td>
|
|
|
|
|
+ <td style="width: 180px" class="text-muted" :class="processesContent.type=='原料单'?'td-warm':'td-cool'">
|
|
|
|
|
+ <ul class="p-0 m-0 list-unstyled list-inline" v-if="processesContent.commodity">
|
|
|
|
|
+ <li v-for="barcode in processesContent.commodity.barcodes"><small>@{{ barcode.code }}</small></li>
|
|
|
|
|
+ </ul>
|
|
|
|
|
+ </td>
|
|
|
|
|
+ <td :title="processesContent.sign_commodity_name_mark?processesContent.sign_commodity_name_mark:processesContent.commodity_name" class="text-muted tooltipTarget" :class="processesContent.type=='原料单'?'td-warm':'td-cool'">
|
|
|
|
|
+ <div style="width: 180px;overflow:hidden" :class="processesContent.bill_type=='原料单'?'td-warm':'td-cool'">@{{ processesContent.sign_commodity_name_mark?processesContent.sign_commodity_name_mark:processesContent.commodity_name }}</div></td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr v-if="processUnfold[processOne.code+processOne.id]">
|
|
|
|
|
+ <td colspan="5">
|
|
|
|
|
+ <div class="text-center">
|
|
|
|
|
+ <b v-if="processUnfold[processOne.code+processOne.id]=='原料单'" style="cursor:pointer;" @click="close(processOne.code,processOne.id)">点击关闭原料单</b>
|
|
|
|
|
+ <b v-if="processUnfold[processOne.code+processOne.id]=='成品单'" style="cursor:pointer;" @click="close(processOne.code,processOne.id)">点击关闭成品单</b></div>
|
|
|
|
|
+ </td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ </table>
|
|
|
|
|
+ <div v-else :style="[{background: (!processOne.id || processOne.is_multi_row) ? (!processOne.id) ? '#e8eef6' :'rgb(246, 238, 232)' : (processOne.processesContents.length>0 ? ((processOne.processesContents[0].type=='成品单') ? '#e8eef6' : 'rgb(246, 238, 232)') :'')}
|
|
|
,{'-webkit-transform':'scale('+(1/Math.ceil(arrayFilter(processOne.processesContents,processOne).length/2))+')'},{height: (35*Math.ceil(arrayFilter(processOne.processesContents,processOne).length/2))+'px'}
|
|
,{'-webkit-transform':'scale('+(1/Math.ceil(arrayFilter(processOne.processesContents,processOne).length/2))+')'},{height: (35*Math.ceil(arrayFilter(processOne.processesContents,processOne).length/2))+'px'}
|
|
|
,{width: (100*Math.ceil(arrayFilter(processOne.processesContents,processOne).length/2))+'%'},{'margin-left': (-100*((Math.ceil(arrayFilter(processOne.processesContents,processOne).length/2))-1)/2)+'%'}
|
|
,{width: (100*Math.ceil(arrayFilter(processOne.processesContents,processOne).length/2))+'%'},{'margin-left': (-100*((Math.ceil(arrayFilter(processOne.processesContents,processOne).length/2))-1)/2)+'%'}
|
|
|
,{'margin-top': (-35*((Math.ceil(arrayFilter(processOne.processesContents,processOne).length/2))-1)/2)+'px'},{'margin-bottom': (-35*((Math.ceil(arrayFilter(processOne.processesContents,processOne).length/2))-1)/2)+'px'}]">
|
|
,{'margin-top': (-35*((Math.ceil(arrayFilter(processOne.processesContents,processOne).length/2))-1)/2)+'px'},{'margin-bottom': (-35*((Math.ceil(arrayFilter(processOne.processesContents,processOne).length/2))-1)/2)+'px'}]">
|
|
|
- <div v-for="(processesContent,i) in arrayFilter(processOne.processesContents,processOne)" class=" row p-1" style="float: left;margin-right: 10px;-webkit-transform-origin: 0" :style="[{opacity:1/0.7},
|
|
|
|
|
|
|
+ <div v-for="(processesContent,i) in arrayFilter(processOne.processesContents,processOne)" class=" row p-1" style="float: left;margin-right: 10px;-webkit-transform-origin: 0" :style="[{opacity:1/0.7},
|
|
|
{'margin-left': arrayFilter(processOne.processesContents,processOne).length >3 ? (1*parseInt(arrayFilter(processOne.processesContents,processOne).length/3))+'px' : '0px'}]">
|
|
{'margin-left': arrayFilter(processOne.processesContents,processOne).length >3 ? (1*parseInt(arrayFilter(processOne.processesContents,processOne).length/3))+'px' : '0px'}]">
|
|
|
- <span>@{{ processesContent.bill_type }}</span>
|
|
|
|
|
- <span>@{{ processesContent.wms_code }}</span>
|
|
|
|
|
- <span>@{{ processesContent.amount }}</span>
|
|
|
|
|
- <span v-if="processesContent.commodity && processesContent.commodity.barcodes.length>0">
|
|
|
|
|
|
|
+ <span>@{{ processesContent.bill_type }}</span>
|
|
|
|
|
+ <span>@{{ processesContent.wms_code }}</span>
|
|
|
|
|
+ <span>@{{ processesContent.amount }}</span>
|
|
|
|
|
+ <span v-if="processesContent.commodity && processesContent.commodity.barcodes.length>0">
|
|
|
@{{ processesContent.commodity.barcodes[0].code }}
|
|
@{{ processesContent.commodity.barcodes[0].code }}
|
|
|
</span>
|
|
</span>
|
|
|
- <span :title="processesContent.sign_commodity_name_mark?processesContent.sign_commodity_name_mark:processesContent.commodity_name" class="text-muted tooltipTarget" style="max-width:100px;overflow:hidden;">@{{ processesContent.sign_commodity_name_mark?processesContent.sign_commodity_name_mark:processesContent.commodity_name }}</span>
|
|
|
|
|
|
|
+ <span :title="processesContent.sign_commodity_name_mark?processesContent.sign_commodity_name_mark:processesContent.commodity_name" class="text-muted tooltipTarget" style="max-width:100px;overflow:hidden;">@{{ processesContent.sign_commodity_name_mark?processesContent.sign_commodity_name_mark:processesContent.commodity_name }}</span>
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
- </div>
|
|
|
|
|
- <div style="overflow: auto;zoom:1;position:absolute;margin-top: -35px;left:calc(50% - 50px);background-color: white" v-if="!processUnfold[processOne.code+processOne.id] && processOne.processesContents.length>1 &&
|
|
|
|
|
|
|
+ <div style="overflow: auto;zoom:1;position:absolute;margin-top: -35px;left:calc(50% - 50px);background-color: white" v-if="!processUnfold[processOne.code+processOne.id] && processOne.processesContents.length>1 &&
|
|
|
((processFullSum[processOne.code]!=processOne.processesContents.length && (processOne.processesContents.length)-(processFullSum[processOne.code])!=1 && ((processOne.is_multi_row || !processOne.id) ? (!processOne.id ? false :true) : true)) ||
|
|
((processFullSum[processOne.code]!=processOne.processesContents.length && (processOne.processesContents.length)-(processFullSum[processOne.code])!=1 && ((processOne.is_multi_row || !processOne.id) ? (!processOne.id ? false :true) : true)) ||
|
|
|
processFullSum[processOne.code] && processFullSum[processOne.code]>1 && ((processOne.is_multi_row || !processOne.id) ? (!processOne.id ? true :false) : true))" class="text-center">
|
|
processFullSum[processOne.code] && processFullSum[processOne.code]>1 && ((processOne.is_multi_row || !processOne.id) ? (!processOne.id ? true :false) : true))" class="text-center">
|
|
|
- <button type="button" class="btn btn-sm btn-outline-primary" v-if="processFullSum[processOne.code]!=processOne.processesContents.length && (processOne.processesContents.length)-(processFullSum[processOne.code])!=1 && ((processOne.is_multi_row || !processOne.id) ? (!processOne.id ? false :true) : true)" @click="unfold(processOne.code,processOne.id,'原料单')">点击展开原料单</button>
|
|
|
|
|
- <button type="button" class="btn btn-sm btn-outline-primary" v-if="processFullSum[processOne.code] && processFullSum[processOne.code]>1 && ((processOne.is_multi_row || !processOne.id) ? (!processOne.id ? true :false) : true)" @click="unfold(processOne.code,processOne.id,'成品单')">点击展开成品单</button></div>
|
|
|
|
|
- </td>
|
|
|
|
|
- <td v-if="processOne.id" class="text-muted" :rowspan="processOne.is_multi_row?2:''"><div style="min-width: 500px;white-space: normal">@{{ processOne.remark }}</div></td>
|
|
|
|
|
- <td v-if="processOne.id" class="text-muted" :rowspan="processOne.is_multi_row?2:''">
|
|
|
|
|
- @can('二次加工管理-删除')<button type="button" class="btn btn-sm btn-outline-danger" @click="destroy(processOne.code,processOne.id)">删</button>@endcan
|
|
|
|
|
- </td>
|
|
|
|
|
- </tr>
|
|
|
|
|
- <tr id="addProcessDailyParticipants" v-show="processDailyParticipants.length>0">
|
|
|
|
|
- <td colspan="2"></td>
|
|
|
|
|
- <td colspan="16">
|
|
|
|
|
- <table class="table-sm table-bordered table-condensed">
|
|
|
|
|
- <tr class="text-success">
|
|
|
|
|
- <td>
|
|
|
|
|
- <button v-if="!is_update_date" @click="is_update_date='start_date';date=''"
|
|
|
|
|
- @mouseenter="dateTextMap.start_date='设定起始日期'" @mouseleave="dateTextMap.start_date='起'"
|
|
|
|
|
- type="button" class="btn btn-sm btn-outline-primary">@{{ dateTextMap.start_date }}</button>
|
|
|
|
|
- <button v-if="!is_update_date" @click="is_update_date='end_date';date=''" type="button"
|
|
|
|
|
- @mouseenter="dateTextMap.end_date='设定终止日期'" @mouseleave="dateTextMap.end_date='终'"
|
|
|
|
|
- class="btn btn-sm btn-outline-dark">@{{ dateTextMap.end_date }}</button>
|
|
|
|
|
- <div v-if="is_update_date">
|
|
|
|
|
- <input type="date" class="form-control form-control-sm" :class="is_update_date=='start_date' ? 'text-info border-info':''"
|
|
|
|
|
- style="width: 137px" v-model="date" :max="is_update_date=='start_date'&&processDailyParticipants.length>0 ? processDailyParticipants[0].date : ''"
|
|
|
|
|
- :min="is_update_date=='end_date'&&processDailyParticipants.length>0 ? processDailyParticipants[(processDailyParticipants.length)-1].date : ''">
|
|
|
|
|
- <button type="button" @click="update_process_date(processDailyParticipants[0])" class="btn btn-sm btn-outline-success">确定</button>
|
|
|
|
|
- <button type="button" @click="is_update_date='';dateTextMap.end_date='终';dateTextMap.start_date='起'" class="btn btn-sm btn-outline-danger">取消</button>
|
|
|
|
|
- </div>
|
|
|
|
|
- </td>
|
|
|
|
|
- <td>当日产量</td>
|
|
|
|
|
- <td>当日剩余</td>
|
|
|
|
|
- <td colspan="2">操作</td>
|
|
|
|
|
- <td>参与者</td>
|
|
|
|
|
- <td>开始时间</td>
|
|
|
|
|
- <td>结束时间</td>
|
|
|
|
|
- <td>计时单价</td>
|
|
|
|
|
- <td>计件单价</td>
|
|
|
|
|
- <td>晚饭时间</td>
|
|
|
|
|
- <td>计时工时</td>
|
|
|
|
|
- <td>计件数量</td>
|
|
|
|
|
- <td>备注</td>
|
|
|
|
|
- <td>当日工资</td>
|
|
|
|
|
- {{--<td>审核</td>--}}
|
|
|
|
|
- <td>操作</td>
|
|
|
|
|
- </tr>
|
|
|
|
|
- <tr v-for="(processDailyParticipant,i) in processDailyParticipants" :id="'processDailyParticipant'+processDailyParticipant.id">
|
|
|
|
|
- <td v-if="processDailyParticipant.rowspan" :rowspan="processDailyParticipant.rowspan"><p >@{{ processDailyParticipant.date }}</p></td>
|
|
|
|
|
- <td v-if="processDailyParticipant.rowspan" :rowspan="processDailyParticipant.rowspan">
|
|
|
|
|
- <div class="form-inline">
|
|
|
|
|
- <input :readonly="processDailyParticipant.readonly" v-model="processDailyParticipant.submitOutput"
|
|
|
|
|
- class="form-control col-sm-5 " @click="updateOutput(processDailyParticipant)" type="text" />
|
|
|
|
|
- @can("二次加工管理-登记工时")<button class="btn btn-sm btn-success" v-if="! processDailyParticipant.readonly" @click="submitOutputData(processDailyParticipant.daily_id,processDailyParticipant.submitOutput,processDailyParticipant.id)">确定</button>
|
|
|
|
|
- <button class="btn btn-sm btn-danger" v-if="! processDailyParticipant.readonly" @click="processDailyParticipant.readonly=true;processDailyParticipant.submitOutput=processDailyParticipant.output">取消</button>
|
|
|
|
|
|
|
+ <button type="button" class="btn btn-sm btn-outline-primary" v-if="processFullSum[processOne.code]!=processOne.processesContents.length && (processOne.processesContents.length)-(processFullSum[processOne.code])!=1 && ((processOne.is_multi_row || !processOne.id) ? (!processOne.id ? false :true) : true)" @click="unfold(processOne.code,processOne.id,'原料单')">点击展开原料单</button>
|
|
|
|
|
+ <button type="button" class="btn btn-sm btn-outline-primary" v-if="processFullSum[processOne.code] && processFullSum[processOne.code]>1 && ((processOne.is_multi_row || !processOne.id) ? (!processOne.id ? true :false) : true)" @click="unfold(processOne.code,processOne.id,'成品单')">点击展开成品单</button></div>
|
|
|
|
|
+ </td>
|
|
|
|
|
+ <td v-if="processOne.id" class="text-muted" :rowspan="processOne.is_multi_row?2:''"><div style="min-width: 500px;white-space: normal">@{{ processOne.remark }}</div></td>
|
|
|
|
|
+ <td v-if="processOne.id" class="text-muted" :rowspan="processOne.is_multi_row?2:''">
|
|
|
|
|
+ @can('二次加工管理-删除')<button type="button" class="btn btn-sm btn-outline-danger" @click="destroy(processOne.code,processOne.id)">删</button>@endcan
|
|
|
|
|
+ </td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr id="addProcessDailyParticipants" v-show="processDailyParticipants.length>0">
|
|
|
|
|
+ <td colspan="2"></td>
|
|
|
|
|
+ <td colspan="16">
|
|
|
|
|
+ <table class="table-sm table-bordered table-condensed">
|
|
|
|
|
+ <tr class="text-success">
|
|
|
|
|
+ <td>
|
|
|
|
|
+ <button v-if="!is_update_date" @click="is_update_date='start_date';date=''"
|
|
|
|
|
+ @mouseenter="dateTextMap.start_date='设定起始日期'" @mouseleave="dateTextMap.start_date='起'"
|
|
|
|
|
+ type="button" class="btn btn-sm btn-outline-primary">@{{ dateTextMap.start_date }}</button>
|
|
|
|
|
+ <button v-if="!is_update_date" @click="is_update_date='end_date';date=''" type="button"
|
|
|
|
|
+ @mouseenter="dateTextMap.end_date='设定终止日期'" @mouseleave="dateTextMap.end_date='终'"
|
|
|
|
|
+ class="btn btn-sm btn-outline-dark">@{{ dateTextMap.end_date }}</button>
|
|
|
|
|
+ <div v-if="is_update_date">
|
|
|
|
|
+ <input type="date" class="form-control form-control-sm" :class="is_update_date=='start_date' ? 'text-info border-info':''"
|
|
|
|
|
+ style="width: 137px" v-model="date" :max="is_update_date=='start_date'&&processDailyParticipants.length>0 ? processDailyParticipants[0].date : ''"
|
|
|
|
|
+ :min="is_update_date=='end_date'&&processDailyParticipants.length>0 ? processDailyParticipants[(processDailyParticipants.length)-1].date : ''">
|
|
|
|
|
+ <button type="button" @click="update_process_date(processDailyParticipants[0])" class="btn btn-sm btn-outline-success">确定</button>
|
|
|
|
|
+ <button type="button" @click="is_update_date='';dateTextMap.end_date='终';dateTextMap.start_date='起'" class="btn btn-sm btn-outline-danger">取消</button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </td>
|
|
|
|
|
+ <td>当日产量</td>
|
|
|
|
|
+ <td>当日剩余</td>
|
|
|
|
|
+ <td colspan="2">操作</td>
|
|
|
|
|
+ <td>参与者</td>
|
|
|
|
|
+ <td>开始时间</td>
|
|
|
|
|
+ <td>结束时间</td>
|
|
|
|
|
+ <td>计时单价</td>
|
|
|
|
|
+ <td>计件单价</td>
|
|
|
|
|
+ <td>晚饭时间</td>
|
|
|
|
|
+ <td>计时工时</td>
|
|
|
|
|
+ <td>计件数量</td>
|
|
|
|
|
+ <td>备注</td>
|
|
|
|
|
+ <td>当日工资</td>
|
|
|
|
|
+ {{--<td>审核</td>--}}
|
|
|
|
|
+ <td>操作</td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ <tr v-for="(processDailyParticipant,i) in processDailyParticipants" :id="'processDailyParticipant'+processDailyParticipant.id">
|
|
|
|
|
+ <td v-if="processDailyParticipant.rowspan" :rowspan="processDailyParticipant.rowspan"><p >@{{ processDailyParticipant.date }}</p></td>
|
|
|
|
|
+ <td v-if="processDailyParticipant.rowspan" :rowspan="processDailyParticipant.rowspan">
|
|
|
|
|
+ <div class="form-inline">
|
|
|
|
|
+ <input :readonly="processDailyParticipant.readonly" v-model="processDailyParticipant.submitOutput"
|
|
|
|
|
+ class="form-control col-sm-5 " @click="updateOutput(processDailyParticipant)" type="text" />
|
|
|
|
|
+ @can("二次加工管理-登记工时")<button class="btn btn-sm btn-success" v-if="! processDailyParticipant.readonly" @click="submitOutputData(processDailyParticipant.daily_id,processDailyParticipant.submitOutput,processDailyParticipant.id)">确定</button>
|
|
|
|
|
+ <button class="btn btn-sm btn-danger" v-if="! processDailyParticipant.readonly" @click="processDailyParticipant.readonly=true;processDailyParticipant.submitOutput=processDailyParticipant.output">取消</button>
|
|
|
|
|
+ @endcan
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </td>
|
|
|
|
|
+ <td v-if="processDailyParticipant.rowspan" :rowspan="processDailyParticipant.rowspan"><p >@{{ processDailyParticipant.remain }}</p></td>
|
|
|
|
|
+ <td v-if="processDailyParticipant.rowspan" :rowspan="processDailyParticipant.rowspan">
|
|
|
|
|
+ @can("二次加工管理-登记工时")<button v-if="processDailyParticipant.isAddProcessDailyParticipant && isShow.isAddProcessDailyParticipant" class="btn btn-sm btn-outline-info" @click="addProcessDailyParticipant(processDailyParticipant);processDailyParticipant.isAddProcessDailyParticipant=false;">新增</button>
|
|
|
|
|
+ <button v-if="!processDailyParticipant.isAddProcessDailyParticipant" class="btn btn-sm btn-danger"
|
|
|
|
|
+ @click="deleteProcessDailyParticipant($event,processDailyParticipant.daily_id,processDailyParticipant.user_detail_full_name,processDailyParticipant.isConfirmBtn);processDailyParticipant.isAddProcessDailyParticipant=true;">取消</button>
|
|
|
@endcan
|
|
@endcan
|
|
|
- </div>
|
|
|
|
|
- </td>
|
|
|
|
|
- <td v-if="processDailyParticipant.rowspan" :rowspan="processDailyParticipant.rowspan"><p >@{{ processDailyParticipant.remain }}</p></td>
|
|
|
|
|
- <td v-if="processDailyParticipant.rowspan" :rowspan="processDailyParticipant.rowspan">
|
|
|
|
|
- @can("二次加工管理-登记工时")<button v-if="processDailyParticipant.isAddProcessDailyParticipant && isShow.isAddProcessDailyParticipant" class="btn btn-sm btn-outline-info" @click="addProcessDailyParticipant(processDailyParticipant);processDailyParticipant.isAddProcessDailyParticipant=false;">新增</button>
|
|
|
|
|
- <button v-if="!processDailyParticipant.isAddProcessDailyParticipant" class="btn btn-sm btn-danger"
|
|
|
|
|
- @click="deleteProcessDailyParticipant($event,processDailyParticipant.daily_id,processDailyParticipant.user_detail_full_name,processDailyParticipant.isConfirmBtn);processDailyParticipant.isAddProcessDailyParticipant=true;">取消</button>
|
|
|
|
|
- @endcan
|
|
|
|
|
- </td>
|
|
|
|
|
- <td>
|
|
|
|
|
- @can("二次加工管理-登记工时")<button v-if="!processDailyParticipant.isAddProcessDailyParticipant && processDailyParticipant.isConfirmBtn" class="btn btn-sm btn-success" @click="submitProcessDailyParticipant(processDailyParticipant.daily_id)">确定</button>
|
|
|
|
|
- <button v-if="processDailyParticipant.id" class="btn btn-sm btn-outline-info" @click="updateProcessDailyParticipant(processDailyParticipant)">改</button>
|
|
|
|
|
- @endcan
|
|
|
|
|
- </td>
|
|
|
|
|
- <td>
|
|
|
|
|
|
|
+ </td>
|
|
|
|
|
+ <td>
|
|
|
|
|
+ @can("二次加工管理-登记工时")<button v-if="!processDailyParticipant.isAddProcessDailyParticipant && processDailyParticipant.isConfirmBtn" class="btn btn-sm btn-success" @click="submitProcessDailyParticipant(processDailyParticipant.daily_id)">确定</button>
|
|
|
|
|
+ <button v-if="processDailyParticipant.id" class="btn btn-sm btn-outline-info" @click="updateProcessDailyParticipant(processDailyParticipant)">改</button>
|
|
|
|
|
+ @endcan
|
|
|
|
|
+ </td>
|
|
|
|
|
+ <td>
|
|
|
<span v-if="!processDailyParticipant.user_detail_full_name && processDailyParticipant.isAddProcessDailyParticipant==false" >
|
|
<span v-if="!processDailyParticipant.user_detail_full_name && processDailyParticipant.isAddProcessDailyParticipant==false" >
|
|
|
<input :class="{ 'is-invalid' : errors.user_id }" :data-original-title="errors.user_id ? errors.user_id : ''" :id="processDailyParticipant.daily_id+'user_detail_full_name'" class="form-control tooltipTargetError" style="width: 100px" type="text" @change="verifyUserName($event,processDailyParticipant.daily_id,processDailyParticipant.isConfirmBtn,processDailyParticipant)">
|
|
<input :class="{ 'is-invalid' : errors.user_id }" :data-original-title="errors.user_id ? errors.user_id : ''" :id="processDailyParticipant.daily_id+'user_detail_full_name'" class="form-control tooltipTargetError" style="width: 100px" type="text" @change="verifyUserName($event,processDailyParticipant.daily_id,processDailyParticipant.isConfirmBtn,processDailyParticipant)">
|
|
|
<input hidden :id="processDailyParticipant.daily_id+'user_id'"/>
|
|
<input hidden :id="processDailyParticipant.daily_id+'user_id'"/>
|
|
|
</span><span v-else>@{{ processDailyParticipant.user_detail_full_name }}</span></td>
|
|
</span><span v-else>@{{ processDailyParticipant.user_detail_full_name }}</span></td>
|
|
|
- <td>
|
|
|
|
|
|
|
+ <td>
|
|
|
<span v-if="!processDailyParticipant.user_detail_full_name && processDailyParticipant.isAddProcessDailyParticipant==false" >
|
|
<span v-if="!processDailyParticipant.user_detail_full_name && processDailyParticipant.isAddProcessDailyParticipant==false" >
|
|
|
<input :class="{ 'is-invalid' : errors.started_at }" :data-original-title="errors.started_at ? errors.started_at[0] : ''" :id="processDailyParticipant.daily_id+'started_at'" value="09:00" class="form-control tooltipTargetError" style="width:120px" type="time" @input="hourFilter(processDailyParticipant.daily_id,true)">
|
|
<input :class="{ 'is-invalid' : errors.started_at }" :data-original-title="errors.started_at ? errors.started_at[0] : ''" :id="processDailyParticipant.daily_id+'started_at'" value="09:00" class="form-control tooltipTargetError" style="width:120px" type="time" @input="hourFilter(processDailyParticipant.daily_id,true)">
|
|
|
</span><span v-else> @{{ processDailyParticipant.started_at }}</span></td>
|
|
</span><span v-else> @{{ processDailyParticipant.started_at }}</span></td>
|
|
|
- <td>
|
|
|
|
|
|
|
+ <td>
|
|
|
<span v-if="!processDailyParticipant.user_detail_full_name && processDailyParticipant.isAddProcessDailyParticipant==false" >
|
|
<span v-if="!processDailyParticipant.user_detail_full_name && processDailyParticipant.isAddProcessDailyParticipant==false" >
|
|
|
<input :class="{ 'is-invalid' : errors.ended_at }" :data-original-title="errors.ended_at ? errors.ended_at[0] : ''" :id="processDailyParticipant.daily_id+'ended_at'" value="18:00" class="form-control tooltipTargetError" style="width:120px" type="time" @input="hourFilter(processDailyParticipant.daily_id,true)">
|
|
<input :class="{ 'is-invalid' : errors.ended_at }" :data-original-title="errors.ended_at ? errors.ended_at[0] : ''" :id="processDailyParticipant.daily_id+'ended_at'" value="18:00" class="form-control tooltipTargetError" style="width:120px" type="time" @input="hourFilter(processDailyParticipant.daily_id,true)">
|
|
|
</span><span v-else> @{{ processDailyParticipant.ended_at }}</span></td>
|
|
</span><span v-else> @{{ processDailyParticipant.ended_at }}</span></td>
|
|
|
- <td><span v-if="!processDailyParticipant.user_detail_full_name && processDailyParticipant.isAddProcessDailyParticipant==false">
|
|
|
|
|
|
|
+ <td><span v-if="!processDailyParticipant.user_detail_full_name && processDailyParticipant.isAddProcessDailyParticipant==false">
|
|
|
<input :class="{ 'is-invalid' : errors.hour_price }" :data-original-title="errors.hour_price ? errors.hour_price[0] : ''" :id="processDailyParticipant.daily_id+'hour_price'" class="form-control tooltipTargetError" style="width:70px" type="text">
|
|
<input :class="{ 'is-invalid' : errors.hour_price }" :data-original-title="errors.hour_price ? errors.hour_price[0] : ''" :id="processDailyParticipant.daily_id+'hour_price'" class="form-control tooltipTargetError" style="width:70px" type="text">
|
|
|
</span><span v-else>@{{ processDailyParticipant.hour_price }}</span></td>
|
|
</span><span v-else>@{{ processDailyParticipant.hour_price }}</span></td>
|
|
|
- <td>
|
|
|
|
|
|
|
+ <td>
|
|
|
<span v-if="!processDailyParticipant.user_detail_full_name && processDailyParticipant.isAddProcessDailyParticipant==false">
|
|
<span v-if="!processDailyParticipant.user_detail_full_name && processDailyParticipant.isAddProcessDailyParticipant==false">
|
|
|
<input :class="{ 'is-invalid' : errors.unit_price }" :data-original-title="errors.unit_price ? errors.unit_price[0] : ''" :id="processDailyParticipant.daily_id+'unit_price'" class="form-control tooltipTargetError" style="width:70px" type="text">
|
|
<input :class="{ 'is-invalid' : errors.unit_price }" :data-original-title="errors.unit_price ? errors.unit_price[0] : ''" :id="processDailyParticipant.daily_id+'unit_price'" class="form-control tooltipTargetError" style="width:70px" type="text">
|
|
|
</span><span v-else>@{{ processDailyParticipant.unit_price }}</span></td>
|
|
</span><span v-else>@{{ processDailyParticipant.unit_price }}</span></td>
|
|
|
- <td>
|
|
|
|
|
|
|
+ <td>
|
|
|
<span v-if="!processDailyParticipant.user_detail_full_name && processDailyParticipant.isAddProcessDailyParticipant==false">
|
|
<span v-if="!processDailyParticipant.user_detail_full_name && processDailyParticipant.isAddProcessDailyParticipant==false">
|
|
|
<select :class="{ 'is-invalid' : errors.dinner_duration }" @input="hourFilter(processDailyParticipant.daily_id,true)" :data-original-title="errors.dinner_duration ? errors.dinner_duration[0] : ''"
|
|
<select :class="{ 'is-invalid' : errors.dinner_duration }" @input="hourFilter(processDailyParticipant.daily_id,true)" :data-original-title="errors.dinner_duration ? errors.dinner_duration[0] : ''"
|
|
|
:id="processDailyParticipant.daily_id+'dinner_duration'" class="form-control tooltipTargetError" style="width:80px">
|
|
:id="processDailyParticipant.daily_id+'dinner_duration'" class="form-control tooltipTargetError" style="width:80px">
|
|
@@ -438,44 +438,44 @@
|
|
|
<option value="60">60分钟</option>
|
|
<option value="60">60分钟</option>
|
|
|
</select>
|
|
</select>
|
|
|
</span><span v-else>@{{ processDailyParticipant.dinner_duration }}</span></td>
|
|
</span><span v-else>@{{ processDailyParticipant.dinner_duration }}</span></td>
|
|
|
- <td>
|
|
|
|
|
|
|
+ <td>
|
|
|
<span v-if="!processDailyParticipant.user_detail_full_name && processDailyParticipant.isAddProcessDailyParticipant==false">
|
|
<span v-if="!processDailyParticipant.user_detail_full_name && processDailyParticipant.isAddProcessDailyParticipant==false">
|
|
|
<input :class="{ 'is-invalid' : errors.hour_count }" :data-original-title="errors.hour_count ? errors.hour_count[0] : ''" :id="processDailyParticipant.daily_id+'hour_count'" :value="processDailyParticipant.hour_count?processDailyParticipant.hour_count:8" class="form-control tooltipTargetError" style="width:70px" type="text" >
|
|
<input :class="{ 'is-invalid' : errors.hour_count }" :data-original-title="errors.hour_count ? errors.hour_count[0] : ''" :id="processDailyParticipant.daily_id+'hour_count'" :value="processDailyParticipant.hour_count?processDailyParticipant.hour_count:8" class="form-control tooltipTargetError" style="width:70px" type="text" >
|
|
|
</span><span v-else>@{{ processDailyParticipant.hour_count }}</span></td>
|
|
</span><span v-else>@{{ processDailyParticipant.hour_count }}</span></td>
|
|
|
- <td>
|
|
|
|
|
|
|
+ <td>
|
|
|
<span v-if="!processDailyParticipant.user_detail_full_name && processDailyParticipant.isAddProcessDailyParticipant==false">
|
|
<span v-if="!processDailyParticipant.user_detail_full_name && processDailyParticipant.isAddProcessDailyParticipant==false">
|
|
|
<input :class="{ 'is-invalid' : errors.unit_count }" :data-original-title="errors.unit_count ? errors.unit_count[0] : ''" :id="processDailyParticipant.daily_id+'unit_count'" class="form-control tooltipTargetError" style="width:70px" type="text">
|
|
<input :class="{ 'is-invalid' : errors.unit_count }" :data-original-title="errors.unit_count ? errors.unit_count[0] : ''" :id="processDailyParticipant.daily_id+'unit_count'" class="form-control tooltipTargetError" style="width:70px" type="text">
|
|
|
</span><span v-else>@{{ processDailyParticipant.unit_count }}</span></td>
|
|
</span><span v-else>@{{ processDailyParticipant.unit_count }}</span></td>
|
|
|
- <td>
|
|
|
|
|
|
|
+ <td>
|
|
|
<span v-if="!processDailyParticipant.user_detail_full_name && processDailyParticipant.isAddProcessDailyParticipant==false">
|
|
<span v-if="!processDailyParticipant.user_detail_full_name && processDailyParticipant.isAddProcessDailyParticipant==false">
|
|
|
<input :id="processDailyParticipant.daily_id+'remark'" class="form-control" style="width: 100px" type="text">
|
|
<input :id="processDailyParticipant.daily_id+'remark'" class="form-control" style="width: 100px" type="text">
|
|
|
</span><span v-else>@{{ processDailyParticipant.remark }}</span></td>
|
|
</span><span v-else>@{{ processDailyParticipant.remark }}</span></td>
|
|
|
- <td class="text-danger">
|
|
|
|
|
- <div v-if="processDailyParticipant.unit_count || processDailyParticipant.hour_count">
|
|
|
|
|
- <span v-if="processDailyParticipant.unit_count">@{{ (processDailyParticipant.unit_count)*(processDailyParticipant.unit_price) }}</span>
|
|
|
|
|
- <span v-else>@{{ (processDailyParticipant.hour_count)*(processDailyParticipant.hour_price) }}</span>
|
|
|
|
|
- </div>
|
|
|
|
|
- </td>
|
|
|
|
|
- {{-- <td class="text-danger">
|
|
|
|
|
- @can("人事管理-任务审核")<button @click="processDailyParticipantAudit(processDailyParticipant.id)" v-if="processDailyParticipant.status=='未审核'" class="btn btn-sm btn-outline-success">审核</button>@endcan
|
|
|
|
|
- <b v-else class="text-success">@{{ processDailyParticipant.status }}</b>
|
|
|
|
|
- </td>--}}
|
|
|
|
|
- <td>
|
|
|
|
|
- <div v-if="processDailyParticipant.user_detail_full_name">
|
|
|
|
|
- @can("二次加工管理-临时工资料管理")<u class="text-info" style="cursor:pointer"
|
|
|
|
|
- @click="showUserDetail(processDailyParticipant.user_id)">详情</u>@endcan
|
|
|
|
|
- <button class="btn btn-sm btn-outline-danger" @click="deleteDailyParticipant(i)">删</button>
|
|
|
|
|
- </div>
|
|
|
|
|
- </td>
|
|
|
|
|
- </tr>
|
|
|
|
|
- </table>
|
|
|
|
|
- </td>
|
|
|
|
|
- </tr>
|
|
|
|
|
|
|
+ <td class="text-danger">
|
|
|
|
|
+ <div v-if="processDailyParticipant.unit_count || processDailyParticipant.hour_count">
|
|
|
|
|
+ <span v-if="processDailyParticipant.unit_count">@{{ (processDailyParticipant.unit_count)*(processDailyParticipant.unit_price) }}</span>
|
|
|
|
|
+ <span v-else>@{{ (processDailyParticipant.hour_count)*(processDailyParticipant.hour_price) }}</span>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </td>
|
|
|
|
|
+ {{-- <td class="text-danger">
|
|
|
|
|
+ @can("人事管理-任务审核")<button @click="processDailyParticipantAudit(processDailyParticipant.id)" v-if="processDailyParticipant.status=='未审核'" class="btn btn-sm btn-outline-success">审核</button>@endcan
|
|
|
|
|
+ <b v-else class="text-success">@{{ processDailyParticipant.status }}</b>
|
|
|
|
|
+ </td>--}}
|
|
|
|
|
+ <td>
|
|
|
|
|
+ <div v-if="processDailyParticipant.user_detail_full_name">
|
|
|
|
|
+ @can("二次加工管理-临时工资料管理")<u class="text-info" style="cursor:pointer"
|
|
|
|
|
+ @click="showUserDetail(processDailyParticipant.user_id)">详情</u>@endcan
|
|
|
|
|
+ <button class="btn btn-sm btn-outline-danger" @click="deleteDailyParticipant(i)">删</button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </td>
|
|
|
|
|
+ </tr>
|
|
|
|
|
+ </table>
|
|
|
|
|
+ </td>
|
|
|
|
|
+ </tr>
|
|
|
</template>
|
|
</template>
|
|
|
</table>
|
|
</table>
|
|
|
{{$processes->appends($paginateParams)->links()}}
|
|
{{$processes->appends($paginateParams)->links()}}
|
|
|
</div>
|
|
</div>
|
|
|
-</div>
|
|
|
|
|
|
|
+ </div>
|
|
|
|
|
|
|
|
|
|
|
|
|
@endsection
|
|
@endsection
|
|
@@ -490,7 +490,7 @@
|
|
|
data:{
|
|
data:{
|
|
|
participantInputting:{},
|
|
participantInputting:{},
|
|
|
processes:[
|
|
processes:[
|
|
|
- @foreach($processes as $processOne)
|
|
|
|
|
|
|
+ @foreach($processes as $processOne)
|
|
|
{id:'{{$processOne->id}}',code:'{{$processOne->code}}',owner_name:'{{$processOne->owner_name}}',owner_id:'{{$processOne->owner_id}}',operatorLogs:{!! $processOne->operatorLogs !!},
|
|
{id:'{{$processOne->id}}',code:'{{$processOne->code}}',owner_name:'{{$processOne->owner_name}}',owner_id:'{{$processOne->owner_id}}',operatorLogs:{!! $processOne->operatorLogs !!},
|
|
|
process_method_name:'{{$processOne->process_method_name}}',amount:'{{$processOne->amount}}',type:'{{$processOne->type}}',signs:{!!$processOne->signs !!},signUnitPrice:'{{$processOne->signUnitPrice ? $processOne->signUnitPrice->mark :''}}'
|
|
process_method_name:'{{$processOne->process_method_name}}',amount:'{{$processOne->amount}}',type:'{{$processOne->type}}',signs:{!!$processOne->signs !!},signUnitPrice:'{{$processOne->signUnitPrice ? $processOne->signUnitPrice->mark :''}}'
|
|
|
,tutorials:{!! $processOne->tutorials !!},processesContents:{!! $processOne->processesContents !!},unit_price:'{{$processOne->unit_price}}',created_at:'{{$processOne->created_at}}',
|
|
,tutorials:{!! $processOne->tutorials !!},processesContents:{!! $processOne->processesContents !!},unit_price:'{{$processOne->unit_price}}',created_at:'{{$processOne->created_at}}',
|
|
@@ -501,7 +501,7 @@
|
|
|
],
|
|
],
|
|
|
processesList:[],
|
|
processesList:[],
|
|
|
owners:[
|
|
owners:[
|
|
|
- @foreach($owners as $owner)
|
|
|
|
|
|
|
+ @foreach($owners as $owner)
|
|
|
{ name:'{{$owner->id}}',value:'{{$owner->name}}'},
|
|
{ name:'{{$owner->id}}',value:'{{$owner->name}}'},
|
|
|
@endforeach
|
|
@endforeach
|
|
|
],
|
|
],
|
|
@@ -520,7 +520,7 @@
|
|
|
userLabors:[],
|
|
userLabors:[],
|
|
|
modalDaily_id:'',
|
|
modalDaily_id:'',
|
|
|
processDailyParticipantOne:{id:'',user_id:'',user_detail_full_name:'',started_at:"",ended_at:"",
|
|
processDailyParticipantOne:{id:'',user_id:'',user_detail_full_name:'',started_at:"",ended_at:"",
|
|
|
- hour_price:'',unit_price:'',dinner_duration:'',hour_count:'',unit_count:'',remark:''},
|
|
|
|
|
|
|
+ hour_price:'',unit_price:'',dinner_duration:'',hour_count:'',unit_count:'',remark:''},
|
|
|
processTutorial:{id:'',owner_id:'',tutorials:[],},
|
|
processTutorial:{id:'',owner_id:'',tutorials:[],},
|
|
|
processUnfold:[],
|
|
processUnfold:[],
|
|
|
processFullSum:[],
|
|
processFullSum:[],
|
|
@@ -547,19 +547,6 @@
|
|
|
this.resetProcessData();
|
|
this.resetProcessData();
|
|
|
$(".tooltipTarget").tooltip({'trigger':'hover'});
|
|
$(".tooltipTarget").tooltip({'trigger':'hover'});
|
|
|
$('#process').removeClass('d-none');
|
|
$('#process').removeClass('d-none');
|
|
|
- function focusin() {
|
|
|
|
|
- if(isJustBack())location.reload();
|
|
|
|
|
- }
|
|
|
|
|
- window.enterAt=(new Date()).getTime();
|
|
|
|
|
- function isJustBack() {
|
|
|
|
|
- let nowAt=(new Date()).getTime();
|
|
|
|
|
- return (nowAt-window.enterAt)<600;
|
|
|
|
|
- }
|
|
|
|
|
- if ("onfocusin" in document){//for IE
|
|
|
|
|
- document.onfocusin = focusin;
|
|
|
|
|
- } else {
|
|
|
|
|
- window.onfocus= focusin;
|
|
|
|
|
- }
|
|
|
|
|
let data=[
|
|
let data=[
|
|
|
[
|
|
[
|
|
|
{name:'date_start',type:'dateTime',tip:'选择显示指定日期的起始时间'},
|
|
{name:'date_start',type:'dateTime',tip:'选择显示指定日期的起始时间'},
|
|
@@ -1516,9 +1503,9 @@
|
|
|
tempTip.setDuration(3000);
|
|
tempTip.setDuration(3000);
|
|
|
tempTip.show(response.data.data);
|
|
tempTip.show(response.data.data);
|
|
|
}).catch(function (err) {
|
|
}).catch(function (err) {
|
|
|
- tempTip.setDuration(3000);
|
|
|
|
|
- tempTip.show('网络错误:'+err);
|
|
|
|
|
- })
|
|
|
|
|
|
|
+ tempTip.setDuration(3000);
|
|
|
|
|
+ tempTip.show('网络错误:'+err);
|
|
|
|
|
+ })
|
|
|
},
|
|
},
|
|
|
resetProcessDailyParticipants(index){
|
|
resetProcessDailyParticipants(index){
|
|
|
if (this.processDailyParticipants[index].daily_id){
|
|
if (this.processDailyParticipants[index].daily_id){
|
|
@@ -1566,9 +1553,9 @@
|
|
|
tempTip.setDuration(3000);
|
|
tempTip.setDuration(3000);
|
|
|
tempTip.show(res.data.data);
|
|
tempTip.show(res.data.data);
|
|
|
}).catch(err=>{
|
|
}).catch(err=>{
|
|
|
- tempTip.setDuration(4000);
|
|
|
|
|
- tempTip.show('网络错误:'+err);
|
|
|
|
|
- })
|
|
|
|
|
|
|
+ tempTip.setDuration(4000);
|
|
|
|
|
+ tempTip.show('网络错误:'+err);
|
|
|
|
|
+ })
|
|
|
},
|
|
},
|
|
|
//修改时的晚饭时间改变计时工时
|
|
//修改时的晚饭时间改变计时工时
|
|
|
updateDinnerDuration(processDailyParticipantOne,e){
|
|
updateDinnerDuration(processDailyParticipantOne,e){
|