su
su1124
2023-12-06 ae10aec8b64ee09160879429ddcfa57963e7cf05
src/views/system/tijian/index.vue
@@ -84,7 +84,7 @@
                <el-input v-model="form.cusPhone" placeholder="请输入联系电话" :disabled="isDisabled" />
              </el-form-item>
            </el-col>
            <el-col :span="9">
              <el-form-item label="出生日期" prop="cusBrithday" style="display: flex;">
                <el-date-picker :disabled="isDisabled" clearable v-model="form.cusBrithday" type="date"
@@ -106,7 +106,7 @@
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="7">
              <el-form-item label="邮箱" prop="cusEmail" style="display: flex;">
                <el-input v-model="form.cusEmail" placeholder="请输入邮箱" :disabled="isDisabled" />
@@ -115,7 +115,7 @@
            <el-col :span="6">
              <el-form-item label="年龄  " prop="age" style="display: flex;" label-width="150px
              ">
                <el-input v-model="form.age" :disabled="isDisabled" style="padding-left: 10%;"/>
                <el-input v-model="form.age" :disabled="isDisabled" style="padding-left: 10%;" />
              </el-form-item>
            </el-col>
            <el-col :span="3">
@@ -142,7 +142,7 @@
          <el-row>
            <el-col :span="20">
              <el-form-item label="现住址" prop="cusAddr">
                <el-input v-model="form.cusAddr" style="width: 103%;" placeholder="请输入现居住地址" :disabled="isDisabled"  />
                <el-input v-model="form.cusAddr" style="width: 103%;" placeholder="请输入现居住地址" :disabled="isDisabled" />
              </el-form-item>
            </el-col>
          </el-row>
@@ -150,16 +150,35 @@
        <el-form :inline="true" ref="form" :model="form" :rules="rules" :label-position="labelPosition" label-width="98px"
          v-show="top">
          <el-row>
            <el-col :span="10">
            <el-col :span="7">
              <el-form-item label="介绍人" prop="cusIntroduce" style="display: flex;">
                <el-input  :disabled="isDisabled" v-model="form.cusIntroduce" placeholder="请输入介绍人" />
                <el-input :disabled="isDisabled" v-model="form.cusIntroduce" placeholder="请输入介绍人" />
              </el-form-item>
            </el-col>
            <el-col :span="11">
            <el-col :span="7">
              <el-form-item label="工作单位" prop="company" style="display: flex;">
                <el-input style="width: 100%;"  :disabled="isDisabled" v-model="form.company" placeholder="请输入工作单位" />
                <el-input style="width: 100%;" :disabled="isDisabled" v-model="form.company" placeholder="请输入工作单位" />
              </el-form-item>
            </el-col>
            <el-col :span="7">
               <el-button
                 v-show="lishi"
                  type="primary"
                  @click="cope"
                  size="mini"
                  >一键复制</el-button
                >
                <el-button
                  type="primary"
                  @click="inputChange"
                  v-show="lishi"
                  size="mini"
                  :disabled="confirm"
                  >历史体检记录</el-button
                >
            </el-col>
          </el-row>
        </el-form>
        <el-form :inline="true" ref="form" :model="form" :rules="rules" :label-position="labelPosition" label-width="80px"
@@ -174,31 +193,34 @@
          </el-row>
        </el-form>
      </div>
      <div class="content" v-show="showHidden.mall_hasPhoto == 'Y'">
        <div v-show="hide" style="border: 1px dashed #dcdfe6; width: 180px; height: 180px;margin-left: 5%;">
          <img v-if="imageUrl" :src="imageUrl" class="avatar" />
        </div>
        <div v-if="imgSrc" class="img_bg_camera">
          <img style="
      <div v-show="top">
        <div class="content" v-show="showHidden.mall_hasPhoto == 'Y'">
          <div v-show="hide" style="border: 1px dashed #dcdfe6; width: 180px; height: 180px;margin-left: 5%;">
            <img v-if="imageUrl" :src="imageUrl" class="avatar" />
          </div>
          <div v-if="imgSrc" class="img_bg_camera">
            <img style="
              width: 200px;
              height: 200px;
              margin-left: -20px;
              margin-top: 90px;
              padding-top: 1px;
            " :src="imgSrc" alt="" class="tx_img" />
        </div>
        <video v-show="hides" id="videoCamera" :width="videoWidth" :height="videoHeight" autoplay
          style="margin-top: 1px"></video>
        <canvas style="display: none" id="canvasCamera" :width="videoWidth" :height="videoHeight"></canvas>
        <div class="camera_outer" style="margin-top: 10px">
          <el-button type="primary" plain size="mini" @click="getCompetence()">打开摄像头</el-button>
          <el-button type="primary" plain size="mini" @click="setImage()">拍照</el-button><br />
          </div>
          <video v-show="hides" id="videoCamera" :width="videoWidth" :height="videoHeight" autoplay
            style="margin-top: 1px"></video>
          <canvas style="display: none" id="canvasCamera" :width="videoWidth" :height="videoHeight"></canvas>
          <div class="camera_outer" style="margin-top: 10px">
            <el-button type="primary" plain size="mini" @click="getCompetence()">打开摄像头</el-button>
            <el-button type="primary" plain size="mini" @click="setImage()">拍照</el-button><br />
          </div>
        </div>
      </div>
    </div>
    <el-dialog title="选择套餐" :visible.sync="taocan" width="42%" height="700px">
    <el-dialog title="选择套餐" :visible.sync="taocan" width="50%" height="700px">
      <el-tabs type="border-card" style="height: 560px; margin:0 10px; width: 100%">
        <el-tab-pane label="套餐">
          <el-form :model="queryParam" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="auto">
