瀏覽代碼

Merge branch 'zzd'

# Conflicts:
#	resources/views/process/index.blade.php
LD 5 年之前
父節點
當前提交
5d0997f118

+ 4 - 4
app/Http/Controllers/ProcessController.php

@@ -643,16 +643,16 @@ class ProcessController extends Controller
         }
         if (isset($signMap[$msg]))return ['success'=>false,'data'=>'该单已被确认过!'];
         if (isset($signMap['二次加工组确认'])){
-            $process->createSign('财务确认');
             $result=$this->statistic($process);
-            if (!$result['success'])return $result;
+            //if (!$result['success'])return $result;
+            $process->createSign('财务确认');
             $process->destroySign();
             return ['success'=>true,'data'=>false];
         }
         if (isset($signMap['财务确认'])){
-            $process->createSign('二次加工组确认');
             $result=$this->statistic($process);
-            if (!$result['success'])return $result;
+            //if (!$result['success'])return $result;
+            $process->createSign('二次加工组确认');
             $process->destroySign();
             return ['success'=>true,'data'=>false];
         }

+ 2 - 2
resources/views/process/create.blade.php

@@ -22,11 +22,11 @@
                                     <span class="col-12 text-center text-muted small">双击选择商品:</span>
                                     <span class=" col-11 offset-1 input-group" style=" border-radius: 5px; opacity: 1.5; text-align: center;">
                                         <ul onselectstart="return false;" class="list-group tooltipTarget" style="width: 100%; max-height: 130px; overflow-y: scroll;">
-                                            <li  v-for="commodity in processContents[0].commodities" :id="commodity.id"  :style="{'background-color':processContents[0].commodity_id==commodity.id ? '#9fcdff':''}"
+                                            <li  v-for="commodity in processContents[0].commodities" :id="commodity.id"  :style="[{'background-color':processContents[0].commodity_id==commodity.id ? '#9fcdff':'' },{'text-decoration':commodityIds.includes(commodity.id+'_false')? 'line-through red' : ''}]"
                                                 @dblclick="selectedCommodity(commodity,processContents[0].wms_code,false)" class="list-group-item list-group-item-action p-0 m-0">
                                                 <div class="form-inline" style="cursor: default; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;">
                                                     <small :title="commodity.name" class="text-left text-primary col-6 tooltipTarget"  style="overflow: hidden;">@{{ commodity.name }}</small>
-                                                    <small class="text-left  col-6"><a v-for="barcode in commodity.barcodes">@{{ barcode.code }}&nbsp;&nbsp;&nbsp;</a></small>
+                                                    <small class="text-left  col-6"><span v-for="barcode in commodity.barcodes">@{{ barcode.code }}&nbsp;&nbsp;&nbsp;</span></small>
                                                 </div>
                                             </li>
                                         </ul>

+ 53 - 53
resources/views/process/index.blade.php

@@ -55,12 +55,13 @@
                                 <div class="form-inline">
                                <select id="status" name="status" v-model="filterData.status" @change="submit" style="max-width: 100px" class="form-control form-control-sm tooltipTarget" :class="filterData.status?'bg-warning':''" >
                                    <option value="" selected>状态</option>
+                                   <option value="待审核">待审核</option>
                                    <option value="待接单">待接单</option>
                                    <option value="待加工">待加工</option>
                                    <option value="已驳回">已驳回</option>
                                    <option value="加工中">加工中</option>
                                    <option value="待验收">待验收</option>
-                                   <option value="已完成">已完成</option>
+                                   <option value="交接完成">交接完成</option>
                                </select>
                                <button class="btn btn-sm btn-outline-dark pull-left ml-5" type="submit">按条件搜索</button></div>
                            </td>
@@ -257,37 +258,36 @@
                     </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:''">
+                        <span v-if="!processOne.openProcessHour && processOne.status=='已驳回'" class="text-muted">已驳回</span>
+                        <span v-if="!processOne.openProcessHour && processOne.status=='交接完成'" class="text-success font-weight-bold">交接完成</span>
                         @can("二次加工管理-审核")
