// 完善入库信息
<template>
  <div class="container">
    <el-row>
      <el-col :span="20">
        <h2 class="bg-left title">完善出库信息</h2>
      </el-col>
      <el-col :span="4" class="bg-right">
        <el-button
          class="bg-bottom"
          type="primary"
          size="small"
          @click="returnNoComplete()"
          >返回</el-button
        >
      </el-col>
    </el-row>
    <div class="center">
      <h2>鲅鱼圈一号库 102仓位</h2>
      <ws-form ref="deptBudgetList" :model="deptBudgetList">
        
        <!--毛重（吨）-->
        <ws-form-item label="毛重（吨）" span="1" prop="shippingType">
          <ws-input
            v-model="deptBudgetList.shippingType"
            placeholder="请输入毛重"
            maxlength="20"
            size="small"
          />
        </ws-form-item>

        <!--皮重（吨）-->
        <ws-form-item label="皮重（吨）" span="1" prop="buyer" class="readonly">
          <ws-input
            v-model="deptBudgetList.buyer"
            placeholder="请输入皮重"
            maxlength="100"
            size="small"
          />
        </ws-form-item>

        <!--净重（吨）-->
        <ws-form-item label="净重（吨）" span="1" prop="settlementMethod">
          <ws-input
            v-model="deptBudgetList.settlementMethod"
            placeholder="不可编辑，自动计算"
            maxlength="120"
            size="small"
          />
        </ws-form-item>
        <!-- 品级 -->
        <ws-form-item label="品级" span="1" class="readonly">
          <ws-select
          v-model="deptBudgetList.grade"
            placeholder=""
            class="typeselect"
            @change="selectpackingMethod"
          >
            <ws-option
              v-for="item in gradeList"
              :key="item.constKey"
              :label="item.constValue"
              :value="item.constValue"
            />
          </ws-select>
        </ws-form-item>

        <!--经办人-->
        <ws-form-item label="经办人" span="1" prop="seller" class="readonly">
          <ws-input
            v-model="deptBudgetList.seller"
            placeholder="请输入出库经办人姓名"
            maxlength="100"
            size="small"
          />
        </ws-form-item>
        <!--出库日期-->
        <ws-form-item
          label="出库日期"
          span="1"
          prop="signingDate"
          class="deliverydate"
        >
          <ws-date-picker
            v-model="deptBudgetList.signingDate"
            type="date"
            placeholder="请选择出库日期"
            value-format="yyyy-MM-dd"
          />
        </ws-form-item>
        <!-- 出库类型 -->
        <ws-form-item label="出库类型" span="1" class="readonly">
          <ws-select
            placeholder=""
            class="typeselect"
            @change="selectpackingMethod"
          >
            <ws-option
              v-for="item in goodnameList"
              :key="item.constKey"
              :label="item.constValue"
              :value="item.constValue"
            />
          </ws-select>
        </ws-form-item>

        <!--车牌号-->
        <ws-form-item label="车牌号" span="1" prop="sourceGoods">
          <ws-input
            v-model="deptBudgetList.sourceGoods"
            placeholder="请输入车牌号"
            maxlength="20"
            size="small"
          />
        </ws-form-item>

        <!--合同编号-->
        <ws-form-item label="合同编号" span="1" prop="contractNo">
          <ws-input
            v-model.number="deptBudgetList.buyerPhone"
            placeholder="请输入合同编号"
            maxlength="100"
            size="small"
          />
        </ws-form-item>

        <ws-upload
          ref="upload"
          table-name="maintain_work_order"
          oss-key="mainPlan"
          :comp-id="compId"
          :appendix-ids="appendixIdsAdd"
          :vesselId="deptBudgetList.addressUrl"
          :size-limit="size"
          @uploadSuccess="uploadSuccess"
          @onChange="onChange"
          accept=".jpg, .jpeg, .png, .pdf, .doc, .zip, .rar"
        />

        <div class="choice">
          <h2>化验数据（选填）</h2>
          <ws-info-table>
            <!--自检员-->
            <ws-form-item label="自检员" span="1" prop="settlementMethod">
              <ws-input
                v-model="deptBudgetList.settlementMethod"
                placeholder="请输入自检员姓名"
                maxlength="120"
                size="small"
              />
            </ws-form-item>

            <!--水分（%）<=-->
            <ws-form-item label="水分（%）<=" span="1" prop="settlementMethod">
              <ws-input
                v-model="deptBudgetList.settlementMethod"
                placeholder="请输入水分占比"
                maxlength="120"
                size="small"
              />
            </ws-form-item>
            <!--杂质（%）<=-->
            <ws-form-item label="杂质（%）<=" span="1" prop="settlementMethod">
              <ws-input
                v-model="deptBudgetList.settlementMethod"
                placeholder="请输入杂质占比"
                maxlength="120"
                size="small"
              />
            </ws-form-item>
            <!--容重（克/升）>=-->
            <ws-form-item
              label="容重（克/升）>="
              span="1"
              prop="settlementMethod"
            >
              <ws-input
                v-model="deptBudgetList.settlementMethod"
                placeholder="请输入容重"
                maxlength="120"
                size="small"
              />
            </ws-form-item>
            <!--霉变粒（%）<=-->
            <ws-form-item
              label="霉变粒（%）<="
              span="1"
              prop="settlementMethod"
            >
              <ws-input
                v-model="deptBudgetList.settlementMethod"
                placeholder="请输入霉变粒占比"
                maxlength="120"
                size="small"
              />
            </ws-form-item>
            <!--热损伤（%）<=-->
            <ws-form-item
              label="热损伤（%）<="
              span="1"
              prop="settlementMethod"
            >
              <ws-input
                v-model="deptBudgetList.settlementMethod"
                placeholder="请输入热损伤占比"
                maxlength="120"
                size="small"
              />
            </ws-form-item>
            <!--不完整粒（%）<=-->
            <ws-form-item
              label="不完整粒（%）<="
              span="1"
              prop="settlementMethod"
            >
              <ws-input
                v-model="deptBudgetList.settlementMethod"
                placeholder="请输入不完整粒占比"
                maxlength="120"
                size="small"
              />
            </ws-form-item>
          </ws-info-table>
        </div>

        <div style="text-align: right; padding: 10px">
          <el-button
            class="bg-bottom-up"
            type="primary"
            size="small"
            @click="returnWarehouse()"
            >暂存</el-button
          >
          <el-button
            class="bg-bottom-up"
            type="primary"
            size="small"
            @click="submit()"
            >提交</el-button
          >
        </div>
      </ws-form>
    </div>
  </div>
