qinxianzhangyao
2023-12-11 83e6634922b704750575d3dbf6275edb0fae4cbb
src/views/reservation/reservations/index.vue
@@ -67,7 +67,11 @@
          <span>{{ parseTime(scope.row.reservationTime, "{y}-{m}-{d}") }}</span>
        </template>
      </el-table-column>
      <el-table-column label="体检类型" align="center" prop="tjType" width="80px" :show-overflow-tooltip="true" />
      <el-table-column label="体检类型" align="center" prop="tjType" width="80px" :show-overflow-tooltip="true">
        <template slot-scope="scope">
          <dict-tag :options="dict.type.dict_team" :value="scope.row.tjType" />
        </template>
      </el-table-column>
      <el-table-column label="婚姻" align="center" prop="marriage" width="60px" :show-overflow-tooltip="true">
        <template slot-scope="scope">
          <dict-tag :options="dict.type.dict_user_marry" :value="scope.row.marriage" />
@@ -161,10 +165,10 @@
                <el-input v-model="formIn.address" placeholder="请输入现居住地址" style="width: 410px" />
              </el-form-item>
              <el-form-item label="体检类别" prop="tjCategory">
                <el-select style="width: 150px" v-model="formIn.tjCategory" placeholder="请选择体检类别">
                  <el-option v-for="dict in dict.type.dict_tjtype" :key="dict.value" :label="dict.label"
                    :value="dict.value"></el-option>
                </el-select>
                <el-select style="width: 140px" v-model="formIn.tjCategory" placeholder="请选择体检类别">
            <el-option v-for="dict in dict.type.dict_tjtype" :key="dict.value" :label="dict.label"
              :value="dict.value"></el-option>
          </el-select>
              </el-form-item>
              <el-form-item label="部门" prop="department">
                <el-input v-model="formIn.department" placeholder="请输入部门" style="width: 160px" />
@@ -241,9 +245,12 @@
              <el-tab-pane label="单项">
                <div class="tab3">
                  <div class="tab2">
                    <el-tree :data="data" show-checkbox node-key="proId" :props="defaultProps"
                      @check-change="handleCurrentChecked">
                    </el-tree>
                    <v-tree-transfer :treeData="treedataList"
                      :defaultProps="{ children: 'tjProjectList', label: 'proName' }" :defaultKeys="defaultKeys"
                      @changeKeys="changeCategoryKeys" :key="datekey"></v-tree-transfer>
                    <!-- <el-tree :data="data" show-checkbox node-key="proId" :props="defaultProps"
                      @check-change="handleCurrentChecked">
                    </el-tree>-->
                  </div>
                </div>
              </el-tab-pane>
@@ -341,7 +348,7 @@
                          </el-table-column>
                          <el-table-column prop="nowPrice" label="实收金额">
                          </el-table-column>
                          <el-table-column prop="isEat" label="空腹">
                          <el-table-column prop="proCheckMethod" label="空腹">
                          </el-table-column>
                        </el-table>
@@ -361,7 +368,7 @@
                          </el-table-column>
                          <el-table-column prop="nowPrice" label="实收金额">
                          </el-table-column>
                          <el-table-column prop="isEat" label="空腹">
                          <el-table-column prop="proCheckMethod" label="空腹">
                          </el-table-column>
                        </el-table>
@@ -515,7 +522,7 @@
              <el-form-item label="卡号" prop="indexCard">
                <el-input v-model="formIn.indexCard" placeholder="请输入卡号" style="width: 190px" />
              </el-form-item>
              <el-button type="primary" @click="taocan = true" size="mini">选择套餐</el-button>
              <el-button type="primary" @click="Package" size="mini">选择套餐</el-button>
            </el-form>
          </div>
@@ -539,6 +546,7 @@
                      <template slot="empty">数据正在加载中</template>
                      <el-table-column type="selection" width="40px" align="center" label="选择" />
                      <el-table-column label="套餐名称" align="center" prop="pacName" width="120px" />
                      <el-table-column label="套餐价格" align="center" prop="price" width="120px" />
                      <el-table-column label="套餐明细" align="center" prop="allProName" :show-overflow-tooltip="true" />
                    </el-table>
                  </div>
@@ -659,7 +667,7 @@
                          </el-table-column>
                          <el-table-column prop="nowPrice" label="实收金额">
                          </el-table-column>
                          <el-table-column prop="isEat" label="空腹">
                          <el-table-column prop="proCheckMethod" label="空腹">
                          </el-table-column>
                        </el-table>
