lpjManage.vue 9.06 KB
<template>
  <!-- 收费查询-账单查询 -->
  <div class="white_bg burt-container custom-info">
    <!-- form -->
    <a-form-model ref="form" layout="vertical" :model="form">
      <a-row :gutter="30">
        <a-col :lg="6" :sm="12">
          <a-form-model-item label="就诊日期">
            <a-range-picker format="YYYY年MM月DD日" v-model="form.dateRange"  :placeholder="['开始日期', '结束日期']" />
          </a-form-model-item>
        </a-col>
        <a-col :lg="6" :sm="12">
          <a-form-model-item label="账单日期">
              <a-range-picker format="YYYY年MM月DD日" value-format="YYYY年MM月DD日" v-model="form.billDate" :placeholder="['选择账单开始日期', '选择账单结束日期']" />
          </a-form-model-item>
        </a-col>
        <a-col :lg="6" :sm="12">
          <a-form-model-item label="保险公司">
            <a-select v-model="form.payorCode" placeholder="请选择保险公司" showSearch allowClear optionFilterProp="label">
              <a-select-option v-for="item in companyOptions" :key="item.longName" :value="item.payorCode" :label="item.longName">
                {{ item.longName }}
              </a-select-option>
            </a-select>
          </a-form-model-item>
        </a-col>
        <a-col :lg="6" :sm="12">
          <a-form-model-item label="寄送状态">
            <a-select v-model="form.sendSts" placeholder="请选择寄送状态" allowClear>
              <a-select-option value="1">已寄送</a-select-option>
              <a-select-option value="2">未寄送</a-select-option>
            </a-select>
          </a-form-model-item>
        </a-col>
      </a-row>
      <a-row :gutter="30">
        <a-col :lg="6" :sm="12">
          <a-form-model-item label="快递公司">
            <a-select v-model="form.sendCompany" placeholder="请选择快递公司" showSearch allowClear>
              <a-select-option v-for="(item) in expressList" :key="item.id" :value="item.descCh">{{item.descCh}}</a-select-option>
            </a-select>
          </a-form-model-item>
        </a-col>
        <a-col :lg="6" :sm="12">
          <a-form-model-item label="快递单号">
            <a-input v-model="form.trackingNo" placeholder="请输入快递单号" allow-clear />
          </a-form-model-item>
        </a-col>
        <a-col :lg="6" :sm="12">
          <a-form-model-item label="寄送批号">
            <a-input v-model="form.sendBatchNo" placeholder="请输入寄送批号" allow-clear />
          </a-form-model-item>
        </a-col>
        <a-col :lg="6" :sm="12">
          <a-form-model-item label="账单编号">
            <a-input v-model="form.receiptNo" placeholder="请输入账单编号" allow-clear />
          </a-form-model-item>
        </a-col>
        <a-col :lg="6" :sm="12">
            <a-form-model-item label="病案号">
                <a-input v-model="form.mrnNo" placeholder="请输入病案号" allow-clear />
            </a-form-model-item>
        </a-col>
        <a-col :lg="6" :sm="12">
            <a-form-model-item label="客户名称">
                <a-input v-model="form.patientName" placeholder="请输入客户名称" allow-clear />
            </a-form-model-item>
        </a-col>
        <a-col :sm="24" class="none-label">
          <div class="btn-div flex">
            <span></span>
            <a-form-model-item label="button">
              <a-button class="mar-left10" type="primary" @click="handlerSearch">
                <Icon name="ssisearch_active" :size="14" />查询
              </a-button>
              <a-button class="mar-left10" type="primary" @click="handlerReset">
                <Icon name="ssireset" :size="14" />重置
              </a-button>
              <a-button class="mar-left10" type="primary" @click="addNewCharge">
                <Icon name="ssiadd" :size="14" />新建寄送</a-button>
            </a-form-model-item>
          </div>
        </a-col>
      </a-row>
    </a-form-model>

    <!-- table -->
    <a-table :columns="columns" :data-source="dataList" :scroll="{ x: true }" :pagination="false">
      <template slot="sendDate" slot-scope="text">
        {{ text? moment(text).format('YYYY-MM-DD'): '' }}
      </template>
      <template slot="sendSts" slot-scope="text">
        {{ text==1?'已寄送':'未寄送' }}
      </template>
      <template slot="operation" slot-scope="text, record, index">
        <a-button type="link" @click.stop="editEvt(record, true)">编辑</a-button>
        <a-button type="link" class="success" @click.stop="editEvt(record)">查看</a-button>
        <a-button type="link" class="danger" @click.stop="delRecord(index)">删除</a-button>
      </template>
    </a-table>
    <!--分页-->
    <BurtPagination :pagination="pagination" @pageChange="getData" />
  </div>
