qx
qx
昨天 6636b48aab02c10b261562abd5dcb6f2c1566a86
qx
5个文件已修改
374 ■■■■■ 已修改文件
src/api/advice/advice.js 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/system/info.js 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hosp/commonAdvice/index.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/comp/index.vue 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/info/index.vue 319 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/advice/advice.js
@@ -5,7 +5,7 @@
  return request({
    url: '/advice/advice/list',
    method: 'get',
    params:query
    params: query
  })
}
@@ -42,3 +42,15 @@
    method: 'delete'
  })
}
// 删除advice
export function delCyremove(ids) {
  return request({
    url: '/advice/advice/delCyremove',
    method: 'delete',
    params: {
      ids:ids
    }
  })
}
src/api/system/info.js
@@ -45,3 +45,15 @@
        method: 'delete'
    })
}
// 根据团队体检编号和套餐id获取结账信息
export function getTjCompPay(data) {
  return request({
    url: '/team/pay/getTjCompPay',
    method: 'get',
    params:data
  })
}
src/views/hosp/commonAdvice/index.vue
@@ -18,6 +18,9 @@
      <el-col :span="1.5">
        <el-button type="primary" size="mini" @click="proposalChange">新增</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button type="primary" size="mini" @click="handleDelete">批量删除</el-button>
      </el-col>
    </el-row>
@@ -62,7 +65,8 @@
  updateAdvice,
  addAdvice,
  getAdvice,
  delAdvice
  delAdvice,
  delCyremove
} from "@/api/advice/advice";
import {
  addCyTjAdvice,
@@ -141,6 +145,7 @@
      this.reset();
    },
    proposalChange() {
        this.reset();
      this.open = true;
    },
    // 表单重置