-                        <button v-if="!processOne.openProcessHour && (processOne.status=='待审核' || processOne.status=='已驳回')"  @mouseenter="updateHtml($event,'审核')" @mouseleave="updateHtml($event,'审')" class="btn btn-sm btn-outline-success" @click="audit(processOne)">审</button>@endcan
-                        <p v-if="!processOne.openProcessHour && processOne.status=='已驳回'" class="text-muted">已驳回</p>
-                        <p v-if="!processOne.openProcessHour && processOne.status=='交接完成'" class="text-success font-weight-bold">交接完成</p>
+                        <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="updateHtml($event,'回滚')" @mouseleave="updateHtml($event,'回')">回</button>@endcan
+                        <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="updateHtml($event,'质量验收')" @mouseleave="updateHtml($event,'验')">验</button>@endcan
+                        <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=='待审核' ||processOne.status=='待接单' || processOne.status=='已驳回' || processOne.status=='加工中' || processOne.status=='待加工')" @click="processEdit(processOne.id)" class="btn btn-sm btn-outline-info pull-left" @mouseenter="updateHtml($event,'编辑')" @mouseleave="updateHtml($event,'编')">编</button>
-                        <button v-if="!processOne.openProcessHour && processOne.status=='待接单'" @click="processReject(processOne.id)" class="btn btn-sm btn-outline-dark pull-left" @mouseenter="updateHtml($event,'驳回')" @mouseleave="updateHtml($event,'驳')">驳</button>
-                        <button v-if="!processOne.openProcessHour && processOne.status=='待接单'"  @click="processReceive(processOne.id)" class="btn btn-sm btn-outline-primary pull-left" @mouseenter="updateHtml($event,'接单')" @mouseleave="updateHtml($event,'接')">接</button>@endcan
+                        <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 pull-left" @click="openProcessHour(processOne);processOne.openProcessHour=true;processOne.detailFolding=false" @mouseenter="updateHtml($event,'登记工时')" @mouseleave="updateHtml($event,'登')">登</button>
-                        <button v-if="processOne.openProcessHour" @click="closeProcessHour(processOne.id);processOne.openProcessHour=false" class="btn btn-sm btn-dark pull-left">收起登记工时</button>
-                        <button v-if="!processOne.openProcessHour && processOne.status=='加工中'" @click="processAccomplish(processOne)" class="btn btn-sm btn-outline-success pull-left" style="opacity: 0.7" @mouseenter="updateHtml($event,'完成')" @mouseleave="updateHtml($event,'完')">完</button>@endcan
-                        @can("二次加工管理-交接完成")<button v-if="!processOne.openProcessHour && processOne.status=='待交接'" @click="accomplish(processOne)" class="btn btn-sm btn-outline-success pull-left" @mouseenter="updateHtml($event,'交接完成')" @mouseleave="updateHtml($event,'交')">交</button>@endcan
-                        <button style="transform: scale(0.9);opacity: 0.8;" class="btn btn-sm btn-info" @click="show(processOne.id)" @mouseenter="updateHtml($event,'查看单据')" @mouseleave="updateHtml($event,'查')">查</button>
+                                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" class="text-muted" :rowspan="processOne.is_multi_row?2:''">@{{ processOne.code }}</td>
-                    <td v-if="processOne.id" class="text-muted" :rowspan="processOne.is_multi_row?2:''" @mouseleave="processOne.is_verifier_show=false;" @mouseenter="processOne.is_verifier_show=true;">
-                        <div v-if="processOne.operatorLogs.length>0" style="cursor: move;" >
-                            <div :style="{'font-size':(processOne.operatorLogs.length==1 ? '1em' : processOne.operatorLogs.length==2 ? '0.5em' : '1px')}"
-                                 class="text-center m-0 p-0">
-                                @{{ processOne.operatorLogs[0].user_name }}<br>
-                                <span v-if="processOne.operatorLogs[1]">&#8595;<br>@{{ processOne.operatorLogs[1].user_name }}<br></span>
-                                <span v-if="processOne.operatorLogs[2]">&#8595;<br>@{{ processOne.operatorLogs[2].user_name }}</span>
-                            </div>
-                        </div>
-                        <div v-if="processOne.is_verifier_show && processOne.operatorLogs.length>0" style="position: absolute;width:300px;margin-left:-100px;background-color: white;max-height:150px ;overflow-y:auto"
-                             class="small mt-0" @mouseleave="processOne.is_verifier_show=false;" @mouseenter="processOne.is_verifier_show=true;">
+                    <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>
@@ -337,19 +337,19 @@
                         <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="max-width: 50px;">