</template>

<script>
import BurtPagination from "@/components/CUSTOMER/pagation";
import moment from 'moment'
export default {
  data() {
    const columns = [
      { title: "寄送批号", dataIndex: "sendBatchNo", key:"sendBatchNo",align:'center', width: 136},
      { title: "保险公司", dataIndex: "payorName", width: 110 },
      { title: "寄送状态", dataIndex: "sendSts", width: 90,scopedSlots: { customRender: "sendSts" } },
      { title: "寄送日期", dataIndex: "sendDate",width: 130,scopedSlots: { customRender: "sendDate" }},
      { title: "快递单号",dataIndex: "trackingNo",width: 180,},
      { title: "寄送备注", dataIndex: "sendRemark", width: 100 },
      { title: "操作", key: "operation", width: "200px",fixed: "right",scopedSlots: { customRender: "operation" }, align: "center"},
    ];
    return {
      loading: false,
      columns,
      form: {
        dateRange: [],
        billDate:[],
        payorCode: '',
        sendBatchNo: '',
        sendCompany: '',
        trackingNo: '',
        sendSts: '',
      },
      companyOptions: [], //保险公司
      expressList: [], //快递列表
      dataList: [],
      pagination: {
        pageNum: 1,
        pageSize: 10,
        total: 0,
      },
    };
  },
  components: {
    BurtPagination,
  },
  created() {
    this.getData();
    this._getCompanyOptions();
    this.getRefcdByRefgrp();
  },
  methods: {
    moment,
    // 获取列表数据
    getData() {
      let filter = {
        pageNum: this.pagination.pageNum,
        pageSize: this.pagination.pageSize,
        ...this.form,
        visitTimeStart: this.form.dateRange[0]?moment(this.form.dateRange[0]).format('YYYY-MM-DD 00:00:00'):'',
        visitTimeEnd: this.form.dateRange[1]?moment(this.form.dateRange[1]).format('YYYY-MM-DD 00:00:00'):'',
        receiptEndDate: this.form.billDate[1] ? moment(this.form.billDate[1]).format('YYYY-MM-DD 00:00:00'):'',
				receiptStartDate: this.form.billDate[0] ? moment(this.form.billDate[0]).format('YYYY-MM-DD 00:00:00'):''
      }
      delete filter.dateRange;
      this.$apis.QUERYSENDINFOLIST(filter)
      .then((res) => {
        if (res.returnCode == "0000") {
          let content = res.content || {};
          this.pagination.total = content.total || 0;
          this.dataList = content.list || [];
        } else {
          this.$message.error(res.returnMsg);
        }
      });
    },
    // 获取保险公司下拉选项
    _getCompanyOptions() {
      this.$apis.GETCOMPANYOPTIONS().then((res) => {
        this.companyOptions = res.content || [];
      });
    },
    // 获取快递列表
    getRefcdByRefgrp() {
      this.$apis.GETREFCDBYREFGRP({
        modid: "CI",
        refgrp: "SEND_COMPANY"
      }).then((res) => {
        this.expressList = res.content || [];
      });
    },
    // 重置
    handlerReset() {
      this.form = {
        dateRange: [],
        payorCode: '',
        sendBatchNo: '',
        sendCompany: '',
        trackingNo: '',
        sendSts: '',
      }
    },
    //编辑 
    editEvt(record, isEdit) {
      const { sendBatchNo } = record;
      localStorage.setItem('jisongDataDetail', JSON.stringify(record));
      this.$router.push({
        path: "/charge-query/lpjManageDetail",
        query: { sendBatchNo, isEdit },
      });
    },
    handlerSearch() {
      this.pagination.pageNum = 1;
      this.getData();
    },
    //删除
    delRecord(index) {
      this.$modal.confirm({
        title: "删除",
        content: "确定删除该条记录?",
        okText: "确定",
        cancelText: "取消",
        onOk: () => {
          this.$apis.DELETERECEIPTSENDINFO({
              sendBatchNo: this.dataList[index].sendBatchNo,
            })
            .then((res) => {
              if (res.returnCode == "0000") {
                this.$message.success("删除成功");
                this.dataList.splice(index, 1);
              } else {
                this.$message.error(res.returnMsg);
              }
            });
        },
      });
    },
    //新建寄送
    addNewCharge(){
      this.$router.push({
        path: '/charge-query/lpjManageDetail',
        query: { isEdit: true },
      })
    }
  },
};
</script>
<style lang="less" scoped>
.none-label {
  text-align: right;
  .ant-form-item-label {
    opacity: 0;
  }
}
.ant-btn .icon-class {
  .mg-r(10);
}
.btn-div{
  justify-content: space-between;
}
</style>