@@ -202,7 +207,6 @@
      const id = row.id || this.ids;
      this.kjbq = [];
      getAdvice(id).then((response) => {
        console.log(response, 55566);
        this.form = response.data;
        this.open = true;
        // this.form.deptId = this.queryParams.deptId;
@@ -210,11 +214,12 @@
      });
    },
    handleDelete(row) {
      const ids = row.id || this.ids; // 获取主键值,如果row中没有主键值,则使用this.ids
      let idss = this.ids + ''
      const ids = row.id || idss; // 获取主键值,如果row中没有主键值,则使用this.ids
      this.$modal
        .confirm(`是否确认删除"${ids}"的数据项?`)
        .then(() => {
          return delAdvice(ids); // 调用删除接口,传入主键值
          return delCyremove(ids); // 调用删除接口,传入主键值
        })
        .then(() => {
          this.getList(); // 删除成功后刷新列表
src/views/system/comp/index.vue
@@ -1626,14 +1626,14 @@
    handleGroup() {
      // 如果没有选中任何部门(即没有 selectionList),可以直接从 OnenewpacName 获取数据
      let mapList = [];
      this.OnenewpacName.forEach((item) => {
        mapList.push({
          proName: item.proName,
          proId: item.proId,
          proPrice: item.proPrice,
        });
      });
      // this.OnenewpacName.forEach((item) => {
      //   mapList.push({
      //     proName: item.proName,
      //     proId: item.proId,
      //     proPrice: item.proPrice,
      //   });
      // });
      console.log(this.groupList)
      let data = {
        groupingName: this.forms.groupingName,
        gtAge: this.forms.gtAge,
src/views/system/info/index.vue
@@ -72,7 +72,7 @@
      <el-table-column label="部门" align="center" prop="pacName" />
      <el-table-column label="预检人数" align="center" prop="count" />
      <el-table-column label="实检人数" align="center" prop="sjCount" />
        <el-table-column label="已结人数" align="center" prop="yjsrs" />
      <el-table-column label="已结人数" align="center" prop="yjsrs" />
      <el-table-column label="应收金额" align="center" prop="copeWith" />
      <el-table-column label="签约金额" align="center" prop="signingPrice">
      </el-table-column>
@@ -82,40 +82,40 @@
      <el-table-column label="预约时间" align="center" prop="createTime" :formatter="formatDate" />
    </el-table>
    <div >
    <div>
      <el-radio-group v-model="jcStatus" @change="radioChange" style="margin-left: 20px; margin-top: 20px">
        <el-radio-button label="0">已检未结账人员</el-radio-button>
        <el-radio-button label="1">未检人员</el-radio-button>
        <el-radio-button label="0">签到未结账人员</el-radio-button>
        <el-radio-button label="1">未签到人员</el-radio-button>
        <el-radio-button label="2">全部人员</el-radio-button>
      </el-radio-group>
       <el-form :inline="true" :model="formInline" class="demo-form-inline" style="margin: 12px 6px" label-width="100px">
      <el-row>
        <el-col :span="5">
          <el-form-item label="负责人" style="display: flex">
            <el-input v-model="formInline.payer" placeholder="单位负责人"></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="6">
          <el-form-item label="交易金额" style="display: flex">
            <el-input v-model="formInline.price" placeholder="金额"></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="6">
          <el-form-item label="交易类型" prop="payType" style="display: flex">
            <el-select v-model="formInline.payType" placeholder="请选择交易类型">
              <el-option v-for="dict in dict.type.dict_pay_type" :key="dict.value" :label="dict.label"
                :value="dict.value"></el-option>
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="4">
          <el-form-item style="display: flex">
            <el-button type="primary" size="mini" @click="SubmitEvent" style="margin: 0 15px">结账</el-button>
          </el-form-item>
        </el-col>
        <!-- <el-col :span="7">
      <el-form :inline="true" :model="formInline" class="demo-form-inline" style="margin: 12px 6px" label-width="100px">
        <el-row>
          <el-col :span="5">
            <el-form-item label="负责人" style="display: flex">
              <el-input v-model="formInline.payer" placeholder="单位负责人"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="6">
            <el-form-item label="交易金额" style="display: flex">
              <el-input v-model="formInline.price" placeholder="金额"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="6">
            <el-form-item label="交易类型" prop="payType" style="display: flex">
              <el-select v-model="formInline.payType" placeholder="请选择交易类型">
                <el-option v-for="dict in dict.type.dict_pay_type" :key="dict.value" :label="dict.label"
                  :value="dict.value"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="4">
            <el-form-item style="display: flex">
              <el-button type="primary" size="mini" @click="SubmitEvent" style="margin: 0 15px">结账</el-button>
            </el-form-item>
          </el-col>
          <!-- <el-col :span="7">
          <el-form-item>
            <el-button
              type="primary"
@@ -129,15 +129,15 @@
            >
          </el-form-item>
        </el-col> -->
      </el-row>
    </el-form>
        </el-row>
      </el-form>
    </div>
    <el-row :gutter="20">
       <!-- <el-form :model="queryParams1" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"
      <!-- <el-form :model="queryParams1" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"
        style="margin-top: 20px; margin-right: 22%;">
        <el-form-item label="结账时间">
          <el-date-picker clearable v-model="queryParams1.reservationTime" type="date" value-format="yyyy-MM-dd"
@@ -155,12 +155,17 @@
          <span class="tj_txt">体检人员情况表</span>
        </div>
        <el-table v-loading="loadings" :data="peopleList" border max-height="260px" @selection-change="handlepeopleListChange">
        <el-table v-loading="loadings" :data="peopleList" border max-height="260px"
          @selection-change="handlepeopleListChange">
          <el-table-column type="selection" width="55" align="center" />
          <el-table-column label="姓名" align="center" prop="name" width="100" />
          <el-table-column label="性别" align="center" prop="xb" width="80" />
          <el-table-column label="性别" align="center" prop="xb" width="80">
            <template slot-scope="scope">
              <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.xb" />
            </template>
          </el-table-column>
          <el-table-column label="电话" align="center" prop="dh" width="120" />
                    <el-table-column label="金额" align="center" prop="tjf" width="120" />
          <el-table-column label="金额" align="center" prop="tjf" width="120" />
          <el-table-column label="状态" align="center" prop="tjStatus" width="80" />
          <el-table-column label="体检时间" align="center" prop="tjTime">
@@ -174,20 +179,58 @@
        </div>
        <el-table v-loading="loading" :data="dataList" border max-height="260px">
          <el-table-column label="交易金额" align="center" prop="transactionAmount" />
          <el-table-column label="交易方式" align="center" prop="paymentMethod" />
          <el-table-column label="交易人员" align="center" prop="payer" />
          <el-table-column label="交易金额" align="center" prop="paidIn" />
          <el-table-column label="交易方式" align="center" prop="paymentMethod" width="90px">
            <template slot-scope="scope">
              <dict-tag :options="dict.type.dict_pay_type" :value="scope.row.paymentMethod" />
            </template>
          </el-table-column>
          <el-table-column label="交易人员" align="center" prop="payer" width="90px" />
          <el-table-column label="操作人员" align="center" prop="payee">
          </el-table-column>
          <el-table-column label="结账时间" align="center" prop="createTime" />
          <el-table-column label="结账时间" align="center" prop="createTime">
            <template slot-scope="scope">
              <span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span>
            </template>
          </el-table-column>
          <el-table-column label="操作" align="center">
            <template>
              <el-button type="primary">撤销结账</el-button>
            <template slot-scope="scope">
              <el-button type="text" size="mini" title="撤销" @click.stop="handleDelete(scope.row)"
                icon="el-icon-refresh-left"></el-button>
              <el-button size="mini" title="详情" type="text" @click.stop="handleClick(scope.row)"
                icon="el-icon-document-copy"></el-button>
            </template>
          </el-table-column>
        </el-table>
      </el-col>
    </el-row>
    <el-dialog title="详情" :visible.sync="dialogVisible" width="40%" append-to-body>
      <el-table id="sig" v-loading="loading" :data="dialogList" border ref="tb" max-height="260px">
        <el-table-column label="姓名" align="center" prop="name" width="100" />
        <el-table-column label="体检号" align="center" prop="tjh" width="120" />
        <el-table-column label="负责人" align="center" prop="payer" width="120" />
        <el-table-column label="金额" align="center" prop="transactionAmount" width="120" />
        <el-table-column label="交易方式" align="center" prop="paymentMethod" width="90px">
          <template slot-scope="scope">
            <dict-tag :options="dict.type.dict_pay_type" :value="scope.row.paymentMethod" />
          </template>
        </el-table-column>
        <el-table-column label="结账时间" align="center" prop="createTime">
          <template slot-scope="scope">
            <span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span>
          </template>
        </el-table-column>
      </el-table>
      <span slot="footer" class="dialog-footer">
        <el-button @click="dialogVisible = false">取 消</el-button>
        <!-- <el-button type="primary" @click="dialogVisible = false">确 定</el-button> -->
      </span>
    </el-dialog>
  </div>
</template>
@@ -204,12 +247,12 @@
  getpay,
  delInfo,
  addInfo,
  updateInfo,
  getTjCompPay,
} from "@/api/system/info";
export default {
  name: "Info",
  dicts: ["dict_pay_type"],
  dicts: ["dict_pay_type", "sys_user_sex"],
  data() {
    let checkPhoneNum = (rule, value, callback) => {
      let patter = new RegExp(/^1\s*[3456789]\s*(\d\s*){9}$/);
@@ -227,12 +270,13 @@
      jcStatus: 0,
      formInline: {
        payer: "",
        price: "",
        price: null,
      },
      // 遮罩层
      loading: true,
       // 遮罩层
      // 遮罩层
      loadings: false,
      dialogVisible: false,
      // 选中数组
      ids: [],
      // 非单个禁用
@@ -252,6 +296,7 @@
      dataList: [],
      tableList: [],
      peopleList: [],
      dialogList: [],
      // 弹出层标题
      title: "",
      CompanyList: [],
@@ -261,6 +306,7 @@
      teamNo: "",
      // 登陆人名字
      tollCollectorName: "",
      tjhs: [],
      // 查询参数
      queryParams: {
        pageNum: 1,
@@ -322,32 +368,38 @@
      this.compId = val;
    },
    radioChange(val) {
    radioChange(val) {
      this.peopleList = []
      this.loadings = true
       let data = {
          teamNo: this.teamNo,
          pacId: this.pacIds
        }
        getTeamTjPeopleList(data).then((res) => {
          if (res.data) {
            if (this.jcStatus == 0) {
              this.peopleList = res.data.yjwjzList;
            } else if (this.jcStatus == 1) {
              this.peopleList = res.data.wjList;
            } else {
              this.peopleList = res.data.syList;
            }
      let data = {
        teamNo: this.teamNo,
        pacId: this.pacIds
      }
      getTeamTjPeopleList(data).then((res) => {
        if (res.data) {
          if (this.jcStatus == 0) {
            this.peopleList = res.data.yjwjzList;
          } else if (this.jcStatus == 1) {
            this.peopleList = res.data.wjList;
          } else {
            this.peopleList = res.data.syList;
          }
           this.loadings = false
        });
        }
        this.loadings = false
      });
    },
    handlepeopleListChange(selection){
      console.log(selection)
    handlepeopleListChange(selection) {
      this.formInline.price = null
      this.tjhs = []
      selection.forEach(item => {
        this.formInline.price += item.tjf
        this.tjhs.push(item.tjh)
      })
    },
    // 体检公司拼音搜索
@@ -391,32 +443,6 @@
        } else {
          this.$refs.tb.clearSelection();
        }
        this.infoList.forEach((item) => {
          this.copeWith = item.copeWith;
          this.transactionAmount = item.transactionAmount;
          if (item.payInfo != null) {
            this.tjCompPayId = item.payInfo.tjCompPayId;
          }
          this.formInline.payer = item.payer;
          if (item.payInfoList != null) {
            this.dataList = item.payInfoList;
            this.dataList.forEach((item) => {
              if (item.paymentMethod === 0) {
                item.paymentMethod = "现金支付";
              } else if (item.paymentMethod === 1) {
                item.paymentMethod = "刷卡支付";
              } else if (item.paymentMethod === 2) {
                item.paymentMethod = "支付宝";
              } else if (item.paymentMethod === 3) {
                item.paymentMethod = "微信";
              } else if (item.paymentMethod === 4) {
                item.paymentMethod = "云闪付";
              }
            });
          }
        });
        this.loading = false;
      });
    },
@@ -448,27 +474,32 @@
        this.teamNo = item.teamNo;
        this.pacIds = item.pacId
        this.copeWith = item.copeWith;
        this.difference = item.difference;
        this.transactionAmount = item.transactionAmount;
        if (item.payInfo != null) {
          this.tjCompPayId = item.payInfo.tjCompPayId;
        }
        if (item.payInfoList != null) {
          this.dataList = item.payInfoList;
          this.dataList.forEach((item) => {
            if (item.paymentMethod === 0) {
              item.paymentMethod = "现金支付";
            } else if (item.paymentMethod === 1) {
              item.paymentMethod = "刷卡支付";
            } else if (item.paymentMethod === 2) {
              item.paymentMethod = "支付宝";
            } else if (item.paymentMethod === 3) {
              item.paymentMethod = "微信";
            } else if (item.paymentMethod === 4) {
              item.paymentMethod = "云闪付";
            }
          });
        }
        // if (item.payInfoList != null) {
        //   this.dataList = item.payInfoList;
        //   this.dataList.forEach((item) => {
        //     if (item.paymentMethod === 0) {
        //       item.paymentMethod = "现金支付";
        //     } else if (item.paymentMethod === 1) {
        //       item.paymentMethod = "刷卡支付";
        //     } else if (item.paymentMethod === 2) {
        //       item.paymentMethod = "支付宝";
        //     } else if (item.paymentMethod === 3) {
        //       item.paymentMethod = "微信";
        //     } else if (item.paymentMethod === 4) {
        //       item.paymentMethod = "云闪付";
        //     }
        //   });
        // }
      });
      this.tongyong()
    },
    tongyong() {
      this.loadings = true
      if (this.teamNo) {
        let data = {
@@ -486,7 +517,12 @@
                ;
            }
          }
           this.loadings = false
          this.loadings = false
        }).catch(error => {
          this.loadings = false
        });
        getTjCompPay(data).then((res) => {
          this.dataList = res.data
        });
      }
    },
