浏览代码

打印微调

yuansh 2 年之前
父节点
当前提交
f7b5325b65
共有 2 个文件被更改,包括 829 次插入834 次删除
  1. 822 829
      src/views/oa/modules/IncidentTicketModalDetail.vue
  2. 7 5
      src/views/oa/modules/SyCarryDetailModal.vue

+ 822 - 829
src/views/oa/modules/IncidentTicketModalDetail.vue

@@ -1,830 +1,823 @@
-<template>
-  <a-modal
-    title="详情"
-    width="85%"
-    :visible="visible"
-    :maskClosable="false"
-    :confirmLoading="confirmLoading"
-    @cancel="handleCancel"
-    destroyOnClose
-    >
-    <template #footer>
-        <a-button  @click="handleCancel" style="margin-left: 8px;">取消</a-button>
-        <a-button @click="handlePrint" style="margin-left: 8px;">打印</a-button>
-        <a-button  type="primary"  @click="addNotice" style="margin-left: 8px;" :disabled="!(formState.state=='1')">通知</a-button>
-        <a-popconfirm title="确定反馈通知吗?" ok-text="是" cancel-text="否" @confirm="feedbackNotice" @cancel="handleCancelPop('visibleFk')" :visible="visibleFk">
-          <a-button  type="primary"   style="margin-left: 8px;" :disabled="!(formState.state=='2')" @click="()=>visibleFk = true">反馈通知</a-button>
-        </a-popconfirm>
-        <a-popconfirm title="确定推送吗?" ok-text="是" cancel-text="否" @confirm="push" @cancel="handleCancelPop('visibleTs')" :visible="visibleTs">
-          <a-button  type="primary"   style="margin-left: 8px;" :disabled="!(formState.state=='3'&&!confirmLoading)" @click="()=>visibleTs = true">推送</a-button>
-        </a-popconfirm>
-        <a-popconfirm title="确定完结吗?" ok-text="是" cancel-text="否" @confirm="end"   @cancel="handleCancelPop('visibleWj')" :visible="visibleWj">
-          <a-button  type="primary"   style="margin-left: 8px;" :disabled="!(formState.state=='3'|| formState.state=='4')" @click="()=>visibleWj = true">完结</a-button>
-        </a-popconfirm>
-      </template>
-      <a-spin :spinning="confirmLoading">
-      <div class="table-page-search-wrapper" >
-        <div>
-        <a-form-model layout="inline" ref="form" :model="formState" :rules="validatorRules" labelAlign="right" class="kk">
-          <a-row :gutter="24">
-          <a-col :span="8" >
-            <a-form-model-item label="日期" prop="accidentData" >
-              <a-input v-model="formState.accidentData"    placeholder="请输入" readOnly  ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="8" >
-            <a-form-model-item label="质量事故单主题" prop="accidentTheme">
-              <a-input v-model="formState.accidentTheme"   placeholder="请输入" readOnly ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="8">
-            <a-form-model-item label="质量事故单号" prop="accidentNumber">
-              <a-input v-model="formState.accidentNumber"   placeholder="请输入" readOnly ></a-input>              
-            </a-form-model-item>
-          </a-col>
-          </a-row>
-          <a-row :gutter="24">
-          <a-col :span="8" >
-            <a-form-model-item label="客户" prop="customer" >
-              <a-input v-model="formState.customer"    placeholder="请输入" readOnly ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="8" >
-            <a-form-model-item label="工厂(事故发生地)" prop="factory">
-              <a-input v-model="formState.factory"   placeholder="请输入" readOnly ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="8" >
-            <a-form-model-item label="责任单位" prop="responsibilityCompany">
-              <a-input v-model="formState.responsibilityCompany"   placeholder="请输入" readOnly ></a-input>
-            </a-form-model-item>
-          </a-col>
-          
-          </a-row>
-          <a-divider />
-          <a-row :gutter="24">
-            <a-col :span="6" >
-            <a-form-model-item label="责任人1" prop="responsibilityPerson1" >
-              <j-search-select-tag v-model="formState.responsibilityPerson1" placeholder="" 
-                   dict="sys_user,realname,username" @search="searchName" :disabled="true" />
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="6" >
-            <a-form-model-item label="责任人2" prop="responsibilityPerson2" >
-              <j-search-select-tag v-model="formState.responsibilityPerson2" placeholder="" 
-                   dict="sys_user,realname,username" @search="searchName"  :disabled="true" />
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="6" >
-            <a-form-model-item label="责任人3" prop="responsibilityPerson3">
-              <j-search-select-tag v-model="formState.responsibilityPerson3" placeholder="" 
-                   dict="sys_user,realname,username" @search="searchName" :disabled="true" />
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="6">
-            <a-form-model-item label="责任人4" prop="responsibilityPerson4">
-              <j-search-select-tag v-model="formState.responsibilityPerson4" placeholder="" 
-                   dict="sys_user,realname,username" @search="searchName" :disabled="true" />
-            </a-form-model-item>
-          </a-col>
-          </a-row>
-          <a-row :gutter="24">
-            <a-col :span="6" >
-            <a-form-model-item label="金额1" prop="sum1" >
-              <a-input v-model="formState.sum1"   placeholder="请输入" readOnly ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="6" >
-            <a-form-model-item label="金额2" prop="sum2" >
-              <a-input v-model="formState.sum2"    placeholder="请输入" readOnly ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="6" >
-            <a-form-model-item label="金额3" prop="sum3">
-              <a-input v-model="formState.sum3"   placeholder="请输入" readOnly ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="6">
-            <a-form-model-item label="金额4" prop="sum4" >
-              <a-input v-model="formState.sum4"   placeholder="请输入" readOnly ></a-input>
-            </a-form-model-item>
-          </a-col>
-          </a-row>
-          <a-divider />
-          <a-row :gutter="24">         
-          <!-- <a-col :span="8" >
-            <a-form-model-item label="币种" prop="moneyType">
-              <a-input v-model="formState.moneyType"   placeholder="请输入" readOnly></a-input>
-            </a-form-model-item>
-          </a-col> -->
-          <a-col :span="8" >
-            <a-form-model-item label="总金额" prop="totalMoney" >
-              <a-input v-model="formState.totalMoney"    placeholder="请输入" readOnly ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="8" >
-            <a-form-model-item label="业务类型" prop="businessType">
-              <a-input v-model="formState.businessType"   placeholder="请输入" readOnly ></a-input>
-            </a-form-model-item>
-          </a-col>
-          
-          </a-row>
-          <a-row :gutter="24">
-            <a-col :span="8" >
-            <a-form-model-item label="成衣销售订单号" prop="garmentSalesOrder">
-              <a-input v-model="formState.garmentSalesOrder"   placeholder="请输入" readOnly ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="8" >
-            <a-form-model-item label="款号" prop="styleNumber" >
-              <a-input v-model="formState.styleNumber"    placeholder="请输入" readOnly ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="8" >
-            <a-form-model-item label="物料" prop="material">
-              <a-input v-model="formState.material"   placeholder="请输入" readOnly ></a-input>
-            </a-form-model-item>
-          </a-col>
-         
-          </a-row>
-          <a-row :gutter="24">
-            <a-col :span="8" >
-            <a-form-model-item label="计划员" prop="planPersonnel">
-              <a-input v-model="formState.planPersonnel"   placeholder="请输入" readOnly ></a-input>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="8" >
-            <a-form-model-item label="业务员" prop="businessPeople" >
-              <j-search-select-tag v-model="formState.businessPeople" placeholder="" 
-                   dict="sys_user,realname,username" @search="searchName" :disabled="true" />
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="8" >
-            <a-form-model-item label="QC" prop="qualityControl">
-              <j-search-select-tag v-model="formState.qualityControl" placeholder="" 
-                   dict="sys_user,realname,username" @search="searchName" :disabled="true" />
-            </a-form-model-item>
-          </a-col>
-          </a-row>
-          <a-row :gutter="24">
-          <a-col :span="24" style="height: 290px;">
-            <a-form-model-item label="情况说明" prop="presentationCondition" class="fff">
-              <a-input v-model="formState.presentationCondition"  type="textarea"  placeholder="请输入" readOnly ></a-input>
-            </a-form-model-item>
-          </a-col>
-          </a-row>
-          
-         </a-form-model>
-         </div>
-      <!-- 子表单区域 -->
-          <!-- <a-button type="primary"  @click="addList" style="margin-bottom: 1%;">增行</a-button> -->
-          <a-table
-           bordered
-          :columns="incidentTicketChildrenTable.columns"
-          :data-source="incidentTicketChildrenTable.dataSource"
-          :loading="incidentTicketChildrenTable.loading"
-          :scroll="{x: 1500,y:300 }"
-          :pagination="false"
-            >
-          <!-- 汇率 -->
-          <span slot="exchangeRate" slot-scope="text, record, index">
-                  <a-input placeholder="请输入" v-model="record.exchangeRate" />
-          </span>
-           <!-- 实际事故金额 -->
-           <span slot="practicalSum" slot-scope="text, record, index">
-                  <a-input placeholder="请输入" v-model="record.practicalSum" />
-          </span>
-           <!-- U8生成运费发票号 -->
-           <span slot="u8Invoice" slot-scope="text, record, index">
-                  <a-input placeholder="请输入" v-model="record.u8Invoice" />
-          </span>
-          <!-- 账套号 -->
-          <span slot="zhanghaoId" slot-scope="text, record, index">
-                  <a-input placeholder="请输入" v-model="record.zhanghaoId" />
-          </span>
-           <!-- 备注 -->
-           <span slot="remark" slot-scope="text, record, index">
-                  <a-input placeholder="请输入" v-model="record.remark" />
-          </span>
-          </a-table>
-            <!-- 主表单区域 -->
-        <a-form-model layout="inline" ref="form" :model="formState" :rules="validatorRules">
-          <a-row :gutter="24">
-            <a-col :span="12"  >
-            <a-form-model-item label="附件上传" prop="accessory" class="ff">
-              <j-upload  v-model="accessory"  :disabled="true"></j-upload>
-            </a-form-model-item>
-          </a-col>
-            <a-col :span="12"  >
-              <a-form-model-item label="工厂签章" prop="factorySignature" class="ff">
-              <j-upload  v-model="factorySignature"  :disabled="true"></j-upload>
-            </a-form-model-item>
-          </a-col>
-         
-          </a-row>
-          <a-row :gutter="24">
-          <a-col :span="24" style="height: 230px;">
-            <a-form-model-item label="财务备注" prop="financeRemark" class="caiwu">
-              <a-input v-model="formState.financeRemark"  type="textarea"  placeholder="请输入" readOnly ></a-input>
-            </a-form-model-item>
-          </a-col>          
-          </a-row>
-          <a-row :gutter="24">
-            <a-col :span="12" >
-            <a-form-model-item label="财务添加附件" prop="accessory2" class="ff ">
-              <j-upload  v-model="accessory2"  ></j-upload>
-            </a-form-model-item>
-          </a-col>
-          <a-col :span="10">
-            <a-form-model-item label="通知人" prop="Noticer">
-              <a-input v-model="formState.Noticer"  placeholder="请输入" ></a-input>
-            </a-form-model-item>
-          </a-col>
-          </a-row>
-          <a-row :gutter="24">
-            <a-col :span="8" >
-            <a-form-model-item label="填报人" prop="informant">
-              <a-input v-model="formState.informant"   placeholder="请输入" readOnly ></a-input>
-            </a-form-model-item>
-          </a-col>
-          
-          </a-row>
-        </a-form-model>
-
-      <j-select-biz-component   ref="JSelectBizComponent"    @send-notice="sendNotice" :multi="true" />
-    </div>
-    </a-spin>
-    <!-- 打印 -->
-    <div class="col-md-6 column" style="display: none;" id="printBox">
-             <h1 style="text-align: center;">质量事故处理单</h1>
-              <table class="table table-bordered" style="border:2px solid #999">    
-                        <thead>
-                        </thead>
-                        <tbody>
-                                <tr>
-                                    <td class="tdOne">日期</td>
-                                    <td class="tdTwo"> {{ formState.accidentData }}</td>
-                                    <td class="tdOne">质量事故单号</td>
-                                    <td class="tdTwo">{{ formState.accidentNumber }}</td>
-                                    <td class="tdOne">质量事故主题</td>
-                                    <td class="tdTwo">{{ formState.accidentTheme }}</td>
-                                </tr>
-                            <tr>
-                                <td class="tdOne">客户</td>
-                                <td class="tdTwo" >{{formState.customer  }}</td>
-                                <td class="tdOne">工厂</td>
-                                <td class="tdTwo" >{{ formState.factory}}</td>
-                                <td class="tdOne">责任单位</td>
-                                <td class="tdTwo" >{{ formState.responsibilityCompany }}</td>
-                            </tr>
-                            <tr>
-                                <td class="tdOne">责任人1</td>
-                                <td class="tdOne">{{ formState.responsibilityPerson1 }}</td>
-                                <td class="tdOne">责任人2</td>
-                                <td class="tdOne">{{ formState.responsibilityPerson2 }}</td>
-                                <td class="tdOne">责任人3</td>
-                                <td class="tdOne">{{ formState.responsibilityPerson3 }}</td>
-                            </tr>
-                            <tr>
-                              <td class="tdOne">金额1</td>
-                                <td class="tdOne">{{ formState.sum1 }}</td>
-                                <td class="tdOne">金额2</td>
-                                <td class="tdOne">{{ formState.sum2 }}</td>
-                                <td class="tdOne">金额3</td>
-                                <td class="tdOne">{{ formState.sum3 }}</td>
-                            </tr>
-                            <tr>
-                                <td class="tdOne">总金额</td>
-                                <td class="tdOne">{{ formState.totalMoney }}</td>
-                                <td class="tdOne">业务类型</td>
-                                <td class="tdOne">{{ formState.businessType }}</td>
-                                <td class="tdOne"></td>
-                                <td class="tdOne"></td>
-                            </tr>
-
-                            <tr>
-                                <td class="tdOne">成衣销售订单号</td>
-                                <td class="tdOne">{{ formState.garmentSalesOrder }}</td>
-                                <td class="tdOne">款号</td>
-                                <td class="tdOne">{{ formState.styleNumber }}</td>
-                                <td class="tdOne">物料</td>
-                                <td class="tdOne">{{ formState.material }}</td>
-                            </tr>
-                            <tr>
-                                <td class="tdOne">计划员</td>
-                                <td class="tdOne">{{ formState.planPersonnel }}</td>
-                                <td class="tdOne">业务员</td>
-                                <td class="tdOne">{{ formState.businessPeople }}</td>
-                                <td class="tdOne">QC</td>
-                                <td class="tdOne">{{ formState.qualityControl }}</td>
-                            </tr>
-                            <tr style="height: 50px;">
-                                <td class="tdOne" rowspan="3">情况说明</td>
-                                <td class="tdOne" colspan="5" rowspan="3">{{ formState.presentationCondition }}</td>
-                            </tr>
-                        </tbody>
-                    </table>
-                    <table class="table table-bordered" style="margin-top: 2%;border:2px solid #999">    
-                        <thead>
-                           <th>计划单号</th>
-                           <th>事故类型</th>
-                           <th>币种</th>
-                           <th>事故金额</th>
-                           <th>汇率</th>
-                           <th>实际事故金额</th>
-                           <th>U8生成运费发票号</th>
-                           <th>账套号</th>
-                           <th>备注</th>
-                        </thead>
-                        <tbody>
-                               <tr v-for="(item, key) in incidentTicketChildrenTable.dataSource">
-                                  <td>{{item.planNumber}}</td>
-                                  <td>{{item.accidentType}}</td>
-                                  <td>{{item.moneyType}}</td>
-                                  <td>{{item.accidentSum}}</td>
-                                  <td>{{item.exchangeRate}}</td>
-                                  <td>{{item.practicalSum}}</td>
-                                  <td>{{item.u8Invoice}}</td>
-                                  <td>{{item.zhanghaoId}}</td>
-                                  <td>{{item.remark}}</td>
-                                  
-                              </tr>
-                        </tbody>
-                    </table>
-                    <table class="table table-bordered" style="margin-top: 2%;border:2px solid #999">    
-                        <thead>
-                        </thead>
-                        <tbody>
-                            <tr style="height: 50px;">
-                                <td class="tdOne" style="width: 1%;">财务备注</td>
-                                <td class="tdOne" colspan="7" >{{formState.financeRemark}}</td>
-                            </tr>
-                        </tbody>
-                    </table>
-                    <div style="width:100%;display: flex;justify-content: space-around;margin-top: 2%;">
-                       <span style="margin-left: 20px;">填报人:{{ formState.informant }}</span>
-                       <span style="margin-left: 30%;">通知人:{{ formState.Noticer }}</span>
-                    </div>
-                    <div style="width:100%;justify-content: space-around;margin-right: 2%;">
-                       <img ghost style="margin-left: 65%;" width="340px" height="160px"
-                       src="http://www.myfitt.cn:18087/jeecg-boot/sys/common/static/temp/20230310100319_1678417947827.png"/>
-                    </div>
-                   
-              </div>
-  </a-modal>
-</template>
-
-<script>
-  import JSelectBizComponent from './JSelectUserByDepModal'
-  import pick from 'lodash.pick'
-  import { FormTypes,getRefPromise } from '@/utils/JEditableTableUtil'
-  import { JEditableTableMixin } from '@/mixins/JEditableTableMixin'
-  import { validateDuplicateValue } from '@/utils/util'
-  import JDictSelectTag from "@/components/dict/JDictSelectTag"
-  import { putAction,getAction } from '@/api/manage'
-  import JUpload from '@/components/jeecg/JUpload'
-  import JSearchSelectTag from '@/components/dict/JSearchSelectTag'
-  import moment from 'moment'
- 
-  export default {
-    name: 'IncidentTicketModalDetail',
-    mixins: [JEditableTableMixin],
-    components: {
-      JDictSelectTag,
-      JSelectBizComponent,
-      JUpload,
-      JSearchSelectTag,
-      moment
-    },
-    data() {
-      return {
-        labelCol: {
-          span: 8
-        },
-        wrapperCol: {
-          span: 16
-        },
-        labelCol2: {
-          span: 3
-        },
-        wrapperCol2: {
-          span: 20
-        },
-        formState:{},
-        confirmLoading:false,
-        visibleFk:false,
-        visibleTs:false,
-        visibleWj:false,
-        accessory2:[],
-        accessory:[],
-        factorySignature:[],
-        columns: [
-          { title: '姓名', align: 'center', width: '20%', widthRight: '70%', dataIndex: 'realname' },
-          { title: '账号', align: 'center', width: '20%', dataIndex: 'username' },
-          { title: '电话', align: 'center', width: '23%', dataIndex: 'phone' },
-          { title: '出生日期', align: 'center', width: '23%', dataIndex: 'birthday' }
-        ],
-        multi:true,
-        // 新增时子表默认添加几行空数据
-        addDefaultRowNum: 1,
-        validatorRules: {
-          accidentData: {rules: [
-          ]},
-          accidentTheme: {rules: [
-          ]},
-          accidentPersonLiable: {rules: [
-          ]},
-          supplier: {rules: [
-          ]},
-          personLiable: {rules: [
-          ]},
-          accidentNumber: {rules: [
-          ]},
-          customer: {rules: [
-          ]},
-          factory: {rules: [
-          ]},
-          responsibilityPerson1: {rules: [
-          ]},
-          responsibilityPerson2: {rules: [
-          ]},
-          responsibilityPerson3: {rules: [
-          ]},
-          responsibilityPerson4: {rules: [
-          ]},
-          responsibilityPerson5: {rules: [
-          ]},
-          sum1: {rules: [
-          ]},
-          sum2: {rules: [
-          ]},
-          sum3: {rules: [
-          ]},
-          sum4: {rules: [
-          ]},
-          sum5: {rules: [
-          ]},
-          responsibilityCompany: {rules: [
-          ]},
-          moneyType: {rules: [
-          ]},
-          totalMoney: {rules: [
-          ]},
-          businessType: {rules: [
-          ]},
-          garmentSalesOrder: {rules: [
-          ]},
-          styleNumber: {rules: [
-          ]},
-          material: {rules: [
-          ]},
-          planPersonnel: {rules: [
-          ]},
-          businessPeople: {rules: [
-          ]},
-          qualityControl: {rules: [
-          ]},
-          planNumber: {rules: [
-          ]},
-          accidentType: {rules: [
-          ]},
-          accidentSum: {rules: [
-          ]},
-          presentationCondition: {rules: [
-          ]},
-          accessory: {rules: [
-          ]},
-          informant: {rules: [
-          ]},
-          factorySignature: {rules: [
-          ]},
-          financeRemark: {rules: [
-          ]},
-          accessory2: {rules: [
-          ]},
-          isLeaders: {rules: [
-          ]},
-          incidentTicketId: {rules: [
-          ]},
-          tableNameChildren: {rules: [
-          ]},
-        },
-        refKeys: ['incidentTicketChildren', ],
-        tableKeys:['incidentTicketChildren', ],
-        activeKey: 'incidentTicketChildren',
-        // 森_工厂质量事故单-子表
-        incidentTicketChildrenTable: {
-          loading: false,
-          dataSource: [],
-          columns: [
-          {
-            title: '计划单号',
-            align: "center",
-            dataIndex: 'planNumber',
-            width: 140,
-            width: '7%',
-            // scopedSlots: { customRender: 'planNumber' },
-          },
-          {
-            title: '事故类型',
-            align: "center",
-            dataIndex: 'accidentType',
-            width: 140,
-            width: '7%',
-            // scopedSlots: { customRender: 'accidentType' },
-          },
-          {
-            title: '币种',
-            align: "center",
-            dataIndex: 'moneyType',
-            width: '7%',
-            // scopedSlots: { customRender: 'accidentType' },
-          },
-          {
-            title: '事故金额',
-            align: "center",
-            dataIndex: 'accidentSum',
-            width: 140,
-            width: '7%',
-            // scopedSlots: { customRender: 'accidentSum' },
-          },
-          {
-            title: '汇率',
-            align: "center",
-            dataIndex: 'exchangeRate',
-            width: 140,
-            width: '9%',
-            // scopedSlots: { customRender: 'exchangeRate' },
-          },
-          {
-            title: '实际事故金额',
-            align: "center",
-            dataIndex: 'practicalSum',
-            width: 140,
-            width: '7%',
-            // scopedSlots: { customRender: 'practicalSum' },
-          },
-          {
-            title: 'U8生成运费发票号',
-            align: "center",
-            dataIndex: 'u8Invoice',
-            width: '9%',
-            // scopedSlots: { customRender: 'u8Invoice' },
-          },
-          {
-            title: '账套号',
-            align: "center",
-            dataIndex: 'zhanghaoId',
-            width: '9%',
-            // scopedSlots: { customRender: 'zhanghaoId' },
-          },
-          
-          {
-            title: '备注',
-            align: "center",
-            dataIndex: 'remark',
-            width: '20%',
-            // scopedSlots: { customRender: 'remark' },
-          },
-
-          ]
-        },
-        url: {
-          add: "/oa/incidentTicket/add",
-          edit: "/oa/incidentTicket/edit",
-          incidentTicketChildren: {
-            list: '/oa/incidentTicket/queryIncidentTicketChildrenByMainId'
-          },
-          list:'/sys/user/list' 
-        }
-      }
-    },
-    methods: {
-      addNotice(){   
-        // this.$refs.JSelectBizComponent.visible = true
-        this.$refs.JSelectBizComponent.showModal()
-      },
-      feedbackNotice(){
-        this.visibleFk =false
-        getAction('/oa/incidentTicket/noticeUserReturn', {headId:this.formState.id,title:this.formState.accidentTheme,code:this.formState.accidentNumber}).then((res) => {
-          if(res.success){
-            this.$message.success(res.message)
-            this.getNotifier(this.formState.id)
-            this.formState.state='3'
-            this.$forceUpdate()
-          }else{
-            this.$message.warning(res.message)
-          }
-        })
-      },
-      push(){
-        this.visibleTs = false
-        var pushOk = 'yes'
-        this.incidentTicketChildrenTable.dataSource.every(item=>{
-          if(item.zhanghaoId==''||!item.zhanghaoId){
-              this.$message.warning('请选择账套号!')
-              pushOk = 'no'
-               return false;
-            }
-            return true
-        })
-        if(pushOk=='yes'){
-          this.confirmLoading = true
-          getAction('/oa/incidentTicket/propelling', {headId:this.formState.id}).then((res) => {
-          if(res.success){
-            this.$message.success(res.message)
-            this.handleCancel()
-            this.confirmLoading = false
-          }else{
-            this.$message.warning(res.message)
-            this.confirmLoading = false
-          }
-        })
-        }
-      },
-      end(){
-        this.visibleWj = false
-        getAction('/oa/incidentTicket/endOrder', {headId:this.formState.id}).then((res) => {
-          if(res.success){
-            this.$message.success(res.message)
-            this.handleCancel()
-          }else{
-            this.$message.warning(res.message)
-          }
-        })
-      },
-      sendNotice(ids){
-        getAction('/oa/incidentTicket/noticeUser', {ids:ids,headId:this.formState.id,code:this.formState.accidentNumber,title:this.formState.accidentTheme}).then((res) => {
-          if(res.success){
-            this.$message.success(res.message)
-            this.getNotifier(this.formState.id)
-            this.formState.state='2'
-            this.$forceUpdate()
-          }else{
-            this.$message.warning(res.message)
-          }
-        })
-      },
-      getHeaderList(id){
-        getAction('/oa/incidentTicket/queryById', {id:id}).then((res) => {
-          if(res.success){
-            var zhuId = '' //主表id
-             this.formState=res.result //详情
-             this.formState=res.result //详情
-             this.formState.accidentData =  moment( this.formState.accidentData).format('YYYY-MM-DD');
-             this.accessory2 = this.formState.accessory2?JSON.parse(this.formState.accessory2):[]
-             var accessory2Z =[]
-             this.accessory2.map(item=>{
-              accessory2Z.push(item.url)
-             })
-             this.accessory2 = accessory2Z
-
-             this.accessory = this.formState.accessory?JSON.parse(this.formState.accessory):[]
-             var accessoryZ=[]
-
-             this.accessory.map(item =>{
-              accessoryZ.push(item.url)
-            
-             })
-             this.accessory =accessoryZ
-
-             this.factorySignature = this.formState.factorySignature?JSON.parse(this.formState.factorySignature):[]
-             var factorySignatureZ=[]
-             this.factorySignature.map(item =>{
-              factorySignatureZ.push(item.url)
-             })
-             this.factorySignature =factorySignatureZ
-
-             //
-             zhuId = res.result.id
-             this.getTable(zhuId)
-             this.getNotifier(zhuId)
-          }else{
-            this.$message.warning(res.message)
-          }
-        })
-      },
-      getTable(id){
-        getAction('/oa/incidentTicket/queryIncidentTicketChildrenByMainId', {id:id}).then((res) => {
-          if(res.success){
-            this.incidentTicketChildrenTable.dataSource = res.result
-          }else{
-            this.$message.warning(res.message)
-          }
-        })
-      },
-      getNotifier(id){
-        getAction('/oa/incidentTicketMsg/queryByMainId', {id:id}).then((res) => {
-          if(res.success){
-            var noticeList =[]
-            res.result.map(item=>{
-              if(item.confirm != null && item.confirm != '' && item.confirm != '否'){
-                noticeList.push(item.userName+'('+item.confirm+')')
-              }else{
-                noticeList.push(item.userName+'')
-              }
-              
-            })
-            this.formState.Noticer = noticeList.toString()
-            this.$forceUpdate()
-          }
-        })
-      },
-       //关闭
-       handleCancel(){
-        this.incidentTicketChildrenTable.dataSource =[]
-        this.formState = {}
-        this.visible = false
-        this.visibleWj = false
-        this.visibleTs = false
-        this.visibleFk = false
-        this.$emit('close')
-      },
-      // 关闭提示框
-      handleCancelPop(data){
-        if(data=='visibleFk') this.visibleFk = false
-        if(data=='visibleTs') this.visibleTs = false
-        if(data=='visibleWj') this.visibleWj = false
-      },
-      handlePrint(){
-        this.$nextTick(() => {
-        const html = window.document.getElementById('printBox').innerHTML 
-         const win = window.open();
-         const style = '<style>\n'
-         + 'table{width: 100% !important;border-collapse: collapse;border-spacing: 0;overflow-x:hidden;}\n'
-         + 'th,td{width:5%;height: 18px;border: 1px solid #999;font-size: 12px;color: #333;max-width:2000px;text-align: center;}\n'
-         + 'th{color: #333}\n'
-        //  +'@media print{@page {size:landscape}}'
-         + '</style>';;
-         win.document.write(style+html);
-         win.focus();
-         setTimeout(function(){
-            win.print();
-            win.close();
-         },10)
-        
-        })
-      
-
-      },
-      // getAllTable() {
-      //   let values = this.tableKeys.map(key => getRefPromise(this, key))
-      //   return Promise.all(values)
-      // },
-      /** 调用完edit()方法之后会自动调用此方法 */
-      // editAfter() {
-      //   let fieldval = pick(this.model,'accidentData','accidentTheme','accidentPersonLiable','supplier','personLiable','accidentNumber','customer','factory','responsibilityPerson1','responsibilityPerson2','responsibilityPerson3','responsibilityPerson4','responsibilityPerson5','sum1','sum2','sum3','sum4','sum5','responsibilityCompany','moneyType','totalMoney','businessType','garmentSalesOrder','styleNumber','material','planPersonnel','businessPeople','qualityControl','planNumber','accidentType','accidentSum','presentationCondition','accessory','informant','factorySignature','financeRemark','accessory2','isLeaders','incidentTicketId','tableNameChildren')
-      //   this.$nextTick(() => {
-      //     this.form.setFieldsValue(fieldval)
-      //   })
-      //   // 加载子表数据
-      //   if (this.model.id) {
-      //     let params = { id: this.model.id }
-      //     this.requestSubTableData(this.url.incidentTicketChildren.list, params, this.incidentTicketChildrenTable)
-      //   }
-      // },
-      /** 整理成formData */
-      classifyIntoFormData(allValues) {
-        let main = Object.assign(this.model, allValues.formValue)
-
-        return {
-          ...main, // 展开
-          incidentTicketChildrenList: allValues.tablesValue[0].values,
-        }
-      },
-      validateError(msg){
-        this.$message.error(msg)
-      },
-     popupCallback(row){
-       this.form.setFieldsValue(pick(row,'accidentData','accidentTheme','accidentPersonLiable','supplier','personLiable','accidentNumber','customer','factory','responsibilityPerson1','responsibilityPerson2','responsibilityPerson3','responsibilityPerson4','responsibilityPerson5','sum1','sum2','sum3','sum4','sum5','responsibilityCompany','moneyType','totalMoney','businessType','garmentSalesOrder','styleNumber','material','planPersonnel','businessPeople','qualityControl','planNumber','accidentType','accidentSum','presentationCondition','accessory','informant','factorySignature','financeRemark','accessory2','isLeaders','incidentTicketId','tableNameChildren'))
-     },
-
-    }
-  }
-</script>
-
-<style lang="less" scoped>
-/deep/ .ant-table-wrapper{
-  margin-bottom: 2%;
-}
-/deep/ .nresume .ant-input{
-  height: 100px !important;
-}
-/deep/ .fff .ant-input{
-  height: 280px !important;
-}
-/deep/ .caiwu .ant-input{
-  height: 226px !important;
-}
-/deep/ .ff .ant-form-item-control {
-  display: contents;
-}
-
-/deep/.table-page-search-wrapper .ant-form-inline .ant-form-item>.ant-form-item-label{
-  width: 118px;
-}
-/deep/ .ant-table td {
-    white-space: break-spaces !important;
-    word-break: break-word;
-}
+<template>
+  <a-modal
+    title="详情"
+    width="85%"
+    :visible="visible"
+    :maskClosable="false"
+    :confirmLoading="confirmLoading"
+    @cancel="handleCancel"
+    destroyOnClose
+    >
+    <template #footer>
+        <a-button  @click="handleCancel" style="margin-left: 8px;">取消</a-button>
+        <a-button @click="handlePrint" style="margin-left: 8px;">打印</a-button>
+        <a-button  type="primary"  @click="addNotice" style="margin-left: 8px;" :disabled="!(formState.state=='1')">通知</a-button>
+        <a-popconfirm title="确定反馈通知吗?" ok-text="是" cancel-text="否" @confirm="feedbackNotice" @cancel="handleCancelPop('visibleFk')" :visible="visibleFk">
+          <a-button  type="primary"   style="margin-left: 8px;" :disabled="!(formState.state=='2')" @click="()=>visibleFk = true">反馈通知</a-button>
+        </a-popconfirm>
+        <a-popconfirm title="确定推送吗?" ok-text="是" cancel-text="否" @confirm="push" @cancel="handleCancelPop('visibleTs')" :visible="visibleTs">
+          <a-button  type="primary"   style="margin-left: 8px;" :disabled="!(formState.state=='3'&&!confirmLoading)" @click="()=>visibleTs = true">推送</a-button>
+        </a-popconfirm>
+        <a-popconfirm title="确定完结吗?" ok-text="是" cancel-text="否" @confirm="end"   @cancel="handleCancelPop('visibleWj')" :visible="visibleWj">
+          <a-button  type="primary"   style="margin-left: 8px;" :disabled="!(formState.state=='3'|| formState.state=='4')" @click="()=>visibleWj = true">完结</a-button>
+        </a-popconfirm>
+      </template>
+      <a-spin :spinning="confirmLoading">
+      <div class="table-page-search-wrapper" >
+        <div>
+        <a-form-model layout="inline" ref="form" :model="formState" :rules="validatorRules" labelAlign="right" class="kk">
+          <a-row :gutter="24">
+          <a-col :span="8" >
+            <a-form-model-item label="日期" prop="accidentData" >
+              <a-input v-model="formState.accidentData"    placeholder="请输入" readOnly  ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="8" >
+            <a-form-model-item label="质量事故单主题" prop="accidentTheme">
+              <a-input v-model="formState.accidentTheme"   placeholder="请输入" readOnly ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="8">
+            <a-form-model-item label="质量事故单号" prop="accidentNumber">
+              <a-input v-model="formState.accidentNumber"   placeholder="请输入" readOnly ></a-input>              
+            </a-form-model-item>
+          </a-col>
+          </a-row>
+          <a-row :gutter="24">
+          <a-col :span="8" >
+            <a-form-model-item label="客户" prop="customer" >
+              <a-input v-model="formState.customer"    placeholder="请输入" readOnly ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="8" >
+            <a-form-model-item label="工厂(事故发生地)" prop="factory">
+              <a-input v-model="formState.factory"   placeholder="请输入" readOnly ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="8" >
+            <a-form-model-item label="责任单位" prop="responsibilityCompany">
+              <a-input v-model="formState.responsibilityCompany"   placeholder="请输入" readOnly ></a-input>
+            </a-form-model-item>
+          </a-col>
+          
+          </a-row>
+          <a-divider />
+          <a-row :gutter="24">
+            <a-col :span="6" >
+            <a-form-model-item label="责任人1" prop="responsibilityPerson1" >
+              <j-search-select-tag v-model="formState.responsibilityPerson1" placeholder="" 
+                   dict="sys_user,realname,username" @search="searchName" :disabled="true" />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6" >
+            <a-form-model-item label="责任人2" prop="responsibilityPerson2" >
+              <j-search-select-tag v-model="formState.responsibilityPerson2" placeholder="" 
+                   dict="sys_user,realname,username" @search="searchName"  :disabled="true" />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6" >
+            <a-form-model-item label="责任人3" prop="responsibilityPerson3">
+              <j-search-select-tag v-model="formState.responsibilityPerson3" placeholder="" 
+                   dict="sys_user,realname,username" @search="searchName" :disabled="true" />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="责任人4" prop="responsibilityPerson4">
+              <j-search-select-tag v-model="formState.responsibilityPerson4" placeholder="" 
+                   dict="sys_user,realname,username" @search="searchName" :disabled="true" />
+            </a-form-model-item>
+          </a-col>
+          </a-row>
+          <a-row :gutter="24">
+            <a-col :span="6" >
+            <a-form-model-item label="金额1" prop="sum1" >
+              <a-input v-model="formState.sum1"   placeholder="请输入" readOnly ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6" >
+            <a-form-model-item label="金额2" prop="sum2" >
+              <a-input v-model="formState.sum2"    placeholder="请输入" readOnly ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6" >
+            <a-form-model-item label="金额3" prop="sum3">
+              <a-input v-model="formState.sum3"   placeholder="请输入" readOnly ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="6">
+            <a-form-model-item label="金额4" prop="sum4" >
+              <a-input v-model="formState.sum4"   placeholder="请输入" readOnly ></a-input>
+            </a-form-model-item>
+          </a-col>
+          </a-row>
+          <a-divider />
+          <a-row :gutter="24">         
+          <!-- <a-col :span="8" >
+            <a-form-model-item label="币种" prop="moneyType">
+              <a-input v-model="formState.moneyType"   placeholder="请输入" readOnly></a-input>
+            </a-form-model-item>
+          </a-col> -->
+          <a-col :span="8" >
+            <a-form-model-item label="总金额" prop="totalMoney" >
+              <a-input v-model="formState.totalMoney"    placeholder="请输入" readOnly ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="8" >
+            <a-form-model-item label="业务类型" prop="businessType">
+              <a-input v-model="formState.businessType"   placeholder="请输入" readOnly ></a-input>
+            </a-form-model-item>
+          </a-col>
+          
+          </a-row>
+          <a-row :gutter="24">
+            <a-col :span="8" >
+            <a-form-model-item label="成衣销售订单号" prop="garmentSalesOrder">
+              <a-input v-model="formState.garmentSalesOrder"   placeholder="请输入" readOnly ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="8" >
+            <a-form-model-item label="款号" prop="styleNumber" >
+              <a-input v-model="formState.styleNumber"    placeholder="请输入" readOnly ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="8" >
+            <a-form-model-item label="物料" prop="material">
+              <a-input v-model="formState.material"   placeholder="请输入" readOnly ></a-input>
+            </a-form-model-item>
+          </a-col>
+         
+          </a-row>
+          <a-row :gutter="24">
+            <a-col :span="8" >
+            <a-form-model-item label="计划员" prop="planPersonnel">
+              <a-input v-model="formState.planPersonnel"   placeholder="请输入" readOnly ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="8" >
+            <a-form-model-item label="业务员" prop="businessPeople" >
+              <j-search-select-tag v-model="formState.businessPeople" placeholder="" 
+                   dict="sys_user,realname,username" @search="searchName" :disabled="true" />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="8" >
+            <a-form-model-item label="QC" prop="qualityControl">
+              <j-search-select-tag v-model="formState.qualityControl" placeholder="" 
+                   dict="sys_user,realname,username" @search="searchName" :disabled="true" />
+            </a-form-model-item>
+          </a-col>
+          </a-row>
+          <a-row :gutter="24">
+          <a-col :span="24" style="height: 290px;">
+            <a-form-model-item label="情况说明" prop="presentationCondition" class="fff">
+              <a-input v-model="formState.presentationCondition"  type="textarea"  placeholder="请输入" readOnly ></a-input>
+            </a-form-model-item>
+          </a-col>
+          </a-row>
+          
+         </a-form-model>
+         </div>
+      <!-- 子表单区域 -->
+          <!-- <a-button type="primary"  @click="addList" style="margin-bottom: 1%;">增行</a-button> -->
+          <a-table
+           bordered
+          :columns="incidentTicketChildrenTable.columns"
+          :data-source="incidentTicketChildrenTable.dataSource"
+          :loading="incidentTicketChildrenTable.loading"
+          :scroll="{x: 1500,y:300 }"
+          :pagination="false"
+            >
+          <!-- 汇率 -->
+          <span slot="exchangeRate" slot-scope="text, record, index">
+                  <a-input placeholder="请输入" v-model="record.exchangeRate" />
+          </span>
+           <!-- 实际事故金额 -->
+           <span slot="practicalSum" slot-scope="text, record, index">
+                  <a-input placeholder="请输入" v-model="record.practicalSum" />
+          </span>
+           <!-- U8生成运费发票号 -->
+           <span slot="u8Invoice" slot-scope="text, record, index">
+                  <a-input placeholder="请输入" v-model="record.u8Invoice" />
+          </span>
+          <!-- 账套号 -->
+          <span slot="zhanghaoId" slot-scope="text, record, index">
+                  <a-input placeholder="请输入" v-model="record.zhanghaoId" />
+          </span>
+           <!-- 备注 -->
+           <span slot="remark" slot-scope="text, record, index">
+                  <a-input placeholder="请输入" v-model="record.remark" />
+          </span>
+          </a-table>
+            <!-- 主表单区域 -->
+        <a-form-model layout="inline" ref="form" :model="formState" :rules="validatorRules">
+          <a-row :gutter="24">
+            <a-col :span="12"  >
+            <a-form-model-item label="附件上传" prop="accessory" class="ff">
+              <j-upload  v-model="accessory"  :disabled="true"></j-upload>
+            </a-form-model-item>
+          </a-col>
+            <a-col :span="12"  >
+              <a-form-model-item label="工厂签章" prop="factorySignature" class="ff">
+              <j-upload  v-model="factorySignature"  :disabled="true"></j-upload>
+            </a-form-model-item>
+          </a-col>
+         
+          </a-row>
+          <a-row :gutter="24">
+          <a-col :span="24" style="height: 230px;">
+            <a-form-model-item label="财务备注" prop="financeRemark" class="caiwu">
+              <a-input v-model="formState.financeRemark"  type="textarea"  placeholder="请输入" readOnly ></a-input>
+            </a-form-model-item>
+          </a-col>          
+          </a-row>
+          <a-row :gutter="24">
+            <a-col :span="12" >
+            <a-form-model-item label="财务添加附件" prop="accessory2" class="ff ">
+              <j-upload  v-model="accessory2"  ></j-upload>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="10">
+            <a-form-model-item label="通知人" prop="Noticer">
+              <a-input v-model="formState.Noticer"  placeholder="请输入" ></a-input>
+            </a-form-model-item>
+          </a-col>
+          </a-row>
+          <a-row :gutter="24">
+            <a-col :span="8" >
+            <a-form-model-item label="填报人" prop="informant">
+              <a-input v-model="formState.informant"   placeholder="请输入" readOnly ></a-input>
+            </a-form-model-item>
+          </a-col>
+          
+          </a-row>
+        </a-form-model>
+
+      <j-select-biz-component   ref="JSelectBizComponent"    @send-notice="sendNotice" :multi="true" />
+    </div>
+    </a-spin>
+    <!-- 打印 -->
+    <div class="col-md-6 column" style="display: none;" id="printBox">
+             <h1 style="text-align: center;">质量事故处理单</h1>
+              <table class="table table-bordered" style="border:2px solid #999">    
+                        <thead>
+                        </thead>
+                        <tbody>
+                                <tr>
+                                    <td class="tdOne">日期</td>
+                                    <td class="tdTwo"> {{ formState.accidentData }}</td>
+                                    <td class="tdOne">质量事故单号</td>
+                                    <td class="tdTwo">{{ formState.accidentNumber }}</td>
+                                    <td class="tdOne">质量事故主题</td>
+                                    <td class="tdTwo">{{ formState.accidentTheme }}</td>
+                                </tr>
+                            <tr>
+                                <td class="tdOne">客户</td>
+                                <td class="tdTwo" >{{formState.customer  }}</td>
+                                <td class="tdOne">工厂</td>
+                                <td class="tdTwo" >{{ formState.factory}}</td>
+                                <td class="tdOne">责任单位</td>
+                                <td class="tdTwo" >{{ formState.responsibilityCompany }}</td>
+                            </tr>
+                            <tr>
+                                <td class="tdOne">责任人1</td>
+                                <td class="tdOne">{{ formState.responsibilityPerson1 }}</td>
+                                <td class="tdOne">责任人2</td>
+                                <td class="tdOne">{{ formState.responsibilityPerson2 }}</td>
+                                <td class="tdOne">责任人3</td>
+                                <td class="tdOne">{{ formState.responsibilityPerson3 }}</td>
+                            </tr>
+                            <tr>
+                              <td class="tdOne">金额1</td>
+                                <td class="tdOne">{{ formState.sum1 }}</td>
+                                <td class="tdOne">金额2</td>
+                                <td class="tdOne">{{ formState.sum2 }}</td>
+                                <td class="tdOne">金额3</td>
+                                <td class="tdOne">{{ formState.sum3 }}</td>
+                            </tr>
+                            <tr>
+                                <td class="tdOne">总金额</td>
+                                <td class="tdOne">{{ formState.totalMoney }}</td>
+                                <td class="tdOne">业务类型</td>
+                                <td class="tdOne">{{ formState.businessType }}</td>
+                                <td class="tdOne"></td>
+                                <td class="tdOne"></td>
+                            </tr>
+
+                            <tr>
+                                <td class="tdOne">成衣销售订单号</td>
+                                <td class="tdOne">{{ formState.garmentSalesOrder }}</td>
+                                <td class="tdOne">款号</td>
+                                <td class="tdOne">{{ formState.styleNumber }}</td>
+                                <td class="tdOne">物料</td>
+                                <td class="tdOne">{{ formState.material }}</td>
+                            </tr>
+                            <tr>
+                                <td class="tdOne">计划员</td>
+                                <td class="tdOne">{{ formState.planPersonnel }}</td>
+                                <td class="tdOne">业务员</td>
+                                <td class="tdOne">{{ formState.businessPeople }}</td>
+                                <td class="tdOne">QC</td>
+                                <td class="tdOne">{{ formState.qualityControl }}</td>
+                            </tr>
+                            <tr style="height: 50px;">
+                                <td class="tdOne" rowspan="3">情况说明</td>
+                                <td class="tdOne" colspan="5" rowspan="3">{{ formState.presentationCondition }}</td>
+                            </tr>
+                        </tbody>
+                    </table>
+                    <table class="table table-bordered" style="margin-top: 2%;border:2px solid #999">    
+                        <thead>
+                           <th>计划单号</th>
+                           <th>事故类型</th>
+                           <th>币种</th>
+                           <th>事故金额</th>
+                           <th>汇率</th>
+                           <th>实际事故金额</th>
+                           <th>U8生成运费发票号</th>
+                           <th>账套号</th>
+                           <th>备注</th>
+                        </thead>
+                        <tbody>
+                               <tr v-for="(item, key) in incidentTicketChildrenTable.dataSource">
+                                  <td>{{item.planNumber}}</td>
+                                  <td>{{item.accidentType}}</td>
+                                  <td>{{item.moneyType}}</td>
+                                  <td>{{item.accidentSum}}</td>
+                                  <td>{{item.exchangeRate}}</td>
+                                  <td>{{item.practicalSum}}</td>
+                                  <td>{{item.u8Invoice}}</td>
+                                  <td>{{item.zhanghaoId}}</td>
+                                  <td>{{item.remark}}</td>
+                                  
+                              </tr>
+                        </tbody>
+                    </table>
+                    <table class="table table-bordered" style="margin-top: 2%;border:2px solid #999">    
+                        <thead>
+                        </thead>
+                        <tbody>
+                            <tr style="height: 50px;">
+                                <td class="tdOne" style="width: 1%;">财务备注</td>
+                                <td class="tdOne" colspan="7" >{{formState.financeRemark}}</td>
+                            </tr>
+                        </tbody>
+                    </table>
+                    <div style="width:100%;display: flex;justify-content: space-around;margin-top: 2%;">
                       <span style="">填报人:{{ formState.informant }}</span>
                       <span style="margin-left: 30%;">通知人:{{ formState.Noticer }}</span>
                    </div>
                    <div style="width:100%;justify-content: space-around;margin-right: 2%;">
                       <img ghost style="margin-left: 50%;" width="340px" height="160px"
                       src="http://www.myfitt.cn:18087/jeecg-boot/sys/common/static/temp/20230310100319_1678417947827.png"/>
                    </div>