@@ -682,7 +690,7 @@
                          </el-table-column>
                          <el-table-column prop="nowPrice" label="实收金额">
                          </el-table-column>
                          <el-table-column prop="isEat" label="空腹">
                          <el-table-column prop="proCheckMethod" label="空腹">
                          </el-table-column>
                        </el-table>
@@ -702,7 +710,7 @@
                          </el-table-column>
                          <el-table-column prop="nowPrice" label="实收金额">
                          </el-table-column>
                          <el-table-column prop="isEat" label="空腹">
                          <el-table-column prop="proCheckMethod" label="空腹">
                          </el-table-column>
                        </el-table>
@@ -726,12 +734,16 @@
</template>
<script>
import { listReservation, gettjCancel, tjReappoint, tjCancelTj, } from "@/api/reservation/reservation";
import { listReservation, gettjCancel, tjReappoint, tjCancelTj, getReservation } from "@/api/reservation/reservation";
import printJS from "print-js";
import { deptTreeSelect, projectGetList, getPackageListName, getaddtTransition, getTransitionList, } from "@/api/system/tijian";
import { getCompany, queryCompany } from "@/api/team/tuanti";
import user from "@/store/modules/user";
import VTreeTransfer from '../../system/tijian/TreeTransfer.vue'
export default {
  components: {
    VTreeTransfer
  },
  name: "Reservation",
  dicts: ["dict_user_national", "dict_user_national", "dict_user_marry", "sys_yes_no",
    "sys_user_sex", "dict_team", "tj_time_region", "dict_tjtype", "dict_job",
@@ -750,6 +762,7 @@
        },
      },
      taocan: false,
      defaultKeys: [],
      value1: "",
      pacName: "",
      hides: false,
@@ -769,6 +782,8 @@
      thisCancas: null,
      thisContext: null,
      thisVideo: null,
      datekey: Date.now(),
      treedataList: [],
      list: [],
      activeName: "1",
      // 遮罩层
@@ -861,24 +876,24 @@
      fmobj: {},
      // 表单校验
      rules: {
        cusName: [{ required: true, message: "姓名不能为空", trigger: "blur" }],
        cusName: [{ required: true, message: "", trigger: "blur" }],
        cusSex: [
          { required: true, message: "性别不能为空", trigger: "change" },
          { required: true, message: "", trigger: "change" },
        ],
        cusBrithday: [
          { required: true, message: "出生日期不能为空", trigger: "blur" },
          { required: true, message: "", trigger: "blur" },
        ],
        // cusAddr: [
        //   { required: true, message: "现居住地址不能为空", trigger: "blur" },
        // ],
        cusPhone: [
          { required: true, message: "联系电话不能为空", trigger: "blur" },
          { required: true, message: "", trigger: "blur" },
        ],
        reservationTime: [
          { required: true, message: "预约日期不能为空", trigger: "change" },
          { required: true, message: "", trigger: "change" },
        ],
        timeRegion: [
          { required: true, message: "时间不能为空", trigger: "blur" },
          { required: true, message: "", trigger: "blur" },
        ],
      },
      options: [
@@ -932,21 +947,21 @@
        name: [
          {
            required: true,
            message: "姓名不能为空",
            message: "",
            trigger: "blur",
          },
        ],
        idCard: [
          {
            required: true,
            message: "身份证号不能为空",
            message: "",
            trigger: "blur",
          },
        ],
        phoe: [
          {
            required: true,
            message: "联系电话不能为空",
            message: "",
            trigger: "blur",
          },
        ],
@@ -972,30 +987,6 @@
        //  response.rows.forEach((item, index) =>
        // {item.newID =(this.queryParams.pageNum - 1) * this.queryParams.pageSize +index +1;
        //   });
        this.reservationList.forEach((item) => {
          if (item.tjType === "2") {
            item.tjType = "个人";
          } else {
            item.tjType = "团队";
          }
          if (item.tjCategory === "01") {
            item.tjCategory = "健康体检";
          } else if (item.tjCategory === "02") {
            item.tjCategory = "职业病体检";
          } else if (item.tjCategory === "03") {
            item.tjCategory = "公卫体检";
          } else if (item.tjCategory === "04") {
            item.tjCategory = "入职体检";
          } else if (item.tjCategory === "05") {
            item.tjCategory = "公务员体检";
          } else if (item.tjCategory === "06") {
            item.tjCategory = "医保体检";
          } else if (item.tjCategory === "07") {
            item.tjCategory = "婚检";
          } else if (item.tjCategory === "09") {
            item.tjCategory = "出入境体检";
          }
        });
        this.total = response.total;
        this.loading = false;
      });