+                                    <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>
-                                <b @click="processOne.is_update_unit_price=true;" v-else style="cursor: pointer" class="font-weight-bold">@{{ processOne.unit_price }}</b>
+                                <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.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.id]['二次加工组确认']" class="btn btn-sm btn-outline-success" @click="verify(processOne,'workGroup')">组长确认</button>@endcan
-                                    @can('二次加工管理-财务确认')<button v-if="!signs[processOne.id]['财务确认']" class="btn btn-sm btn-outline-success" @click="verify(processOne,'accountant')">财务确认</button>@endcan
+                                    @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>
@@ -385,28 +385,25 @@
                             </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/4))+')'},{height: (35*Math.ceil(arrayFilter(processOne.processesContents,processOne).length/4))+'px'}
-                        ,{width: (100*Math.ceil(arrayFilter(processOne.processesContents,processOne).length/4))+'%'},{'margin-left': (-100*((Math.ceil(arrayFilter(processOne.processesContents,processOne).length/4))-1)/2)+'%'}
-                        ,{'margin-top': (-35*((Math.ceil(arrayFilter(processOne.processesContents,processOne).length/4))-1)/2)+'px'},{'margin-bottom': (-35*((Math.ceil(arrayFilter(processOne.processesContents,processOne).length/4))-1)/2)+'px'}]">
-                            <div v-for="(processesContent,i) in arrayFilter(processOne.processesContents,processOne)"  class=" row  p-1" style="float: left;margin-right: 20px;font-size:1vw;-webkit-transform-origin: 0" :style="[{opacity:1/0.7},
-                            {'margin-left': arrayFilter(processOne.processesContents,processOne).length >4 ? (1*parseInt(arrayFilter(processOne.processesContents,processOne).length/2))+'px' : '0px'}]">
+                        ,{'-webkit-transform':'scale('+(1/Math.ceil(arrayFilter(processOne.processesContents,processOne).length/3))+')'},{height: (35*Math.ceil(arrayFilter(processOne.processesContents,processOne).length/3))+'px'}
+                        ,{width: (100*Math.ceil(arrayFilter(processOne.processesContents,processOne).length/3))+'%'},{'margin-left': (-100*((Math.ceil(arrayFilter(processOne.processesContents,processOne).length/3))-1)/2)+'%'}
+                        ,{'margin-top': (-35*((Math.ceil(arrayFilter(processOne.processesContents,processOne).length/3))-1)/2)+'px'},{'margin-bottom': (-35*((Math.ceil(arrayFilter(processOne.processesContents,processOne).length/3))-1)/2)+'px'}]">
+                            <div v-for="(processesContent,i) in arrayFilter(processOne.processesContents,processOne)"  class=" row  p-1" style="float: left;margin-right: 20px;-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'}]">
                                 <span>@{{ processesContent.bill_type }}</span>&nbsp;&nbsp;
                                 <span>@{{ processesContent.wms_code }}</span>&nbsp;&nbsp;
                                 <span>@{{ processesContent.amount }}</span>&nbsp;&nbsp;