@@ -341,7 +363,21 @@
              <el-form-item label="实收金额">
                <el-input placeholder="实收金额" v-model="TotalPrice" style="width: 126px"></el-input>
              </el-form-item>
              <!-- 140828199805050012 -->
              <el-form-item label="领取方式">
                <!-- <el-input style="width: 100%;"  v-model="form.getType" placeholder="请选择领取方式" /> -->
                <el-select v-model="getType" style="width: 94%" @change="getmailType">
                  <el-option v-for="dict in dict.type.report_get_type" :key="dict.value" :label="dict.label"
                    :value="dict.value"></el-option>
                </el-select>
              </el-form-item>
              <el-form-item label="体检类别">
                <el-select style="width: 140px" v-model="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-input v-model="form.category" placeholder="请输入体检类别" /> -->
              </el-form-item>
              <el-form-item>
                <el-button type="primary" @click="Package" size="mini">选择套餐</el-button>
                <el-button type="primary" @click="submitPrice" :disabled="confirm" v-if="showHidden.has_charge == 'N'"
@@ -353,6 +389,24 @@
              <!-- </div> -->
            </el-form>
          </template>
          <el-dialog title="邮寄" :visible.sync="malldisble" :close-on-click-modal="false">
            <el-form :model="addAddress" :rules="rules" label-width="78px" style="margin-left: 7px">
              <el-form-item label="姓名">
                <el-input placeholder="姓名" v-model="addAddress.getUser"></el-input>
              </el-form-item>
              <el-form-item label="电话">
                <el-input placeholder="电话" v-model="addAddress.phone"></el-input>
              </el-form-item>
              <el-form-item label="地址">
                <el-input placeholder="地址" v-model="addAddress.address"></el-input>
              </el-form-item>
            </el-form>
            <div slot="footer" class="dialog-footer">
              <el-button type="primary" @click="cancell">确 定</el-button>
              <el-button @click="cancel">取 消</el-button>
            </div>
          </el-dialog>
          <div style="text-align: center; margin-bottom: 10px; ">
            已选项目列表
@@ -565,6 +619,8 @@
      </div>
    </div>
    <!-- <el-dialog
      title="拍照"
      :visible.sync="beat"
@@ -577,6 +633,53 @@
        <el-button type="primary" @click="beat = false">确 定</el-button>
      </span> -->
    <!-- </el-dialog> -->
    <el-drawer
      title="历史体检记录"
      :visible.sync="table"
      direction="rtl"
      size="50%"
    >
      <el-table :data="HistoryList" style="width: 95%; margin-left: 20px">
        <el-table-column
          property="tjNum"
          label="体检号"
          align="center"
          :show-overflow-tooltip="true"
        ></el-table-column>
        <el-table-column
          property="userName"
          label="姓名"
          align="center"
          :show-overflow-tooltip="true"
        ></el-table-column>
        <el-table-column
          property="tjTime"
          label="体检时间"
          align="center"
          :show-overflow-tooltip="true"
        ></el-table-column>
        <el-table-column
          property="tjProName"
          label="体检项目"
          align="center"
          :show-overflow-tooltip="true"
        ></el-table-column>
      </el-table>
    </el-drawer>
    <el-dialog
      title="提示"
      :visible.sync="dialogVisiblese"
      width="30%"
      :before-close="handleClose"
    >
      <span>是否复制最近一次的体检项目?</span>
      <span slot="footer" class="dialog-footer">
        <el-button @click="dialogVisiblese = false">取 消</el-button>
        <el-button type="primary" @click="dialogVisiblese = false"
          >确 定</el-button
        >
      </span>
    </el-dialog>
  </div>