</template>
<script>
import { pullDown, addstorageputList } from '@/model/warehouse/index'
import { downloadFile } from '@/utils/batchDown'
import Pagination from '@/components/Pagination'
import WsUpload from '@/components/WsUpload'
// import { dayjs, fmoney, EventBus } from 'base-core-lib'
import { dayjs, EventBus } from 'base-core-lib'
export default {
  name: 'viewSpareMoney',
  components: {
    WsUpload,
    Pagination,
  },
  watch: {
    vesselId(val) {
      this.getList()
    },
    isShow(val) {
      this.showType = val
    },
  },
  data() {
    return {
      //弹出框
      dialogViewSpareMoney: false,
      dialogApproveFormVisible: false,
      // 船舶类型
      monetaryKey: null,
      // 表格显示数据
      tableDate: [],
      // 是否显示
      showType: true,
      // 年
      year: '',
      deptBudgetTotal: 0,
      currentPage: 1,
      pageSize: 10,
      searchType: 1,
      searchKeyWord: '',
      contractType: 2,
      startDate: null,
      endDate: null,
      goodnameList: {},
      // 提交类型
      submitType: true,
      selectpackingMethod: {},

      appendixIdsAdd: {},
      uploadSuccess: {},
      onChange: {},

      size: 10,
      compId: sessionStorage.getItem('ws-pf_compId'),
      deptCircularPage: {},
      packtypeList: {},
      date: {
        year: dayjs().format('YYYY'),
        month: dayjs().format('MM'),
      },
      contractList: [],
      deptBudgetList: {},
      historyList: [],

      pickerBeginDateBefore: {
        disabledDate: (time) => {
          return time.getTime() > Date.now()
        },
      },
      accessoryTFs: false,
    }
  },
  activated() {
    //cg.viewBudget
    //cg.viewSpareMoney
    // this.getVesselData();
    // this.getList()
    this.showType = this.isShow
  },
  mounted(){
    this.getList()
  },
  methods: {
    //返回按钮
    returnNoComplete() {
      this.$router.push({ path: 'warehouseManagementNoComplete' })
    },
    //提交按钮
    submit() {
     this.$refs.deptBudgetList.validate((valid) => {
        if (valid) {
          this.deptBudgetList.compId = sessionStorage.getItem('ws-pf_compId')
          this.deptBudgetList.inOutFlag = 1
          addstorageputList(this.deptBudgetList)
            .toPromise()
            .then((response) => {
              this.$message.success('添加成功')
              this.$router.push({ path: 'warehouseManagementList' })
            })
        } else {
          EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
          return false
        }
      })
    },
    //暂存按钮
    returnWarehouse() {
       this.$refs.deptBudgetList.validate((valid) => {
        if (valid) {
          this.deptBudgetList.compId = sessionStorage.getItem('ws-pf_compId')
          this.deptBudgetList.statusFlag = 1
          addstorageputList(this.deptBudgetList)
            .toPromise()
            .then((response) => {
              this.$message.success('暂存成功')
              this.$router.push({ path: 'warehouseManagementNoComplete' })
            })
        } else {
          EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
          return false
        }
      })
    },
    dateFormat(fmt, date) {
      let ret
      const opt = {
        'Y+': date.getFullYear().toString(), // 年
        'm+': (date.getMonth() + 1).toString(), // 月
        'd+': date.getDate().toString(), // 日
        'H+': date.getHours().toString(), // 时
        // "M+": date.getMinutes().toString(),         // 分
        // "S+": date.getSeconds().toString()          // 秒
        // 有其他格式化字符需求可以继续添加，必须转化成字符串
      }
      for (let k in opt) {
        ret = new RegExp('(' + k + ')').exec(fmt)
        if (ret) {
          fmt = fmt.replace(
            ret[1],
            ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
          )
        }
      }
      return fmt
    },
    handleClose() {
      this.accessoryTFs = false
    },
    handleSizeChange(val) {
      console.log(`每页 ${val} 条`)
      this.pageSize = val
      this.getList()
    },
    handleCurrentChange(val) {
      this.currentPage = val
      console.log(`当前页: ${val}`)
      this.getList()
    },
    getList() {
     // 货名
      pullDown({ constId: 'CON2' })
        .toPromise()
        .then((response) => {
          this.goodnameList = response
        })
      // 品级
      pullDown({ constId: 'CON3' })
        .toPromise()
        .then((response) => {
          this.gradeList = response
        })
      // 类型
      pullDown({ constId: 'CON5' })
        .toPromise()
        .then((response) => {
          this.storageType = response
        })
    
    },
    selecttaskType(e) {
      for (var i = 0; i < this.taskTypeList.length; i++) {
        if (this.taskTypeList[i].value == e) {
          this.searchType = this.taskTypeList[i].type
        }
      }
    },
    fujian(row) {
      if (
        row.receiveAttachmentPath === null ||
        row.receiveAttachmentPath === ''
      ) {
        EventBus.$emit(
          'warning',
          this.$t('system.noticeCircular.NoInformation')
        )
      } else {
        this.accessoryTFs = true
      }
      this.appendixIdss = row.receiveAttachmentPath
    },
    handleExamine(row) {
      this.$router.push({
        name: 'salesContractExamine',
        query: { id: row.id },
      })
    },

    // 关闭 dialog时 处理文件url 初始化upload组件
    handleCloe() {
      this.dialogViewSpareMoney = false
    },
    history(row) {
      console.log(row)
      billoperatehis({ id: row.id })
        .toPromise()
        .then((response) => {
          this.historyList = response
        })
    },
    find() {
      this.startDate = this.dateFormat('YYYY-mm-dd', this.value2[0])
      this.endDate = this.dateFormat('YYYY-mm-dd', this.value2[1])
      this.currentPage = 1
      this.getList()
    },
    async exportlist() {
      const { data } = await export1(
        {
          compId: sessionStorage.getItem('ws-pf_compId'),
          contractType: this.contractType,
          currentPage: this.currentPage,
          pageSize: this.pageSize,
          searchType: this.searchType,
          searchKeyWord: this.searchKeyWord,
          startDate: this.startDate,
          endDate: this.endDate,
        },
        {},
        { responseType: 'blob' }
      ).toPromise()
      downloadFile({
        res: data,
        fileName: `${
          this.date.year + (this.date.month ? `-${this.date.month}` : '')
        }_采购合同`,
        type: 'xls',
      })
    },
    // deletecontract(){},
    //删除
    approve() {},
    listQuery() {},
    total() {},
    clearfiltQuery() {},
    selectCrtDuty() {},
  },
}
</script>
<style lang="scss" scoped>
.center {
  position: relative;
  top: 50px;
  width: 40%;
  height: 2000px;
  margin: 0 auto;
}
/deep/.el-form-item__label {
  width: 160px;
}
/deep/.el-input--small {
  width: 70%;
}
.container .bg-bottom {
  position: absolute;
  float: right;
  top: 15px;
  right: 20px;
}
//选填
/deep/.el-form-item {
  width: 50%;
}
.container {
  overflow: scroll;
  height: 120vh;
}
/deep/.ws-info-table[data-v-850a44a6] .el-form-item .el-form-item__label {
  text-align: center;
}
.deliverydate {
  width: 35%;
}
.center[data-v-32a9842f] {
  margin-top: -60px;
}
</style>
