jbb 2 rokov pred
rodič
commit
9c731e88fe

+ 70 - 3
src/views/oa/SyCarryList.vue

@@ -66,7 +66,7 @@
         @change="handleTableChange">
 
         <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">编辑</a>
+          <a @click="handleEdit(record,'0')">编辑</a>
 
           <a-divider type="vertical" />
           <a-dropdown>
@@ -76,6 +76,7 @@
                 <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
                   <a>删除</a>
                 </a-popconfirm>
+                  <a @click="handleEdit(record,'1')">详情</a>
               </a-menu-item>
             </a-menu>
           </a-dropdown>
@@ -86,7 +87,8 @@
     <!-- table区域-end -->
 
     <!-- 表单区域 -->
-    <syCarry-modal ref="modalForm" @ok="modalFormOk"/>
+    <syCarry-modal ref="modalForm" @ok="modalFormOk" @close='getList'/>
+    <sy-carry-detail-modal ref="syCarryDetailModal"></sy-carry-detail-modal>
 
   </a-card>
 </template>
@@ -95,12 +97,19 @@
 
   import { JeecgListMixin } from '@/mixins/JeecgListMixin'
   import SyCarryModal from './modules/SyCarryModal'
+  import SyCarryDetailModal from './modules/SyCarryDetailModal'
+  import { getAction } from '@/api/manage'
+  import moment from 'moment'
+  
 
   export default {
     name: "SyCarryList",
     mixins: [JeecgListMixin],
     components: {
-      SyCarryModal
+      SyCarryModal,
+      SyCarryDetailModal,
+      moment
+        
     },
     data () {
       return {
@@ -139,6 +148,7 @@
             scopedSlots: { customRender: 'action' },
           }
         ],
+        queryParam:{},
         // 请求参数
     	url: {
               list: "/oa/syCarry/list",
@@ -146,6 +156,7 @@
               deleteBatch: "/oa/syCarry/deleteBatch",
               exportXlsUrl: "oa/syCarry/exportXls",
               importExcelUrl: "oa/syCarry/importExcel",
+              editListUrl: '/oa/syCarry/querySyCarryBByMainId'
            },
         }
       },