</template>
@@ -596,12 +699,15 @@
  getTransitionList,
  getByTeamNo,
  getLoadFile,
  getIsRequired
  getIsRequired,
  getHistryTjOrderByCusIdCard
} from "@/api/system/tijian";
import { MessageBox } from "element-ui";
import VTreeTransfer from './TreeTransfer.vue'
export default {
  dicts: [
    "dict_tjtype",
    "report_get_type",
    "dict_user_national",
    "dict_user_marry",
    "sys_yes_no",
@@ -618,6 +724,10 @@
  },
  data() {
    return {
      dialogVisiblese:false,
      lishi: false,
      table: false,
      HistoryList: {},
      index: 0,
      dictType: [
        {
@@ -644,9 +754,11 @@
        payType: "0",
        paidIn: "0.00",
      },
      getType: "",
      hospName: "",
      currentDate: "",
      currentTime: "",
      tjCategory:"",
      formIn: {
        tjPro: "体检费"
      },
@@ -708,11 +820,13 @@
      activeName: "1",
      DataList: [],
      fData: [],
      addAddress: {},
      tjOrderList: [], //单个项目集合
      tjFlowingWater: {},
      // 搜索套餐名字
      name: "",
      isfalse: false,
      malldisble: false,
      responseList: {},
      showHidden: {},
      tjNumbers: "",
@@ -793,20 +907,20 @@
        cusSex: [
          { required: true, message: "性别不能为空", trigger: "change" },
        ],
        // cusBrithday: [
        //   { required: true, message: "出生日期不能为空", trigger: "blur" },
        // ],
        // cusAddr: [
        //   { required: true, message: "现居住地址不能为空", trigger: "blur" },
        // ],
        address: [
          { required: true, message: "地址不能为空", trigger: "blur" },
        ],
        phone: [
          { required: true, message: "手机号不能为空", trigger: "blur" },
        ],
        cusPhone: [
          { required: true, message: "联系电话不能为空", trigger: "blur" },
          { required: true, message: "联系电话不能为空", trigger: "change" },
        ],
        // cusNational: [
        //   { required: true, message: "民族不能为空", trigger: "change" },
        // ],
        cusIdcard: [
          { required: true, message: "身份证号不能为空", trigger: "blur" },
          { required: true, message: "身份证号不能为空", trigger: "change" },
        ],
      },
    };
@@ -907,10 +1021,35 @@
          this.form.cusBrithday = birthday;
          this.form.age = age;
        }
        let cusIdCard = this.form.cusIdcard;
        getHistryTjOrderByCusIdCard(cusIdCard).then((res) => {
          if (res.code == 200) {
            this.table = true;
            this.lishi = true;
            this.HistoryList = res.data;
          }
        });
      } else {
        return false;
      }
    },
    cope(){
      let cusIdCard = this.form.cusIdcard;
      getHistryTjOrderByCusIdCard(cusIdCard).then((res) => {
            if(res.data.length != 0){
              this.dialogVisiblese = true;
            }else{
              this.$message.warning('暂无历史体检记录!');
            }
        });
    },
     handleClose(done) {
        this.$confirm('确认关闭?')
          .then(_ => {
            done();
          })
          .catch(_ => {});
      },
    getCompetence() {
      var _this = this;
      _this.hide = false;
@@ -1154,6 +1293,16 @@
      });
    },
    getmailType() {
      if (this.getType == "2") {
        this.addAddress.getUser = this.form.cusName
        this.addAddress.phone = this.form.cusPhone
        this.addAddress.address = this.form.cusAddr
        this.malldisble = true
      }
    },
    // 根据身份证查询
    handleQuery() {
      this.loading = true;
@@ -1383,8 +1532,19 @@
    // 取消按钮
    cancel() {
      this.Seachopen = false;
      this.taocan = false
      this.taocan = false;
      this.malldisble = false;
      this.defaultKeys = []
    },
    cancell() {
      console.log(this.addAddress.address)
      if (this.addAddress.address) {
        this.malldisble = false;
      } else {
        this.$message.error("请填写地址");
      }
    },
    /** 搜索操作 */
@@ -1636,7 +1796,7 @@
      this.tjFlowingWater = { copeWith, paidIn, discount };
      let data;
      if (pacId) {
      if (pacId || this.getType == "2") {
        data = {
          photo: this.srcUrl,
          pacId,
@@ -1644,6 +1804,9 @@
          tjFlowingWater: this.tjFlowingWater,
          userId,
          tjType,
          getType: this.getType,
          addAddress: this.addAddress,
          tjCategory:this.tjCategory
        };
      } else {
        data = {
@@ -1652,6 +1815,8 @@
          tjFlowingWater: this.tjFlowingWater,
          userId,
          tjType,
          getType: this.getType,
          tjCategory:this.tjCategory
        };
      }
      getOrder(data).then((res) => {