@@ -1070,8 +1061,8 @@
    },
    // 多选框选中数据
    handleSelectionChange(selection) {
      selection.forEach(item =>{
         this.fmobj = item
      selection.forEach(item => {
        this.fmobj = item
      })
      console.log(this.fmobj)
      this.ids = selection.map((item) => item.id);
@@ -1090,6 +1081,7 @@
    handleUpdate(row) {
      this.title = "修改体检预约";
      this.formIn = row;
      this.form.tjType = this.formIn.tjType
      if (this.formIn.timeRegion === 0) {
        this.formIn.timeRegion = "8:00-9:00";
      }
@@ -1140,30 +1132,36 @@
            this.loading = false;
          });
        }
        let cusId = this.formIn.idCard;
        let id = this.formIn.id;
        this.list1 = true;
        (this.tableData1 = []),
          (this.newpacName = []),
          getTransitionList(cusId).then((response) => {
          getReservation(id).then((response) => {
            if (response.data) {
              this.tableData1 = response.data;
              if (this.tableData1.length != 0) {
                this.TotalPrice1 = 0;
                this.tableData1.forEach((item) => {
                  this.TotalPrice1 += item.nowPrice;
                  this.TotalPrice = (
                    this.TotalPrice1 *
                    (this.discount / 10)
                  ).toFixed(2);
                  if (item.pacName === null) {
                    item.pacName = "单项";
              let cusId = response.data.idCard;
              getTransitionList(cusId).then((response) => {
                if (response.data) {
                  this.tableData1 = response.data;
                  if (this.tableData1.length != 0) {
                    this.TotalPrice1 = 0;
                    this.tableData1.forEach((item) => {
                      this.TotalPrice1 += item.nowPrice;
                      this.TotalPrice = (
                        this.TotalPrice1 *
                        (this.discount / 10)
                      ).toFixed(2);
                      if (item.pacName === null) {
                        item.pacName = "单项";
                      }
                    });
                    this.list1 = false;
                    this.list3 = true;
                  } else {
                    this.list1 = true;
                  }
                });
                this.list1 = false;
                this.list3 = true;
              } else {
                this.list1 = true;
              }
                }
              })
            } else {
              this.tableData1 = [];
              this.list3 = false;
@@ -1173,13 +1171,17 @@
        /** 查询部门下拉树结构 */
        projectGetList().then((response) => {
          this.data = response.data.list;
          this.dXData = response.data;
          this.treedataList = response.data.list;
          this.dXData = response.data.list;
          return;
        });
      } else {
        this.$message.warning("已过期请重新预约");
      }
    },
    changeCategoryKeys(val) {
      this.proIds = [];
      this.proIds = val
    },
    /** 修改详细按钮操作 */
    handleUpdate1(row) {
@@ -1272,8 +1274,8 @@
      /** 查询部门下拉树结构 */
      projectGetList().then((response) => {
        this.data = response.data.list;
        this.dXData = response.data;
        this.treedataList = response.data.list;
        this.dXData = response.data.list;
        return;
      });
    },
@@ -1282,6 +1284,11 @@
    numberChange(currentValue, oldValue) {
      this.discount = currentValue;
      this.TotalPrice = (this.TotalPrice1 * (this.discount / 10)).toFixed(2);
    },
    Package() {
      this.taocan = true;
      this.datekey = Date.now()
    },
    /** 搜索操作 */
@@ -1312,9 +1319,9 @@
      this.multiple = !selection.length;
      if (selection[0]) {
        this.DataList = [];
        this.data = JSON.parse(JSON.stringify(this.dXData));
        this.treedataList = JSON.parse(JSON.stringify(this.dXData));
        selection[0].tjProjectList.forEach((selectionitem) => {
          this.data.forEach((item) => {
          this.treedataList.forEach((item) => {
            if (selectionitem.proName == item.proName) {
              item.disabled = true;
              item.tjProjectList = [];
@@ -1338,7 +1345,7 @@
          });
        });
      } else {
        this.data = JSON.parse(JSON.stringify(this.dXData));
        this.treedataList = JSON.parse(JSON.stringify(this.dXData));
        return;
      }
    },