<template>
  <div class="borderless">
    <div class="customer-head">
      <div class="customer-back">
        <!--        <i class="back-icon el-icon-arrow-left"></i><i style="font-style:normal">返回管理列表</i>-->
        <el-button type="danger" style="border: none;background: none;color: red" icon="el-icon-arrow-left"
                   @click="backToList">返回列表
        </el-button>
      </div>
      <el-button
        class="el-button--small-yh add-customer-btn"
        type="primary"
        :disabled="disabled"
        @click="editCustomer"
      >{{ form.id ? '确认修改' : '确认新增' }}
      </el-button>
    </div>
    <div style="margin-top: 60px">
      <el-form :model="form" ref="form" label-width="130px" class="demo-ruleForm">
        <containerTitle title="基础信息"></containerTitle>
        <basic-container style="margin-bottom: 10px">
          <el-row>
            <el-col v-for="(item,index) in basicData.column" :key="index" :span="item.span?item.span:8">
              <el-form-item :label="item.label" :prop="item.prop" :rules="item.rules">
                <!--                <avue-input-tree v-if="item.prop === 'corpsTypeId'" leaf-only multiple :props="{label:'title'}"v-model="form[item.prop]" placeholder="请选择内容" type="tree" :dic="dic"/>-->
                <el-date-picker v-if="item.type === 'datetime'" style="width: 100%;" v-model="form[item.prop]" size="small" type="datetime" placeholder="选择日期" value-format="yyyy-MM-dd HH:mm:ss"/>
                <el-select v-else-if="item.type === 'select'" style="width: 100%" size="small" placeholder="请选择" clearable filterable></el-select>
                <el-input type="age" v-else v-model="form[item.prop]" size="small" autocomplete="off"></el-input>
              </el-form-item>
            </el-col>
          </el-row>
        </basic-container>
        <containerTitle title="收货明细"></containerTitle>
        <basic-container style="margin-bottom: 10px">
          <avue-crud
            :option="customerContact"
            v-model="contactsForm"
            :data="contactsData"
            ref="crudContact"
            @row-save="rowSave"
            @row-click="handleRowClick"
            @row-update="rowUpdate"
            @row-del="rowDel">
            <template slot="code" slot-scope="{row,index}">
            </template>
            <template slot-scope="{row,index}" slot="menu">
              <el-button
                type="text"
                size="small"
                @click="rowCell(row,index)"
              >{{ row.$cellEdit ? '保存' : '修改' }}
              </el-button>
            </template>
          </avue-crud>
        </basic-container>
      </el-form>
    </div>
  </div>
</template>

<script>
import customerContact from "./config/customerContact.json"

export default {
  name: "detailsPageEdit",
  data() {
    return {
      form: {},
      disabled: false,
      customerContact: customerContact,
      contactsForm: {},
      contactsData: [],
      basicData: {
        column: [
          {
            label: '系统号',
            prop: 'sysNo',
            rules: [
              {
                required: true,
                message: ' ',
                trigger: 'blur'
              }
            ]
          }, {
            label: '合同号',
            prop: 'orderNo',
            rules: [
              {
                required: true,
                message: ' ',
                trigger: 'blur'
              }
            ]
          }, {
            label: '发货日期',
            prop: 'corpId',
            type:'datetime',
            rules: [
              {
                required: true,
                message: ' ',
                trigger: 'blur'
              }
            ]
          }, {
            label: '业务员',
            prop: 'corpId',
            type:'select',
            rules: [
              {
                required: true,
                message: ' ',
                trigger: 'blur'
              }
            ]
          }, {
            label: '销售公司',
            prop: 'corpId',
            type:'select',
            rules: [
              {
                required: true,
                message: ' ',
                trigger: 'blur'
              }
            ]
          }, {
            label: '工厂/贸易商名称',
            prop: 'corpId',
            type:'select',
            rules: [
              {
                required: true,
                message: ' ',
                trigger: 'blur'
              }
            ]
          }, {
            label: '仓库名称',
            prop: 'corpId',
            type:'select',
            rules: [
              {
                required: true,
                message: ' ',
                trigger: 'blur'
              }
            ]
          }, {
            label: '销售单价',
            prop: 'corpId',
            rules: [
              {
                required: true,
                message: ' ',
                trigger: 'blur'
              }
            ]
          }, {
            label: '发票重量',
            prop: 'corpId',
            rules: [
              {
                required: true,
                message: ' ',
                trigger: 'blur'
              }
            ]
          }, {
            label: '备注',
            prop: 'remark',
            span: 24,
            mock: {
              type: 'county'
            }
          }
        ]
      },
    }
  },
  methods: {
    //新增商品信息保存触发
    rowSave(row, done, loading) {
      console.log(row)
      console.log(this.contactsData)
      // this.contactsData.push(row)
      done()
    },
    //点击行可编辑
    handleRowClick(row, event, column) {
      console.log(row.$index)
    },
    //商品编辑
    rowCell(row, index) {
      console.log(row)
      this.$refs.crudContact.rowCell(row, index)
    },
    //修改商品信息触发
    rowUpdate(row, index, done, loading) {
      done(row);
    },
    //删除商品信息触发
    rowDel(row, index, donerowDel) {
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      }).then(() => {
        //商品判断是否需要调用删除接口
        if (row.id) {
          corpsattn(row.id).then(res => {
            this.$message({
              type: "success",
              message: "操作成功!"
            });
            this.contactsData.splice(index, 1);
          })
        } else {
          this.$message({
            type: "success",
            message: "操作成功!"
          });
          this.contactsData.splice(index, 1);
        }
      })
    },
    //修改提交触发
    editCustomer() {
      console.log(this.form)
      this.$refs["form"].validate((valid) => {
        if (valid) {
        } else {
          return false;
        }
      });
    },
    //返回列表
    backToList() {
      this.$router.$avueRouter.closeTag();
      this.$router.push({
        path: '/importTrade/invoice/index',
        query: {}
      });
    }
  },
}
</script>

<style lang="scss" scoped>
.customer-head {
  position: fixed;
  top: 105px;
  width: 100%;
  margin-left: -10px;
  height: 62px;
  background: #ffffff;
  box-shadow: 0 4px 12px 0px rgba(232, 232, 235, 1);
  z-index: 999;
  /* display: flex;
  justify-content: left; */
}

.customer-back {
  cursor: pointer;
  line-height: 62px;
  font-size: 16px;
  color: #323233;
  font-weight: 400;
}

.back-icon {
  line-height: 64px;
  font-size: 20px;
  margin-right: 8px;
}

.add-customer-btn {
  position: fixed;
  right: 36px;
  top: 115px;
}

::v-deep .el-form-item {
  margin-bottom: 0;
}

.el-dialogDeep {
  ::v-deep .el-dialog {
    margin: 1vh auto 0 !important;
    padding-bottom: 10px !important;

    .el-dialog__body, .el-dialog__footer {
      padding-bottom: 0 !important;
      padding-top: 0 !important;
    }
  }
}
</style>