-                                <span>
-                                    <small v-if="processesContent.commodity && processesContent.commodity.barcodes.length>0">
-                                        @{{ processesContent.commodity.barcodes[0].code }}
-                                    </small>
+                                <span v-if="processesContent.commodity && processesContent.commodity.barcodes.length>0">
+                                    @{{ processesContent.commodity.barcodes[0].code }}
                                 </span>&nbsp;&nbsp;
                                 <span :title="processesContent.sign_mark?processesContent.sign_mark:processesContent.commodity_name" class="text-muted tooltipTarget" style="max-width:100px;overflow:hidden;">@{{ processesContent.sign_mark?processesContent.sign_mark:processesContent.commodity_name }}</span>
                             </div>
                         </div>
-                        <div style="overflow: auto;zoom:1;width: 100%" v-if="!processUnfold[processOne.code+processOne.id] && processOne.processesContents.length>1 &&
+                        <div style="overflow: auto;zoom:1;position:absolute;margin-top: -35px;margin-left: 50%;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] && processFullSum[processOne.code]>1 && ((processOne.is_multi_row || !processOne.id) ? (!processOne.id  ? true :false) : true))" class="text-center mb-0"
-                             :style="{background : (processFullSum[processOne.code]!=processOne.processesContents.length && (processOne.processesContents.length)-(processFullSum[processOne.code])!=1 && ((processOne.is_multi_row || !processOne.id) ? (!processOne.id  ? false :true) : true)) ? 'rgb(246, 238, 232)' : '#e8eef6'}">
-                        <b 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)" style="cursor:pointer;color: #4aa0e6;text-decoration:underline" @click="unfold(processOne.code,processOne.id,'原料单')">点击展开原料单</b>
-                        <b v-if="processFullSum[processOne.code] && processFullSum[processOne.code]>1 && ((processOne.is_multi_row || !processOne.id) ? (!processOne.id  ? true :false) : true)" style="cursor:pointer;color: #4aa0e6;text-decoration:underline;" @click="unfold(processOne.code,processOne.id,'成品单')">点击展开成品单</b></div>
+                        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:''">
@@ -532,7 +529,9 @@
                     {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  !!}
                         ,tutorials:{!! $processOne->tutorials !!},processesContents:{!! $processOne->processesContents !!},unit_price:'{{$processOne->unit_price}}',created_at:'{{$processOne->created_at}}',
-                        completed_amount:'{{$processOne->completed_amount}}',status:'{{$processOne->status}}',remark:'{{$processOne->remark}}',detailFolding:false,openProcessHour:false,is_multi_row:false,is_verifier_show:false,is_update_unit_price:false},
+                        completed_amount:'{{$processOne->completed_amount}}',status:'{{$processOne->status}}',remark:'{{$processOne->remark}}',detailFolding:false,openProcessHour:false,is_multi_row:false,is_verifier_show:false,is_update_unit_price:false,
+                        buttonTexts:{'审核':'审','回滚':'回','编辑':'编','接单':'接','驳回':'驳','质量验收':'验','完成':'完','交接完成':'交','查看单据':'查','登记工时':'登'},
+                    },
                     @endforeach
                 ],
                 processesList:[],