@@ -157,6 +168,62 @@
 
 
     methods: {
+      getList(){
+        getAction(this.url.list, this.queryParam).then((res) => {
+          if(res.success){
+            this.dataSource=res.result.records
+          }else{
+            this.$message.warning(res.message)
+          }
+        })
+      },
+      searchQuery(){
+        this.getList()
+      },
+      searchReset(){
+       this.queryParam={}
+       this.getList()
+      },
+      async handleEdit(record,data){
+        var zhuId = ''
+        await getAction('/oa/syCarry/queryById', {id:record.id}).then((res) => {
+          if(res.success){
+             if(data == '0'){
+               this.$refs.modalForm.formState=res.result //编辑
+             }else{
+               this.$refs.syCarryDetailModal.formState=res.result //详情
+             }
+            zhuId = res.result.id
+          }else{
+            this.$message.warning(res.message)
+          }
+        })
+        getAction(this.url.editListUrl, {id:zhuId}).then((res) => {
+          if(res.success){
+            if(data == '0'){
+              this.$refs.modalForm.visible = true
+              this.$refs.modalForm.defultMethods = 'edit'
+              res.result.map(item =>{
+              if(item.orderDate !==''&& item.orderDate){
+                item.orderDate = moment(item.orderDate)
+              }
+            })
+            this.$refs.modalForm.syCarryBTable.dataSource = res.result
+          }else{
+            this.$refs.syCarryDetailModal.visible = true
+              res.result.map(item =>{
+              if(item.orderDate !==''&& item.orderDate){
+                item.orderDate = moment(item.orderDate)
+              }
+            })
+            this.$refs.syCarryDetailModal.syCarryBTable.dataSource = res.result
+          }
+          }else{
+            this.$message.warning(res.message)
+          }
+        })
+      },
+
 
       initDictConfig() {
       }

+ 315 - 0
src/views/oa/modules/SyCarryDetailModal.vue

@@ -0,0 +1,315 @@
+<template>
+<div class="reply" ref = "replyModal">
+  <a-modal
+    title="详情"
+    width="85%"
+    :visible="visible"
+    :confirmLoading="confirmLoading"
+    :getContainer ='()=>$refs.replyModal'
+    @cancel="handleCancel"
+   >
+    <div class="table-page-search-wrapper">
+      <a-form-model layout="inline" ref="form" :model="formState" :rules="validatorRules">
+          <a-row :gutter="24">
+            <a-col :md="8" :sm="8">
+              <a-form-model-item label="编号" prop="code">
+                <a-input   placeholder="请输入"  v-model="formState.code" readOnly/>
+              </a-form-model-item>
+            </a-col>
+            <a-col :md="8" :sm="8">
+              <a-form-model-item label="名称"  prop="userId">
+                <a-input placeholder="请输入名称" v-model="formState.name" readOnly/>
+              </a-form-model-item>
+           </a-col>
+            <a-col :md="8" :sm="8">
+              <a-form-model-item label="合计"  prop="code">
+                 <a-input placeholder="请输入" v-model="formState.totalNum" readOnly/>
+               </a-form-model-item>
+            </a-col>
+          </a-row>
+          <a-row :gutter="24">
+              <a-col :md="24" :sm="8"> 
+               <a-form-model-item label="备注信息"  class="nresume" style="height:100px !important">
+                 <a-input type="textarea" placeholder="请输入" v-model="formState.demo" readOnly/>
+               </a-form-model-item>
+              </a-col>
+            </a-row>
+      </a-form-model>
+      <!-- 主表单区域 -->
+      <!-- <a-form :model="form">
+            <a-form-item
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              label="编号">
+              <a-input placeholder="请输入编号" v-decorator="['code', {}]"/>
+            </a-form-item>
+            <a-form-item
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              label="名称">
+              <a-input placeholder="请输入名称" v-decorator="['name', {}]"/>
+            </a-form-item>
+            <a-form-item label="合计" :labelCol="labelCol"  :wrapperCol="wrapperCol" >
+                 <a-input placeholder="请输入" v-decorator="['total_num', {}] "/>
+            </a-form-item>
+            <a-form-item
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              class="nresume" style="height:100px !important"
+              label="备注">
+              <a-input type="textarea" placeholder="请输入备注" v-decorator="['demo', {}]"/>
+            </a-form-item>
+      </a-form> -->
+
+      <!-- 子表单区域 -->
+      <a-tabs v-model="activeKey" @change="handleChangeTabs">
+        <a-tab-pane tab="搬运工对账单" :key="refKeys[0]" :forceRender="true">
+          <!-- <a-button type="primary"  @click="addList">增行</a-button> -->
+        <a-table
+        bordered
+        :columns="syCarryBTable.columns"
+        :data-source="syCarryBTable.dataSource"
+        :loading="syCarryBTable.loading"
+        :scroll="{x: 1800 }"
+        :pagination="false"
+      >
+      <!-- 计划员 -->
+           <span slot="jhyName" slot-scope="text, record, index">
+                 <a-select  v-model="record.jhyName" style="width:100%"  disabled > 
+                      <a-select-option
+                     v-for="(item,index) in jhyNameOption"
+                     :key="index"
+                     :value="item.value">
+                     {{item.label}}
+                     </a-select-option>
+                   </a-select>
+          </span>
+        <!-- 操作 -->
+         <span slot="option" slot-scope="text, record, index">
+           <a-popconfirm title="确定放弃新增?" @confirm="handelAutograph(record)" okText="确定" cancelText="取消">
+            <a href="">签名</a>
+           </a-popconfirm>
+          </span>
+        </a-table>
+        
+          <!-- <j-editable-table
+            :ref="refKeys[0]"
+            :loading="syCarryBTable.loading"
+            :columns="syCarryBTable.columns"
+            :dataSource="syCarryBTable.dataSource"
+            :maxHeight="300"
+            :minWidth="2000"
+            :rowNumber="false"
+            :rowSelection="true"
+            :actionButton="true">
+           <template v-slot:action="props">
+            <a @click="handleAutograph(props)">签名</a>
+           </template> -->
+           <!-- <template v-slot:jhyName="props">
+            <a-select @change='changeJhy(props)' >
+                  <a-select-option
+                     v-for="(item,index) in jhyNameOption"
+                     :key="index"
+                     :value="item.value">
+                     {{item.label}}
+                  </a-select-option>
+                   </a-select>
+           </template> -->
+          <!-- </j-editable-table> -->
+
+        </a-tab-pane>
+      </a-tabs>
+
+    </div>
+  </a-modal>
+</div>
+</template>
+<script>
+
+  import moment from 'moment'
+  import pick from 'lodash.pick'
+  import { FormTypes } from '@/utils/JEditableTableUtil'
+  import { JEditableTableMixin } from '@/mixins/JEditableTableMixin'
+  import {personList,subimtList} from '@api/oa/cd-personnel-files'
+   import { putAction } from '@/api/manage'
+
+  export default {
+    name: 'SyCarryDetailModa',
+    mixins: [JEditableTableMixin],
+    components: {
+        moment,
+    },
+    data() {
+      return {
+        // 新增时子表默认添加几行空数据
+        addDefaultRowNum: 1,
+        validatorRules: {
+        },
+        formState:{},
+        refKeys: ['syCarryB', ],
+        activeKey: 'syCarryB',
+        jhyNameOption:[],
+        dateFormat: 'YYYY-MM-DD',
+        // 搬运装卸费用-搬运工对账单-子表
+        syCarryBTable: {
+          loading: false,
+          dataSource: [],
+          columns: [
+            {
+            title: '日期',
+            align: "center",
+            dataIndex: 'orderDate',
+            width: '9%',
+            // scopedSlots: { customRender: 'orderDate' },
+          },
+           {
+            title: '总件数',
+            dataIndex: 'allNum',
+            width: '9%',
+            //  scopedSlots: { customRender: 'allNum' },
+             className: 'replacecolor'
+           },
+           {
+            title: '明细',
+            dataIndex: 'detailedNum',
+           width: '9%',
+             ellipsis: true,
+            //  scopedSlots: { customRender: 'detailedNum' },
+             className: 'replacecolor'
+           },
+           {
+            title: '衣架',
+            dataIndex: 'coatHanger',
+           width: '9%',
+             ellipsis: true,
+            //  scopedSlots: { customRender: 'coatHanger' },
+             className: 'replacecolor'
+           },
+           {
+            title: '集装箱号',
+            dataIndex: 'containerNo',
+           width: '9%',
+             ellipsis: true,
+            //  scopedSlots: { customRender: 'containerNo' },
+             className: 'replacecolor'
+           },
+           {
+            title: '发票号',
+            dataIndex: 'invoiceNo',
+           width: '9%',
+             ellipsis: true,
+            //  scopedSlots: { customRender: 'invoiceNo' },
+             className: 'replacecolor'
+           },
+           {
+            title: '价格',
+            dataIndex: 'price',
+           width: '9%',
+             ellipsis: true,
+            //  scopedSlots: { customRender: 'price' },
+             className: 'replacecolor'
+           },
+           {
+            title: '计划员',
+            dataIndex: 'jhyNameData',
+           width: '9%',
+              ellipsis: true,
+            //  scopedSlots: { customRender: 'jhyName' },
+             className: 'replacecolor'
+           },
+           {
+            title: '签名',
+            dataIndex: 'jhyName',
+            width: '9%',
+             ellipsis: true,
+             className: 'replacecolor'
+           },
+           {
+            title: '备注',
+            dataIndex: 'demo',
+           width: '9%',
+             ellipsis: true,
+            //  scopedSlots: { customRender: 'demo' },
+             className: 'replacecolor'
+           },
+            {
+            title: '操作',
+            dataIndex: 'option',
+             width: '9%',
+             ellipsis: true,
+             scopedSlots: { customRender: 'option' },
+             className: 'replacecolor'
+           }           
+          ]
+        },
+        url: {
+          add: "/oa/syCarry/add",
+          edit: "/oa/syCarry/edit",
+          syCarryB: {
+            list: '/oa/syCarry/querySyCarryBByMainId'
+          },
+        }
+      }
+    },
+    created(){
+    },
+    methods: {
+      handelAutograph(record){
+        if(record.jhyNameData == this.$store.getters.nickname){
+          record.jhyName = record.jhyNameData
+        }else{
+           this.$message.error('不可签名');
+        }
+        
+      }
+    }
+  }
+</script>
+
+<style scoped lang="less">
+/deep/ .nresume .ant-input{
+  height: 100px !important;
+}
+/deep/ .td{
+  text-align:center;
+}
+// /deep/.ant-form-item{
+//     width: 31%;
+// }
+// /deep/.ant-form-horizontal{
+//     display: flex;
+//     width: 100%;
+//     flex-wrap: wrap;
+// }
+// .nresume{
+//   width: 100% !important;
+// }
+// /deep/ .nresume .ant-form-item-label{
+//   width: 3% !important;
+// }
+// /deep/ .nresume .ant-form-item-control-wrapper{
+//   width: 85% !important;
+// }
+// /deep/ .nresume .ant-input{
+//   height: 100px !important;
+// }
+// /deep/ .ant-col-sm-6{
+//   width: 10%;
+// }
+/deep/ .ant-select{
+  width: 100%;
+}
+/deep/ .input-table .thead .td{
+  text-align: center;
+}
+/deep/ .input-table .tbody .td{
+  text-align: center;
+}
+/deep/ .ant-table-thead > tr > th {
+  text-align: center;
+  // font-weight: 700;
+}
+/deep/ .ant-table-tbody {
+  text-align: center;
+}
+</style>

+ 376 - 105
src/views/oa/modules/SyCarryModal.vue

@@ -1,160 +1,270 @@
 <template>
+<div class="reply" ref = "replyModal">
   <a-modal
-    :title="title"
+    :title="(defultMethods == 'add')?'新增':'编辑'"
     width="85%"
     :visible="visible"
-    :maskClosable="false"
     :confirmLoading="confirmLoading"
+    :getContainer ='()=>$refs.replyModal'
     @ok="handleOk"
-    @cancel="handleCancel">
-    <a-spin :spinning="confirmLoading">
+    @cancel="handleCancel"
+   >
+    <div class="table-page-search-wrapper">
+      <a-form-model layout="inline" ref="form" :model="formState" :rules="validatorRules">
+          <a-row :gutter="24">
+            <a-col :md="8" :sm="8">
+              <a-form-model-item label="编号" prop="code">
+                <a-input   placeholder="请输入"  v-model="formState.code" />
+              </a-form-model-item>
+            </a-col>
+            <a-col :md="8" :sm="8">
+              <a-form-model-item label="名称"  prop="userId">
+                <a-input placeholder="请输入名称" v-model="formState.name"/>
+              </a-form-model-item>
+           </a-col>
+            <a-col :md="8" :sm="8">
+              <a-form-model-item label="合计"  prop="code">
+                 <a-input placeholder="请输入" v-model="formState.totalNum" readOnly/>
+               </a-form-model-item>
+            </a-col>
+          </a-row>
+          <a-row :gutter="24">
+              <a-col :md="24" :sm="8"> 
+               <a-form-model-item label="备注信息"  class="nresume" style="height:100px !important">
+                 <a-input type="textarea" placeholder="请输入" v-model="formState.demo"/>
+               </a-form-model-item>
+              </a-col>
+            </a-row>
+      </a-form-model>
       <!-- 主表单区域 -->
-      <a-form :form="form">
-        <a-row>
-          <a-col :span="12">
+      <!-- <a-form :model="form">
             <a-form-item
               :labelCol="labelCol"
               :wrapperCol="wrapperCol"
               label="编号">
               <a-input placeholder="请输入编号" v-decorator="['code', {}]"/>
             </a-form-item>
-          </a-col>
-          <a-col :span="12">
             <a-form-item
               :labelCol="labelCol"
               :wrapperCol="wrapperCol"
               label="名称">
               <a-input placeholder="请输入名称" v-decorator="['name', {}]"/>
             </a-form-item>
-          </a-col>
-        </a-row>
-        <a-row>
-          <a-col :span="24">
+            <a-form-item label="合计" :labelCol="labelCol"  :wrapperCol="wrapperCol" >
+                 <a-input placeholder="请输入" v-decorator="['total_num', {}] "/>
+            </a-form-item>
             <a-form-item
               :labelCol="labelCol"
               :wrapperCol="wrapperCol"
+              class="nresume" style="height:100px !important"
               label="备注">
               <a-input type="textarea" placeholder="请输入备注" v-decorator="['demo', {}]"/>
             </a-form-item>
-          </a-col>
-        </a-row>
-      </a-form>
+      </a-form> -->
 
       <!-- 子表单区域 -->
       <a-tabs v-model="activeKey" @change="handleChangeTabs">
         <a-tab-pane tab="搬运工对账单" :key="refKeys[0]" :forceRender="true">
-          <j-editable-table
+          <a-button type="primary"  @click="addList">增行</a-button>
+        <a-table
+        bordered
+        :columns="syCarryBTable.columns"
+        :data-source="syCarryBTable.dataSource"
+        :loading="syCarryBTable.loading"
+        :scroll="{x: 1800 }"
+        :pagination="false"
+      >
+        <!-- 日期 -->
+         <span slot="orderDate" slot-scope="text, record,index">
+                <a-date-picker
+                    placeholder="请选择最终船期"
+                    v-model="record.orderDate"
+                  />
+          </span>
+          <!-- 总件数 -->
+          <span slot="allNum" slot-scope="text, record, index">
+                  <a-input placeholder="请输入" v-model="record.allNum" />
+          </span>
+          <!-- 明细 -->
+           <span slot="detailedNum" slot-scope="text, record, index">
+                  <a-input placeholder="请输入" v-model="record.detailedNum" />
+          </span>
+          <!-- 衣架 -->
+          <span slot="coatHanger" slot-scope="text, record, index">
+                  <a-input placeholder="请输入" v-model="record.coatHanger" />
+          </span>
+          <!-- 集装箱号 -->
+           <span slot="containerNo" slot-scope="text, record, index">
+                  <a-input placeholder="请输入" v-model="record.containerNo" />
+          </span>
+          <!-- 发票号 -->
+           <span slot="invoiceNo" slot-scope="text, record, index">
+                  <a-input placeholder="请输入" v-model="record.invoiceNo" />
+          </span>
+          <!-- 价格 -->
+          <span slot="price" slot-scope="text, record, index">
+              <a-input placeholder="请输入" v-model="record.price"  @change="handleChangePrice"/>
+          </span>
+          <!-- 计划员 -->
+           <span slot="jhyByData" slot-scope="text, record, index">
+                 <a-select  v-model="record.jhyByData" style="width:100%" show-search :filterOption="filterOption" @change="handleChange(record)"> 
+                      <a-select-option
+                     v-for="(item,index) in jhyNameOption"
+                     :key="index"
+                     :value="item.value"
+                      >
+                     {{item.label}}
+                     </a-select-option>
+                   </a-select>
+          </span>
+          <!-- 备注 -->
+          <span slot="demo" slot-scope="text, record, index">
+                  <a-input placeholder="请输入" v-model="record.demo" />
+          </span>
+        </a-table>
+          <!-- <j-editable-table
             :ref="refKeys[0]"
             :loading="syCarryBTable.loading"
             :columns="syCarryBTable.columns"
             :dataSource="syCarryBTable.dataSource"
             :maxHeight="300"
-            :rowNumber="true"
+            :minWidth="2000"
+            :rowNumber="false"
             :rowSelection="true"
-            :actionButton="true"/>
+            :actionButton="true">
+           <template v-slot:action="props">
+            <a @click="handleAutograph(props)">签名</a>
+           </template> -->
+           <!-- <template v-slot:jhyName="props">
+            <a-select @change='changeJhy(props)' >
+                  <a-select-option
+                     v-for="(item,index) in jhyNameOption"
+                     :key="index"
+                     :value="item.value">
+                     {{item.label}}
+                  </a-select-option>
+                   </a-select>
+           </template> -->
+          <!-- </j-editable-table> -->
+
         </a-tab-pane>
       </a-tabs>
 
-    </a-spin>
+    </div>
   </a-modal>
+</div>
 </template>
-
 <script>
 
   import moment from 'moment'
   import pick from 'lodash.pick'
   import { FormTypes } from '@/utils/JEditableTableUtil'
   import { JEditableTableMixin } from '@/mixins/JEditableTableMixin'
+  import {personList,subimtList} from '@api/oa/cd-personnel-files'
+   import { putAction } from '@/api/manage'
 
   export default {
     name: 'SyCarryModal',
     mixins: [JEditableTableMixin],
+    components: {
+        moment,
+    },
     data() {
       return {
         // 新增时子表默认添加几行空数据
         addDefaultRowNum: 1,
         validatorRules: {
         },
+        formState:{},
         refKeys: ['syCarryB', ],
         activeKey: 'syCarryB',
+        jhyNameOption:[],
+        dateFormat: 'YYYY-MM-DD',
         // 搬运装卸费用-搬运工对账单-子表
         syCarryBTable: {
           loading: false,
           dataSource: [],
           columns: [
-            
-            {
-              title: '日期',
-              key: 'orderDate',
-              type: FormTypes.datetime,
-              defaultValue: '',
-              placeholder: '请输入${title}',
-            },
-            {
-              title: '总件数',
-              key: 'allNum',
-              type: FormTypes.inputNumber,
-              defaultValue: '',
-              placeholder: '请输入${title}',
-            },
-            {
-              title: '明细',
-              key: 'detailedNum',
-              type: FormTypes.inputNumber,
-              defaultValue: '',
-              placeholder: '请输入${title}',
-            },
-            {
-              title: '衣架',
-              key: 'coatHanger',
-              type: FormTypes.inputNumber,
-              defaultValue: '',
-              placeholder: '请输入${title}',
-            },
             {
-              title: '集装箱号',
-              key: 'containerNo',
-              type: FormTypes.input,
-              defaultValue: '',
-              placeholder: '请输入${title}',
-            },
-            {
-              title: '发票号',
-              key: 'invoiceNo',
-              type: FormTypes.input,
-              defaultValue: '',
-              placeholder: '请输入${title}',
-            },
-            {
-              title: '价格',
-              key: 'price',
-              type: FormTypes.inputNumber,
-              defaultValue: '',
-              placeholder: '请输入${title}',
-            },
-            {
-              title: '计划员',
-              key: 'jhyName',
-              type: FormTypes.input,
-              defaultValue: '',
-              placeholder: '请输入${title}',
-            },
-            {
-              title: '签名',
-              key: 'jhyNameData',
-              type: FormTypes.input,
-              defaultValue: '',
-              placeholder: '请输入${title}',
-            },
-            {
-              title: '备注',
-              key: 'demo',
-              type: FormTypes.input,
-              defaultValue: '',
-              placeholder: '请输入${title}',
-            },
+            title: '日期',
+            align: "center",
+            dataIndex: 'orderDate',
+            width: '9%',
+            scopedSlots: { customRender: 'orderDate' },
+          },
+           {
+            title: '总件数',
+            dataIndex: 'allNum',
+            width: '9%',
+             scopedSlots: { customRender: 'allNum' },
+             className: 'replacecolor'
+           },
+           {
+            title: '明细',
+            dataIndex: 'detailedNum',
+           width: '9%',
+             ellipsis: true,
+             scopedSlots: { customRender: 'detailedNum' },
+             className: 'replacecolor'
+           },
+           {
+            title: '衣架',
+            dataIndex: 'coatHanger',
+           width: '9%',
+             ellipsis: true,
+             scopedSlots: { customRender: 'coatHanger' },
+             className: 'replacecolor'
+           },
+           {
+            title: '集装箱号',
+            dataIndex: 'containerNo',
+           width: '9%',
+             ellipsis: true,
+             scopedSlots: { customRender: 'containerNo' },
+             className: 'replacecolor'
+           },
+           {
+            title: '发票号',
+            dataIndex: 'invoiceNo',
+           width: '9%',
+             ellipsis: true,
+             scopedSlots: { customRender: 'invoiceNo' },
+             className: 'replacecolor'
+           },
+           {
+            title: '价格',
+            dataIndex: 'price',
+           width: '9%',
+             ellipsis: true,
+             scopedSlots: { customRender: 'price' },
+             className: 'replacecolor'
+           },
+           {
+            title: '计划员',
+            dataIndex: 'jhyByData',
+             width: '9%',
+             ellipsis: true,
+             scopedSlots: { customRender: 'jhyByData' },
+             className: 'replacecolor'
+           },
+           {
+            title: '签名',
+            dataIndex: 'jhyName',
+            width: '9%',
+             ellipsis: true,
+             className: 'replacecolor'
+           },
+           {
+            title: '备注',
+            dataIndex: 'demo',
+           width: '9%',
+             ellipsis: true,
+             scopedSlots: { customRender: 'demo' },
+             className: 'replacecolor'
+           }                 
           ]
         },
+        defultMethods:'add',
         url: {
           add: "/oa/syCarry/add",
           edit: "/oa/syCarry/edit",
@@ -164,22 +274,87 @@
         }
       }
     },
+    created(){
+      this.getOption()
+    },
     methods: {
+    // 计划员模糊查询
+    filterOption(input, option) {
+      return (
+        option.componentOptions.children[0].text
+          .toLowerCase()
+          .indexOf(input.toLowerCase()) >= 0
+      )},
+      //增行
+      addList(){
+        this.syCarryBTable.dataSource.push({
+          orderDate:'',
+          allNum:'',
+          detailedNum:'',
+          coatHanger:'',
+          containerNo:'',
+          invoiceNo:'',
+          price:'',
+          jhyName:'',
+          jhyNameData:'',
+          demo:'',
+          name:''
+        })
+      },
+      //获取计划员
+      getOption(){
+        personList().then(res => {
+                    if (res.success) {
+                      res.result.records.map(item =>{
+                        this.jhyNameOption.push({label:item.realname,value:item.username})
+                      })
+                    }else{
+                       this.$message.error(res.message);
+                    }
+                })
+      },
+      //改变计划员
+      handleChange(record){
+         this.jhyNameOption.map(item=>{
+           if(item.value == record.jhyByData){
+             record.jhyNameData = item.label
+           }
+         })
+      },
  
       /** 调用完edit()方法之后会自动调用此方法 */
-      editAfter() {
-        this.$nextTick(() => {
-          this.form.setFieldsValue(pick(this.model, 'name', 'code', 'demo', ))
-          // 时间格式化
-          // this.form.setFieldsValue({ ckTime: this.model.ckTime ? moment(this.model.ckTime) : null })
-          // this.form.setFieldsValue({ rsxzTime: this.model.rsxzTime ? moment(this.model.rsxzTime) : null })
-          // this.form.setFieldsValue({ cwjlTime: this.model.cwjlTime ? moment(this.model.cwjlTime) : null })
-        })
-        // 加载子表数据
-        if (this.model.id) {
-          let params = { id: this.model.id }
-          this.requestSubTableData(this.url.syCarryB.list, params, this.syCarryBTable)
-        }
+      // editAfter() {
+      //   this.$nextTick(() => {
+      //     this.form.setFieldsValue(pick(this.model, 'name', 'code', 'demo','total_num'))
+      //     console.log(this.model)
+
+      //     // 时间格式化
+      //     // this.form.setFieldsValue({ ckTime: this.model.ckTime ? moment(this.model.ckTime) : null })
+      //     // this.form.setFieldsValue({ rsxzTime: this.model.rsxzTime ? moment(this.model.rsxzTime) : null })
+      //     // this.form.setFieldsValue({ cwjlTime: this.model.cwjlTime ? moment(this.model.cwjlTime) : null })
+      //   })
+      //   // 加载子表数据
+      //   if (this.model.id) {
+      //     let params = { id: this.model.id }
+      //     this.requestSubTableData(this.url.syCarryB.list, params, this.syCarryBTable)
+      //   }
+      // },
+      // handleAutograph(props){
+      //   var code = '',
+      //   text=''
+      //   this.syCarryBTable.columns[7].options.map(item=>{
+      //     if(item.text ==this.$store.getters.nickname ){
+      //        code = item.value
+      //        text = item.text
+      //     }
+      //   })      
+      //   if(code == this.syCarryBTable.dataSource[props.index].jhyName){
+      //     this.syCarryBTable.dataSource[props.index].jhyNameData = text
+      //   })
+      // },
+      changeJhy(props){
+        console.log(this.syCarryBTable.columns[7].options)
+
       },
  
       /** 整理成formData */
@@ -193,10 +368,106 @@
           ...main, // 展开
           syCarryBList: allValues.tablesValue[0].values,
         }
+      },
+      //保存
+      handleOk(){
+        var obj = this.formState
+        this.syCarryBTable.dataSource.map(item=>{
+          if(item.orderDate!==''&&item.orderDate){
+             item.orderDate = moment(item.orderDate).format('YYYY-MM-DD HH:mm:ss');
+          }
+          if(!item.name){
+            item.name = ''
+          }
+        })
+        obj.syCarryBList = this.syCarryBTable.dataSource
+        if(this.defultMethods == 'add'){
+          subimtList(obj).then(res => {
+                    if (res.success) {
+                      this.$message.success('新增成功')
+                      this.handleCancel()
+                      this.$emit('close')
+                    }else{
+                       this.$message.error(res.message);
+                    }
+                })
+        }else{
+          putAction('/oa/syCarry/edit', obj).then((res) => {
+          if(res.success){
+            this.$message.success('编辑成功')
+            this.handleCancel()
+            this.$emit('close')
+          }else{
+            this.$message.warning(res.message)
+          }
+        })
+        }
+        
+      },
+      //关闭
+      handleCancel(){
+        this.syCarryBTable.dataSource=[]
+        this.formState = {}
+        this.visible = false
+        this.defultMethods='add'
+      },
+      // 价格改变
+      handleChangePrice(){
+        var Hj = 0
+       this.syCarryBTable.dataSource.map(item=>{
+         Hj+= Number(item.price)
+       })
+       this.formState.totalNum = Hj
       }
+      
     }
   }
 </script>
 
-<style scoped>
+<style scoped lang="less">
+/deep/ .nresume .ant-input{
+  height: 100px !important;
+}
+/deep/ .td{
+  text-align:center;
+}
+// /deep/.ant-form-item{
+//     width: 31%;
+// }
+// /deep/.ant-form-horizontal{
+//     display: flex;
+//     width: 100%;
+//     flex-wrap: wrap;
+// }
+// .nresume{
+//   width: 100% !important;
+// }
+// /deep/ .nresume .ant-form-item-label{
+//   width: 3% !important;
+// }
+// /deep/ .nresume .ant-form-item-control-wrapper{
+//   width: 85% !important;
+// }
+// /deep/ .nresume .ant-input{
+//   height: 100px !important;
+// }
+// /deep/ .ant-col-sm-6{
+//   width: 10%;
+// }
+/deep/ .ant-select{
+  width: 100%;
+}
+/deep/ .input-table .thead .td{
+  text-align: center;
+}
+/deep/ .input-table .tbody .td{
+  text-align: center;
+}
+/deep/ .ant-table-thead > tr > th {
+  text-align: center;
+  // font-weight: 700;
+}
+/deep/ .ant-table-tbody {
+  text-align: center;
+}
 </style>