123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373 |
- <template>
- <div id="expendMx">
- <div v-if="isList">
- <el-card
- v-loading="loading"
- style="position: relative;"
- >
- <el-form class="search_area" label-width="auto">
- <el-row :gutter="10">
- <el-col :span="1.5">
- <el-form-item label="编码">
- <el-input
- v-model.trim="params.code"
- size="mini"
- clearable
- style="width: 200px"
- />
- </el-form-item>
- </el-col>
- <el-col :span="1.5">
- <el-form-item label="医院名称">
- <el-input
- v-model.trim="params.custName"
- size="mini"
- clearable
- style="width: 200px"
- />
- </el-form-item>
- </el-col>
- <el-col :span="1.5">
- <el-form-item label="医院编码">
- <el-input
- v-model.trim="params.custCode"
- size="mini"
- clearable
- style="width: 200px"
- />
- </el-form-item>
- </el-col>
- <el-col :span="1.5">
- <el-form-item label="供应商名称">
- <el-input
- v-model.trim="params.supplierName"
- size="mini"
- clearable
- style="width: 200px"
- />
- </el-form-item>
- </el-col>
- <el-col :span="1.5">
- <el-form-item label="供应商编码">
- <el-input
- v-model.trim="params.supplierCode"
- size="mini"
- clearable
- style="width: 200px"
- />
- </el-form-item>
- </el-col>
- <el-col :span="1.5">
- <el-form-item label="结算开始日期">
- <el-date-picker
- v-model="params.startDate"
- clearable
- type="date"
- value-format="yyyy-MM-dd"
- size="mini"
- style="width: 200px"
- >
- </el-date-picker>
- </el-form-item>
- </el-col>
- <el-col :span="1.5">
- <el-form-item label="结算截止日期">
- <el-date-picker
- v-model="params.endDate"
- clearable
- type="date"
- value-format="yyyy-MM-dd"
- size="mini"
- style="width: 200px"
- ></el-date-picker>
- </el-form-item>
- </el-col>
- <el-col :span="1.5">
- <el-form-item label="结算单号">
- <el-input
- v-model.trim="params.settleNo"
- size="mini"
- clearable
- style="width: 200px"
- />
- </el-form-item>
- </el-col>
- <el-col :span="1.5">
- <el-form-item label="是否汇总">
- <el-select style="width: 200px" size="mini" clearable v-model="params.isSum" placeholder="请选择">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="1.5">
- <el-form-item label="汇总单据号">
- <el-input
- v-model.trim="params.sumCode"
- size="mini"
- clearable
- style="width: 200px"
- />
- </el-form-item>
- </el-col>
- <el-col :span="1.5">
- <el-form-item label="是否带量">
- <el-select style="width: 200px" size="mini" clearable v-model="params.isWhether" placeholder="请选择">
- <el-option
- v-for="item in options1"
- :key="item.value"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="1.5">
- <el-form-item label-width="80px">
- <el-button type="primary" size="mini" icon="el-icon-search" @click="searchList">搜索</el-button>
- <el-button size="mini" plain icon="el-icon-refresh" @click="resetList">重置</el-button>
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
- <div class="btn_grooup">
- <!-- <el-button type="primary" size="mini" @click="submits">提交</el-button> -->
- <el-button type="primary" size="mini" @click="pulldata">下拉数据</el-button>
- <el-button type="primary" size="mini" @click="huizong">汇总</el-button>
- </div>
- <el-super-ux-table
- id="data-table"
- v-model="tableData"
- index
- checkbox
- :size="size"
- :dict="dict"
- :page="pageInfo"
- :height=500
- :columns="TableColumns"
- pagination
- convenitentOperation
- storage-key="expendMxList"
- @row-dblclick="useSee"
- @row-select="useSelect"
- @selection-change="handleSelectionChange"
- @row-click="rowSelect"
- @pagination="useQuery(params, pageInfo)"
- ref="tables"
- >
- <ux-table-column
- fixed="right"
- title="操作"
- align="center"
- width="100"
- >
- <template slot-scope="scope">
- <!-- <el-button type="text" size="mini" v-if="scope.row.status == '1' && scope.row.flowId" @click="reback(scope.row)">收回</el-button> -->
- <el-button type="text" size="mini" @click="check(scope.row)">查看</el-button>
- <el-button type="text" size="mini" @click="edit(scope.row)">编辑</el-button>
- </template>
- </ux-table-column>
- </el-super-ux-table>
- </el-card>
- </div>
- <Add v-model="isList" v-if="!isList" :pageStu="page" :disable="disable" :row="rowDetail" @refresh="searchList"/>
- </div>
- </template>
- <script>
- import { mxList, pullMx, huizongMX, exportMx } from '@/api/expend/expendMx.js'
- export default {
- dicts: ['sys_status', 'sys_number_yes_no', 'carry_or_not'],
- components: {
- Add: () => import("./expendMxDetail.vue"),
- ElSuperUxTable: () => import("@/components/super-ux-table/index.vue"),
- },
- data() {
- return {
- // 页面配置
- isList: true,
- // 页面状态
- page: '',
- disable: false,
- rowDetail: {},
- size: "mini",
- loading: false,
- options: [{value: '0', label: '是'}, {value: '2', label: '否'}],
- options1: [{value: '0', label: '否'}, {value: '1', label: '是'}],
- params: {
- code: '',
- custName: '',
- custCode: '',
- supplierName: '',
- supplierCode: '',
- startDate: '',
- endDate: '',
- settleNo: '',
- isSum: '',
- sumCode: '',
- isWhether: ''
- },
- pageInfo: {
- pageNum: 1,
- pageSize: 20,
- total: 0
- },
- tableData: [],
- selectData: [],
- // SearchColumns: SearchColumns,
- TableColumns: [
- { item: { key: "code", title: "编码"}, attr: {} },
- { item: { key: "verifyState", title: "单据状态"}, attr: {
- is: "el-dict-tag",
- dictName: "sys_status",
- }
- },
- { item: { key: "serviceFee", title: "服务费合计" }, attr: {} },
- { item: { key: "custName", title: "医院名称" }, attr: {} },
- { item: { key: "custCode", title: "医院编码" }, attr: {} },
- { item: { key: "supplierCode", title: "供应商编码" }, attr: {} },
- { item: { key: "supplierName", title: "供应商名称" }, attr: {} },
- { item: { key: "isSum", title: "是否汇总" }, attr: {
- is: 'el-dict-tag',
- dictName: "sys_number_yes_no",
- } },
- { item: { key: "sumCode", title: "汇总单据号"}, attr: {} },
- { item: { key: "isWhether", title: "是否带量" }, attr: {
- is: 'el-dict-tag',
- dictName: "carry_or_not",
- } },
- { item: { key: "settleNo", title: "结算单号"}, attr: {} },
- { item: { key: "startDate", title: "结算开始日期" }, attr: {} },
- { item: { key: "endDate", title: "结算截止日期" }, attr: {} },
- { item: { key: "totalAmount", title: "合计金额" }, attr: {} },
- { item: { key: "remark", title: "备注"}, attr: {} },
- ].map(({ item, attr }) => ({
- attr,
- item: {
- ...item,
- sortabled: true,
- fixedabled: true,
- filterabled: true,
- hiddenabled: true,
- },
- })),
- ids: []
- }
- },
- created() {
- this.useQuery(this.params, this.pageInfo)
- },
- methods: {
- searchList() {
- this.useQuery(this.params, this.pageInfo)
- },
- resetList() {
- this.params = {
- code: '',
- custName: '',
- custCode: '',
- supplierName: '',
- supplierCode: '',
- startDate: '',
- endDate: '',
- settleNo: '',
- sumCode:''
- }
- this.useQuery(this.params, this.pageInfo)
- },
- useSee() {},
- useSelect() {},
- handleSelectionChange(selection) {
- console.log('选中', selection)
- // this.ids = selection.map(item => item.id)
- // console.log('选中数组', this.ids)
- this.ids = selection
- },
- rowSelect(row) {
- this.$refs.tables.toggleRowSelection([{row: row}]);
- },
- async useQuery(prop, page) {
- let params = {...prop, ...page}
- await mxList(params).then(res => {
- if( res.code === 200 ) {
- this.tableData = res.rows
- this.pageInfo.total = res.total
- }
- })
- },
- submits() {
- this.isList = false
- this.page = 'add'
- this.disable = false
- },
- pulldata() {
- this.$modal.loading("正在下拉数据,请稍后...");
- pullMx().then(res => {
- if(res.code === 200) {
- this.$modal.closeLoading();
- this.$modal.notifySuccess(res.msg);
- this.useQuery(this.params, this.pageInfo)
- }
- }).catch(err => {
- this.$modal.closeLoading();
- })
- },
- huizong() {
- console.log('ids', this.ids);
- if (this.ids.length <= 0) {
- this.$modal.notifyWarning("至少勾选一条数据");
- } else {
- let map = {
- ids: this.ids.map(s => s.id)
- }
- this.download('/pu/doc/pullToCcd', {...map}, `汇总明细_${new Date().getTime()}.xlsx`)
- }
- },
- check(row) {
- this.isList = false
- this.page = 'check'
- this.rowDetail = row
- this.disable = true
- },
- edit(row) {
- this.isList = false
- this.page = 'edit'
- this.rowDetail = row
- this.disable = false
- },
- }
- }
- </script>
- <style lang="scss" scoped>
- #expendMx {
- padding: 12px;
- box-sizing: border-box;
- overflow-y: scroll;
- }
- .btn_grooup {
- margin-bottom: 10px;
- display: flex;
- justify-content: flex-end;
- }
- </style>
|