@@ -606,9 +605,9 @@
                     let indexs = [];
                     for (let i = 0; i < this.processes.length; i++) {
                         let process = this.processes[i];
-                        _this.$set(_this.signs,process.id,[]);
+                        _this.$set(_this.signs,process.code,[]);
                         process.signs.forEach(function (sign) {
-                            _this.$set(_this.signs[process.id],sign.mark,true);
+                            _this.$set(_this.signs[process.code],sign.mark,true);
                         });
                         process.serial_number = i + 1;
                         process.processesContents.every(function (processesContent) {
@@ -1099,6 +1098,9 @@
                                 setTimeout(function () {
                                     $(".tooltipTargetError").tooltip('show');
                                 }, 1);
+                                setTimeout(function () {
+                                    $(".tooltipTargetError").tooltip('hide');
+                                }, 3000);
                                 return;
                             }
                             if (response.data.status == "success") {
@@ -1276,8 +1278,7 @@
                     let _this = this;
                     axios.post('{{url('process/selectedTutorial')}}', {
                         process_id: process_id,
-                        tutorial_id,
-                        tutorial_id
+                        tutorial_id:tutorial_id
                     })
                         .then(function (response) {
                             if (response.data.success) {
@@ -1345,6 +1346,7 @@
                     this.$delete(this.processUnfold, code + id);
                 },
                 rollback(id) {
+                    if (!confirm('确定要回滚至上一阶段吗?')) return;
                     if (!id) return;
                     let _this = this;
                     axios.post('{{url('process/rollback')}}', {id: id})
@@ -1436,9 +1438,6 @@
                         tempTip.show('网络错误:' + err)
                     })
                 },
-                updateHtml(e, msg) {
-                    e.target.innerHTML = msg;
-                },
                 show(id) {
                     window.location.href = '{{url('process')}}/' + id;
                 },
@@ -1484,8 +1483,9 @@
                             if (response.data.success) {
                                 if (response.data.data){
                                     process.signs.push(response.data.data);
-                                    _this.$set(_this.signs[process.id],response.data.data.mark,true);
+                                    _this.$set(_this.signs[process.code],response.data.data.mark,true);
                                 }else{
+                                    _this.signs[process.code]=[];
                                     process.signs=[];
                                 }
                                 tempTip.setDuration(2000);

+ 50 - 44
resources/views/process/show.blade.php

@@ -9,49 +9,55 @@
     </li>
     @endcomponent
 </span>
-<div id="body" class="d-none card card-body container text-nowrap">
-    <div class="col offset-1 row">
-        <label class="col-2 text-primary" for="code">任务号:</label>
-        <span id="code" class="col-8 offset-1">@{{ process.code }}</span>
-    </div>
-    <div class="col offset-1 row">
-        <label class="col-2 text-primary" for="code">货主:</label>
-        <span id="code" class="col-8 offset-1">@{{ process.owner_name }}</span>
-    </div>
-    <div class="col offset-1 row">
-        <label class="col-2 text-primary" for="code">加工类型:</label>
-        <span id="code" class="col-8 offset-1 text-danger font-weight-bold">@{{ process.process_method_name }}</span>
-    </div>
-    <div class="col offset-1 row">
-        <label class="col-2 text-dark" for="code">预期数量:</label>
-        <span id="code" class="col-8 offset-1 text-muted">@{{ process.amount }}</span>
-    </div>
-    <div class="col offset-1 row">
-        <label class="col-2 text-dark" for="code">单价:</label>
-        <span id="code" class="col-8 offset-1 text-muted">@{{ process.unit_price }}</span>
-    </div>
-    <div class="col offset-1 row">
-        <label class="col-2 text-dark" for="code">完成数量:</label>
-        <span id="code" class="col-8 offset-1 text-muted">@{{ process.completed_amount }}</span>
-    </div>
-    <div class="col offset-1 row">
-        <label class="col-2 text-dark" for="code">建单日期:</label>
-        <span id="code" class="col-8 offset-1 text-muted">@{{ process.created_at }}</span>
+<div id="body" class="d-none  card card-body container-fluid text-nowrap">
+    <div class="row">
+        <div class="col-sm-3">
+            <label class="text-muted col-3" for="code">任务号:</label>
+            <span class="col-8 offset-1" id="code">@{{ process.code }}</span>
+        </div>
+        <div class="col-sm-3">
+            <label class="text-muted col-3" for="owner_name">客户名称:</label>
+            <span id="owner_name" class="col-8 offset-1">@{{ process.owner_name }}</span>
+        </div>
+        <div class="col-sm-3">
+            <label class="text-muted col-3" for="status">状态:</label>
+            <span id="status" class="col-8 offset-1">@{{ process.status }}</span>
+        </div>
+        <div class="col-sm-3">
+            <label class="text-muted col-3" for="created_at">建单日期:</label>
+            <span id="created_at" class="col-8 offset-1">@{{ process.created_at }}</span>
+        </div>
     </div>
-    <div class="col offset-1 row">
-        <label class="col-2 text-dark" for="code">状态:</label>
-        <span id="code" class="col-8 offset-1 text-success font-weight-bold">@{{ process.status }}</span>
+    <div class="row">
+        <div class="col-sm-3">
+            <label class="text-primary col-3" for="process_method_name">加工类型:</label>
+            <span id="process_method_name" class="col-8 offset-1 text-danger font-weight-bold">@{{ process.process_method_name }}</span>
+        </div>
+        <div class="col-sm-3">
+            <label class="text-primary col-3" for="amount">预期数量:</label>
+            <span id="amount" class="col-8 offset-1">@{{ process.amount }}</span>
+        </div>
+        <div class="col-sm-3">
+            <label class="text-primary col-3" for="completed_amount">完成数量:</label>
+            <span id="completed_amount" class="col-8 offset-1  text-dark font-weight-bold">@{{ process.completed_amount }}</span>
+        </div>
+        <div class="col-sm-3">
+            <label class="text-primary col-3" for="unit_price">单价:</label>
+            <span id="unit_price" class="col-8 offset-1">@{{ process.unit_price }}</span>
+        </div>
     </div>
-    <div class="col offset-1 row">
-        <label class="col-2 text-dark" for="code">备注:</label>
-        <span id="code" class="col-8 offset-1 text-muted" style="white-space: normal;max-width: 200px">@{{ process.remark }}</span>
+    <div class="row">
+        <div class="col-sm-12  ">
+            <label class="col-3 text-dark" for="remark">备注:</label>
+            <span id="remark" class="col-10 offset-1" style="white-space: normal;">@{{ process.remark }}</span>
+        </div>
     </div>
-    <div class="col row mt-0 mb-0 p-0 small w-100" style="margin-left: -18px;">
+    <div class="col-sm row  w-100" >
         <table class="table table-sm table-bordered table-bordered w-100" style="background-color: #efe3d9;">
             <tr>
-                <th>类型<span class="badge badge-sm bg-warning">原料单</span></th>
-                <th>单据号</th>
-                <th>本单数量</th>
+                <th>类型</th>
+                <th>单据号<span class="badge badge-sm badge-pill bg-warning small">原料单</span></th>
+                <th>数量</th>
                 <th>商品条码</th>
                 <th>商品名称</th>
             </tr>
@@ -70,9 +76,9 @@
         </table>
         <table class="table table-sm table-bordered table-bordered w-100" style="background-color: #ccd7dc;">
             <tr>
-                <th>类型<span class="badge badge-sm bg-warning">成品单</span></th>
-                <th>单据号</th>
-                <th>本单数量</th>
+                <th>类型</th>
+                <th>单据号<span class="badge badge-sm bg-warning small">成品单</span></th>
+                <th>数量</th>
                 <th>商品条码</th>
                 <th>商品名称</th>
             </tr>
@@ -90,10 +96,10 @@
             </tr>
         </table>
     </div>
-    <div class="col offset-1 row">
+    <div class="col  row">
         <label class="col-2 text-dark" for="tutorials">教程:</label>
-        <span class="col-8 offset-1 text-danger font-weight-bold" v-if="process.tutorials.length<1">暂无</span>
-        <div v-else id="tutorials" class="col-8 offset-1 text-muted" style="white-space: normal">
+        <span class="col-8  text-danger font-weight-bold" v-if="process.tutorials.length<1">暂无</span>
+        <div v-else id="tutorials" class="col-8  text-muted" style="white-space: normal">
             <b @click="tutorialShow(tutorial.id)" style="cursor: pointer;text-decoration:underline" class="text-primary" v-for="tutorial in process.tutorials">@{{ tutorial.name }}<br></b>
         </div>
     </div>