@@ -502,14 +538,21 @@
      if (this.formInline.price != 0) {
        let data = {
          paymentMethod: this.formInline.payType,
          transactionAmount: this.formInline.price,
          copeWith: this.formInline.price,
          paidIn: this.formInline.price,
          payee: this.tollCollectorName, // 收款人
          tjCompPayId: this.tjCompPayId,
          payer: this.formInline.payer,
          tjhs: this.tjhs,
          compId: this.compId,
          pacId: this.pacIds,
          teamNo: this.teamNo,
          difference: this.difference
        };
        getpay(data).then((response) => {
          this.$modal.msgSuccess("操作成功");
          this.handleQuery();
          this.formInline.price = null
          this.handleQuery()
          const tjnumber = this.waterId;
          const viewNum = this.mobanId;
          const params = { viewNum, tjnumber };
@@ -521,26 +564,38 @@
    },
    /** 退费按钮操作 */
    handleDelete() {
      if (this.formInline.price != 0) {
        if (this.formInline.price < this.transactionAmount) {
          let data = {
            paymentMethod: this.formInline.payType,
            transactionAmount: this.formInline.price,
            payee: this.tollCollectorName, // 收款人
            tjCompPayId: this.tjCompPayId,
            payer: this.formInline.payer,
          };
          addInfo(data).then((response) => {
            this.$modal.msgSuccess("操作成功");
            this.handleQuery();
          });
        } else {
          this.$message.error("超出已付金额,退费失败");
        }
      } else {
        this.$message.error("退费金额不能为0");
    handleDelete(row) {
      this.tjhs = []
      if (row.payInfo.length != 0) {
        row.payInfo.forEach(item => {
          this.tjhs.push(item.tjh)
        })
      }
      let data = {
        paymentMethod: row.paymentMethod,
        copeWith: row.copeWith,
        paidIn: row.paidIn,
        payee: row.payee, // 收款人
        payer: row.payer,
        tjhs: this.tjhs,
        compId: row.compId,
        pacId: row.pacId,
        teamNo: row.teamNo,
        difference: row.difference,
        serialNumber: row.serialNumber,
        id: row.id
      };
      addInfo(data).then((response) => {
        this.$modal.msgSuccess("操作成功");
        this.loadings = true
        this.handleQuery()
      });
    },
    handleClick(row) {
      this.dialogVisible = true
      this.dialogList = row.payInfo
    },
    /** 导出按钮操作 */
    handleExport() { },