+                   
+              </div>
+  </a-modal>
+</template>
+
+<script>
+  import JSelectBizComponent from './JSelectUserByDepModal'
+  import pick from 'lodash.pick'
+  import { FormTypes,getRefPromise } from '@/utils/JEditableTableUtil'
+  import { JEditableTableMixin } from '@/mixins/JEditableTableMixin'
+  import { validateDuplicateValue } from '@/utils/util'
+  import JDictSelectTag from "@/components/dict/JDictSelectTag"
+  import { putAction,getAction } from '@/api/manage'
+  import JUpload from '@/components/jeecg/JUpload'
+  import JSearchSelectTag from '@/components/dict/JSearchSelectTag'
+  import moment from 'moment'
+ 
+  export default {
+    name: 'IncidentTicketModalDetail',
+    mixins: [JEditableTableMixin],
+    components: {
+      JDictSelectTag,
+      JSelectBizComponent,
+      JUpload,
+      JSearchSelectTag,
+      moment
+    },
+    data() {
+      return {
+        labelCol: {
+          span: 8
+        },
+        wrapperCol: {
+          span: 16
+        },
+        labelCol2: {
+          span: 3
+        },
+        wrapperCol2: {
+          span: 20
+        },
+        formState:{},
+        confirmLoading:false,
+        visibleFk:false,
+        visibleTs:false,
+        visibleWj:false,
+        accessory2:[],
+        accessory:[],
+        factorySignature:[],
+        columns: [
+          { title: '姓名', align: 'center', width: '20%', widthRight: '70%', dataIndex: 'realname' },
+          { title: '账号', align: 'center', width: '20%', dataIndex: 'username' },
+          { title: '电话', align: 'center', width: '23%', dataIndex: 'phone' },
+          { title: '出生日期', align: 'center', width: '23%', dataIndex: 'birthday' }
+        ],
+        multi:true,
+        // 新增时子表默认添加几行空数据
+        addDefaultRowNum: 1,
+        validatorRules: {
+          accidentData: {rules: [
+          ]},
+          accidentTheme: {rules: [
+          ]},
+          accidentPersonLiable: {rules: [
+          ]},
+          supplier: {rules: [
+          ]},
+          personLiable: {rules: [
+          ]},
+          accidentNumber: {rules: [
+          ]},
+          customer: {rules: [
+          ]},
+          factory: {rules: [
+          ]},
+          responsibilityPerson1: {rules: [
+          ]},
+          responsibilityPerson2: {rules: [
+          ]},
+          responsibilityPerson3: {rules: [
+          ]},
+          responsibilityPerson4: {rules: [
+          ]},
+          responsibilityPerson5: {rules: [
+          ]},
+          sum1: {rules: [
+          ]},
+          sum2: {rules: [
+          ]},
+          sum3: {rules: [
+          ]},
+          sum4: {rules: [
+          ]},
+          sum5: {rules: [
+          ]},
+          responsibilityCompany: {rules: [
+          ]},
+          moneyType: {rules: [
+          ]},
+          totalMoney: {rules: [
+          ]},
+          businessType: {rules: [
+          ]},
+          garmentSalesOrder: {rules: [
+          ]},
+          styleNumber: {rules: [
+          ]},
+          material: {rules: [
+          ]},
+          planPersonnel: {rules: [
+          ]},
+          businessPeople: {rules: [
+          ]},
+          qualityControl: {rules: [
+          ]},
+          planNumber: {rules: [
+          ]},
+          accidentType: {rules: [
+          ]},
+          accidentSum: {rules: [
+          ]},
+          presentationCondition: {rules: [
+          ]},
+          accessory: {rules: [
+          ]},
+          informant: {rules: [
+          ]},
+          factorySignature: {rules: [
+          ]},
+          financeRemark: {rules: [
+          ]},
+          accessory2: {rules: [
+          ]},
+          isLeaders: {rules: [
+          ]},
+          incidentTicketId: {rules: [
+          ]},
+          tableNameChildren: {rules: [
+          ]},
+        },
+        refKeys: ['incidentTicketChildren', ],
+        tableKeys:['incidentTicketChildren', ],
+        activeKey: 'incidentTicketChildren',
+        // 森_工厂质量事故单-子表
+        incidentTicketChildrenTable: {
+          loading: false,
+          dataSource: [],
+          columns: [
+          {
+            title: '计划单号',
+            align: "center",
+            dataIndex: 'planNumber',
+            width: 140,
+            width: '7%',
+            // scopedSlots: { customRender: 'planNumber' },
+          },
+          {
+            title: '事故类型',
+            align: "center",
+            dataIndex: 'accidentType',
+            width: 140,
+            width: '7%',
+            // scopedSlots: { customRender: 'accidentType' },
+          },
+          {
+            title: '币种',
+            align: "center",
+            dataIndex: 'moneyType',
+            width: '7%',
+            // scopedSlots: { customRender: 'accidentType' },
+          },
+          {
+            title: '事故金额',
+            align: "center",
+            dataIndex: 'accidentSum',
+            width: 140,
+            width: '7%',
+            // scopedSlots: { customRender: 'accidentSum' },
+          },
+          {
+            title: '汇率',
+            align: "center",
+            dataIndex: 'exchangeRate',
+            width: 140,
+            width: '9%',
+            // scopedSlots: { customRender: 'exchangeRate' },
+          },
+          {
+            title: '实际事故金额',
+            align: "center",
+            dataIndex: 'practicalSum',
+            width: 140,
+            width: '7%',
+            // scopedSlots: { customRender: 'practicalSum' },
+          },
+          {
+            title: 'U8生成运费发票号',
+            align: "center",
+            dataIndex: 'u8Invoice',
+            width: '9%',
+            // scopedSlots: { customRender: 'u8Invoice' },
+          },
+          {
+            title: '账套号',
+            align: "center",
+            dataIndex: 'zhanghaoId',
+            width: '9%',
+            // scopedSlots: { customRender: 'zhanghaoId' },
+          },
+          
+          {
+            title: '备注',
+            align: "center",
+            dataIndex: 'remark',
+            width: '20%',
+            // scopedSlots: { customRender: 'remark' },
+          },
+
+          ]
+        },
+        url: {
+          add: "/oa/incidentTicket/add",
+          edit: "/oa/incidentTicket/edit",
+          incidentTicketChildren: {
+            list: '/oa/incidentTicket/queryIncidentTicketChildrenByMainId'
+          },
+          list:'/sys/user/list' 
+        }
+      }
+    },
+    methods: {
+      addNotice(){   
+        // this.$refs.JSelectBizComponent.visible = true
+        this.$refs.JSelectBizComponent.showModal()
+      },
+      feedbackNotice(){
+        this.visibleFk =false
+        getAction('/oa/incidentTicket/noticeUserReturn', {headId:this.formState.id,title:this.formState.accidentTheme,code:this.formState.accidentNumber}).then((res) => {
+          if(res.success){
+            this.$message.success(res.message)
+            this.getNotifier(this.formState.id)
+            this.formState.state='3'
+            this.$forceUpdate()
+          }else{
+            this.$message.warning(res.message)
+          }
+        })
+      },
+      push(){
+        this.visibleTs = false
+        var pushOk = 'yes'
+        this.incidentTicketChildrenTable.dataSource.every(item=>{
+          if(item.zhanghaoId==''||!item.zhanghaoId){
+              this.$message.warning('请选择账套号!')
+              pushOk = 'no'
+               return false;
+            }
+            return true
+        })
+        if(pushOk=='yes'){
+          this.confirmLoading = true
+          getAction('/oa/incidentTicket/propelling', {headId:this.formState.id}).then((res) => {
+          if(res.success){
+            this.$message.success(res.message)
+            this.handleCancel()
+            this.confirmLoading = false
+          }else{
+            this.$message.warning(res.message)
+            this.confirmLoading = false
+          }
+        })
+        }
+      },
+      end(){
+        this.visibleWj = false
+        getAction('/oa/incidentTicket/endOrder', {headId:this.formState.id}).then((res) => {
+          if(res.success){
+            this.$message.success(res.message)
+            this.handleCancel()
+          }else{
+            this.$message.warning(res.message)
+          }
+        })
+      },
+      sendNotice(ids){
+        getAction('/oa/incidentTicket/noticeUser', {ids:ids,headId:this.formState.id,code:this.formState.accidentNumber,title:this.formState.accidentTheme}).then((res) => {
+          if(res.success){
+            this.$message.success(res.message)
+            this.getNotifier(this.formState.id)
+            this.formState.state='2'
+            this.$forceUpdate()
+          }else{
+            this.$message.warning(res.message)
+          }
+        })
+      },
+      getHeaderList(id){
+        getAction('/oa/incidentTicket/queryById', {id:id}).then((res) => {
+          if(res.success){
+            var zhuId = '' //主表id
+             this.formState=res.result //详情
+             this.formState=res.result //详情
+             this.formState.accidentData =  moment( this.formState.accidentData).format('YYYY-MM-DD');
+             this.accessory2 = this.formState.accessory2?JSON.parse(this.formState.accessory2):[]
+             var accessory2Z =[]
+             this.accessory2.map(item=>{
+              accessory2Z.push(item.url)
+             })
+             this.accessory2 = accessory2Z
+
+             this.accessory = this.formState.accessory?JSON.parse(this.formState.accessory):[]
+             var accessoryZ=[]
+
+             this.accessory.map(item =>{
+              accessoryZ.push(item.url)
+            
+             })
+             this.accessory =accessoryZ
+
+             this.factorySignature = this.formState.factorySignature?JSON.parse(this.formState.factorySignature):[]
+             var factorySignatureZ=[]
+             this.factorySignature.map(item =>{
+              factorySignatureZ.push(item.url)
+             })
+             this.factorySignature =factorySignatureZ
+
+             //
+             zhuId = res.result.id
+             this.getTable(zhuId)
+             this.getNotifier(zhuId)
+          }else{
+            this.$message.warning(res.message)
+          }
+        })
+      },
+      getTable(id){
+        getAction('/oa/incidentTicket/queryIncidentTicketChildrenByMainId', {id:id}).then((res) => {
+          if(res.success){
+            this.incidentTicketChildrenTable.dataSource = res.result
+          }else{
+            this.$message.warning(res.message)
+          }
+        })
+      },
+      getNotifier(id){
+        getAction('/oa/incidentTicketMsg/queryByMainId', {id:id}).then((res) => {
+          if(res.success){
+            var noticeList =[]
+            res.result.map(item=>{
+              if(item.confirm != null && item.confirm != '' && item.confirm != '否'){
+                noticeList.push(item.userName+'('+item.confirm+')')
+              }else{
+                noticeList.push(item.userName+'')
+              }
+              
+            })
+            this.formState.Noticer = noticeList.toString()
+            this.$forceUpdate()
+          }
+        })
+      },
+       //关闭
+       handleCancel(){
+        this.incidentTicketChildrenTable.dataSource =[]
+        this.formState = {}
+        this.visible = false
+        this.visibleWj = false
+        this.visibleTs = false
+        this.visibleFk = false
+        this.$emit('close')
+      },
+      // 关闭提示框
+      handleCancelPop(data){
+        if(data=='visibleFk') this.visibleFk = false
+        if(data=='visibleTs') this.visibleTs = false
+        if(data=='visibleWj') this.visibleWj = false
+      },
+      handlePrint(){
+        this.$nextTick(() => {
+        const html = window.document.getElementById('printBox').innerHTML 
+         const win = window.open();
+         const style = '<style>\n'
+         + 'table{width: 100% !important;border-collapse: collapse;border-spacing: 0;overflow-x:hidden;}\n'
+         + 'th,td{width:5%;height: 18px;border: 1px solid #999;font-size: 12px;color: #333;max-width:2000px;text-align: center;}\n'
+         + 'th{color: #333}\n'
+        //  +'@media print{@page {size:landscape}}'
+         + '</style>';;
+         win.document.write(style+html);
+         win.focus();
+         setTimeout(function(){
+            win.print();
+            win.close();
+         },1200)
+        
+        })
+      
+
+      },
+      // getAllTable() {
+      //   let values = this.tableKeys.map(key => getRefPromise(this, key))
+      //   return Promise.all(values)
+      // },
+      /** 调用完edit()方法之后会自动调用此方法 */
+      // editAfter() {
+      //   let fieldval = pick(this.model,'accidentData','accidentTheme','accidentPersonLiable','supplier','personLiable','accidentNumber','customer','factory','responsibilityPerson1','responsibilityPerson2','responsibilityPerson3','responsibilityPerson4','responsibilityPerson5','sum1','sum2','sum3','sum4','sum5','responsibilityCompany','moneyType','totalMoney','businessType','garmentSalesOrder','styleNumber','material','planPersonnel','businessPeople','qualityControl','planNumber','accidentType','accidentSum','presentationCondition','accessory','informant','factorySignature','financeRemark','accessory2','isLeaders','incidentTicketId','tableNameChildren')
+      //   this.$nextTick(() => {
+      //     this.form.setFieldsValue(fieldval)
+      //   })
+      //   // 加载子表数据
+      //   if (this.model.id) {
+      //     let params = { id: this.model.id }
+      //     this.requestSubTableData(this.url.incidentTicketChildren.list, params, this.incidentTicketChildrenTable)
+      //   }
+      // },
+      /** 整理成formData */
+      classifyIntoFormData(allValues) {
+        let main = Object.assign(this.model, allValues.formValue)
+
+        return {
+          ...main, // 展开
+          incidentTicketChildrenList: allValues.tablesValue[0].values,
+        }
+      },
+      validateError(msg){
+        this.$message.error(msg)
+      },
+     popupCallback(row){
+       this.form.setFieldsValue(pick(row,'accidentData','accidentTheme','accidentPersonLiable','supplier','personLiable','accidentNumber','customer','factory','responsibilityPerson1','responsibilityPerson2','responsibilityPerson3','responsibilityPerson4','responsibilityPerson5','sum1','sum2','sum3','sum4','sum5','responsibilityCompany','moneyType','totalMoney','businessType','garmentSalesOrder','styleNumber','material','planPersonnel','businessPeople','qualityControl','planNumber','accidentType','accidentSum','presentationCondition','accessory','informant','factorySignature','financeRemark','accessory2','isLeaders','incidentTicketId','tableNameChildren'))
+     },
+
+    }
+  }
+</script>
+
+<style lang="less" scoped>
+/deep/ .ant-table-wrapper{
+  margin-bottom: 2%;
+}
+/deep/ .nresume .ant-input{
+  height: 100px !important;
+}
+/deep/ .fff .ant-input{
+  height: 280px !important;
+}
+/deep/ .caiwu .ant-input{
+  height: 226px !important;
+}
+/deep/ .ff .ant-form-item-control {
+  display: contents;
+}
+
+/deep/.table-page-search-wrapper .ant-form-inline .ant-form-item>.ant-form-item-label{
+  width: 118px;
+}
+/deep/ .ant-table td {
+    white-space: break-spaces !important;
+    word-break: break-word;
+}
 </style>

+ 7 - 5
src/views/oa/modules/SyCarryDetailModal.vue

@@ -415,7 +415,7 @@
         win.document.write(this.formState.demo);
         win.document.write("</span>");
         win.document.write("<h1>");
-        win.document.write('宁波马菲羊纺织科技有限公司名称');
+        win.document.write('宁波马菲羊纺织科技有限公司');
         win.document.write("</h1>");
         win.document.write("<h2>");
         win.document.write(this.formState.name);
@@ -431,9 +431,11 @@
               if(j !== cloumn.length-1){
                 if(cloumn[j].title == '集装箱号'){
                   win.document.write("<td style='width:15%'>");  
-                  }else{ 
-                    win.document.write("<td>");
-                  }
+                }else if(cloumn[j].title == '日期'){
+                  win.document.write("<td style='width:8%'>");  
+                }else{ 
+                  win.document.write("<td>");
+                }
                 win.document.write(cloumn[j].title);
                 // 给表的列columns 尾
                 win.document.write("</td>");
@@ -470,7 +472,7 @@
          + 'h2{text-align: center}\n'
          + '.work{display: block;text-align: center}\n'
          + '.workFooter{display: block;margin-top: 2%;}\n'
-         + '.workFooter1{width: 10%;float: right;margin-top: 2%;}\n'
+         + '.workFooter1{width: 10%;float: right;margin-top: 2%;margin-right: 12%;}\n'
         //  +'@media print{@page {size:landscape}}'
          + '</style>';
         win.document.write(style);