| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-dialog |
| | | :title="title" |
| | | :visible.sync="open1" |
| | | width="1000px" |
| | | append-to-body |
| | | > |
| | | <el-form |
| | | ref="form1" |
| | | :model="form1" |
| | | :rules="rules1" |
| | | label-width="100px" |
| | | :inline="true" |
| | | > |
| | | <el-form-item label="单位名称" prop="cnName"> |
| | | <el-input v-model="form1.cnName" placeholder="请输入中文名称" /> |
| | | </el-form-item> |
| | | <el-form-item label="联系人" prop="contactPerson"> |
| | | <el-input v-model="form1.contactPerson" placeholder="请输入联系人" /> |
| | | </el-form-item> |
| | | <el-form-item label="联系电话" prop="contactPhone"> |
| | | <el-input v-model="form1.contactPhone" placeholder="请输入联系电话" /> |
| | | </el-form-item> |
| | | <el-form-item label="税号" prop="taxNumber"> |
| | | <el-input v-model="form1.taxNumber" placeholder="请输入税号" /> |
| | | </el-form-item> |
| | | <el-form-item label="法人" prop="legalPerson"> |
| | | <el-input v-model="form1.legalPerson" placeholder="请输入法人" /> |
| | | </el-form-item> |
| | | <el-form-item label="注册地址" prop="registerAddress"> |
| | | <el-input |
| | | v-model="form1.registerAddress" |
| | | placeholder="请输入注册地址" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="通讯地址" prop="mailingAddress"> |
| | | <el-input |
| | | v-model="form1.mailingAddress" |
| | | placeholder="请输入通讯地址" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="开户银行" prop="bankAccount"> |
| | | <el-input v-model="form1.bankAccount" placeholder="请输入开户银行" /> |
| | | </el-form-item> |
| | | <el-form-item label="银行账户" prop="countNum"> |
| | | <el-input v-model="form1.countNum" placeholder="请输入银行账户" /> |
| | | </el-form-item> |
| | | <el-form-item label="邮箱" prop="email"> |
| | | <el-input v-model="form1.email" placeholder="请输入邮箱" /> |
| | | </el-form-item> |
| | | <el-form-item label="负责人" prop="principal"> |
| | | <el-input v-model="form1.principal" placeholder="请输入负责人" /> |
| | | </el-form-item> |
| | | <el-form-item label="网址" prop="url"> |
| | | <el-input v-model="form1.url" placeholder="请输入网址" /> |
| | | </el-form-item> |
| | | <el-form-item label="传真" prop="faxNumber"> |
| | | <el-input v-model="form1.faxNumber" placeholder="请输入传真" /> |
| | | </el-form-item> |
| | | <el-form-item label="行政区划名称" prop="areaName"> |
| | | <el-input v-model="form1.areaName" placeholder="请输入行政区划名称" /> |
| | | </el-form-item> |
| | | <el-form-item label="排序" prop="orderNum"> |
| | | <el-input v-model="form1.orderNum" placeholder="请输入排序" /> |
| | | </el-form-item> |
| | | <el-form-item label="有效时间" prop="validTime"> |
| | | <el-date-picker |
| | | clearable |
| | | v-model="form1.validTime" |
| | | type="date" |
| | | value-format="yyyy-MM-dd" |
| | | placeholder="请选择有效时间" |
| | | > |
| | | </el-date-picker> </el-form-item |
| | | ><br /> |
| | | <el-form-item label="备注" prop="remark"> |
| | | <el-input |
| | | v-model="form1.remark" |
| | | type="textarea" |
| | | placeholder="请输入内容" |
| | | :rows="2" |
| | | label-width="400px" |
| | | style="width: 830px" |
| | | resize="none" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer2"> |
| | | <el-button type="primary" @click="submitFormS">确 定</el-button> |
| | | <el-button @click="cancel1">取 消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <el-row> |
| | | <el-col :span="18"> |
| | | <div> |
| | |
| | | }, |
| | | ]" |
| | | > |
| | | <el-input v-model="form.cusName" placeholder="请输入姓名" style="width: 99%;"/> |
| | | <el-input |
| | | @input="form.cusName = $event.replace(/\s/g, '')" |
| | | v-model="form.cusName" |
| | | placeholder="请输入姓名" |
| | | style="width: 99%" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="性别" prop="cusSex"> |
| | | <el-select |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="证件类型" prop="idType"> |
| | | <el-select v-model="form.idType" placeholder="请选择证件类型" style="width: 93%;"> |
| | | <el-select |
| | | v-model="form.idType" |
| | | placeholder="请选择证件类型" |
| | | style="width: 93%" |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.dict_user_cardtype" |
| | | :key="dict.value" |
| | |
| | | :rules="rules" |
| | | label-width="106px" |
| | | > |
| | | <el-form-item |
| | | <el-form-item |
| | | label="电话" |
| | | prop="cusPhone" |
| | | :rules="[ |
| | |
| | | }, |
| | | ]" |
| | | > |
| | | <el-input v-model="form.cusPhone" placeholder="请输入电话" /> |
| | | <el-input |
| | | v-model="form.cusPhone" |
| | | placeholder="请输入电话" |
| | | @input="form.cusPhone = $event.replace(/\s/g, '')" |
| | | /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="婚姻" prop="cusMarryStatus" > |
| | | |
| | | <el-form-item label="婚姻" prop="cusMarryStatus"> |
| | | <el-select |
| | | v-model="form.cusMarryStatus" |
| | | placeholder="请选择婚姻状况" |
| | |
| | | <el-input |
| | | v-model="form.cusIdcard" |
| | | placeholder="请输入身份证号" |
| | | @input="inputChange" |
| | | @input="handleIdCardInput" |
| | | style="width: 190px" |
| | | /> |
| | | <!-- <i |
| | | style="font-size: 17px; margin-left: 3px" |
| | |
| | | :rules="rules" |
| | | label-width="106px" |
| | | > |
| | | <el-form-item label="邮箱" prop="cusEmail"> |
| | | <el-input v-model="form.cusEmail" placeholder="请输入邮箱" /> |
| | | <el-form-item label="邮箱" prop="cusEmail"> |
| | | <el-input |
| | | v-model="form.cusEmail" |
| | | placeholder="请输入邮箱" |
| | | @input="form.cusEmail = $event.replace(/\s/g, '')" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="民族" prop="cusNational"> |
| | | <el-form-item label="民族" prop="cusNational"> |
| | | <el-select |
| | | filterable |
| | | v-model="form.cusNational" |
| | | placeholder="请选择民族" |
| | | style="width: 93%;" |
| | | style="width: 94%" |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.dict_user_national" |
| | |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | |
| | | |
| | | |
| | | <el-form-item label="年龄" prop="age"> |
| | | <el-input |
| | |
| | | <el-select |
| | | :disabled="isDisabled" |
| | | v-model="form.ageUnit" |
| | | style="width: 20%" |
| | | style="width: 19%" |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.dict_ageunit" |
| | |
| | | label-width="106px" |
| | | > |
| | | <el-form-item label="卡号" prop="indexCard"> |
| | | <el-input v-model="form.indexCard" placeholder="请输入卡号" /> |
| | | <el-input |
| | | v-model="form.indexCard" |
| | | placeholder="请输入卡号" |
| | | @input="form.indexCard = $event.replace(/\s/g, '')" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="职业" prop="career"> |
| | | <el-select |
| | | filterable |
| | | :disabled="isDisabled" |
| | | v-model="form.career" |
| | | placeholder="请输入职业" |
| | |
| | | <el-form-item label="体检类型" prop="tjType"> |
| | | <el-select |
| | | v-model="form.tjType" |
| | | placeholder="请选择体检类型" style="width: 94%;" |
| | | placeholder="请选择体检类型" |
| | | style="width: 94%" |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.dict_team" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="parseInt(dict.value)" |
| | | :value="dict.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | |
| | | :rules="rules" |
| | | label-width="106px" |
| | | > |
| | | <el-form-item label="单位" prop="company"> |
| | | <el-input v-model="form.company" placeholder="请输入工作单位" /> |
| | | <el-form-item label="单位名称" prop="compName"> |
| | | <el-select |
| | | :disabled="isDisabled" |
| | | v-model="form.compName" |
| | | remote |
| | | default-first-option |
| | | allow-create |
| | | filterable |
| | | style="width: 200px" |
| | | placeholder="请选择单位名称" |
| | | clearable |
| | | @change="idFn1" |
| | | > |
| | | <el-option |
| | | v-for="dict in CompanyList" |
| | | :key="dict.cnName" |
| | | :label="dict.cnName" |
| | | :value="dict.cnName" |
| | | /> |
| | | </el-select> |
| | | <!-- <i class="el-icon-circle-plus-outline" @click="handleAdd1"></i> --> |
| | | </el-form-item> |
| | | <el-form-item label="体检类别" prop="category"> |
| | | <el-select v-model="form.category" placeholder="请选择体检类别" style="width: 95%;"> |
| | | <el-form-item label="体检类别" prop="category" label-width="95px"> |
| | | <el-select |
| | | v-model="form.category" |
| | | placeholder="请选择体检类别" |
| | | style="width: 94%" |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.dict_tjtype" |
| | | :key="dict.value" |
| | |
| | | <!-- <el-input v-model="form.category" placeholder="请输入体检类别" /> --> |
| | | </el-form-item> |
| | | <el-form-item label="部门" prop="department"> |
| | | <el-input v-model="form.department" placeholder="请输入部门" /> |
| | | <el-input |
| | | v-model="form.department" |
| | | placeholder="请输入部门" |
| | | style="width: 93%" |
| | | /> |
| | | </el-form-item> |
| | | |
| | | </el-form> |
| | | <el-form |
| | | style="margin: 4px 8px" |
| | |
| | | <el-form-item label="现住地址" prop="cusAddr"> |
| | | <el-input v-model="form.cusAddr" placeholder="请输入现居住地址" /> |
| | | </el-form-item> |
| | | <el-form-item label="预约时间" prop="timeRegion" > |
| | | <el-form-item label="预约时间" prop="timeRegion"> |
| | | <el-select |
| | | v-model="form.timeRegion" |
| | | placeholder="请选择预约时间" style="width: 95%;" |
| | | placeholder="请选择预约时间" |
| | | style="width: 95%" |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.tj_time_region" |
| | |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | |
| | | </el-form> |
| | | </div> |
| | | </el-col> |
| | |
| | | <el-dialog |
| | | title="选择套餐" |
| | | :visible.sync="taocan" |
| | | width="59%" |
| | | width="80%" |
| | | height="700px" |
| | | :close-on-click-modal="false" |
| | | > |
| | | <el-tabs |
| | | type="border-card" |
| | | style="height: 538px; margin: 0 10px; width: 100%" |
| | | @tab-click="handleClick" |
| | | v-model="activeNames" |
| | | v-model="activeNames" |
| | | > |
| | | <el-tab-pane label="套餐" name="first"> |
| | | <el-form |
| | |
| | | class="el-icon-d-arrow-right"></i></el-button> --> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="组合" name="third"> |
| | | <div class="tab8"> |
| | | <el-row :gutter="20" style="width: 100%"> |
| | | <el-col :span="6"> |
| | | <div |
| | | style=" |
| | | text-align: center; |
| | | margin-bottom: 10px; |
| | | margin-top: 10px; |
| | | " |
| | | > |
| | | 项目列表 |
| | | </div> |
| | | <el-input placeholder="输入关键字进行过滤" v-model="filterage"> |
| | | </el-input> |
| | | <div class="tab3"> |
| | | <el-tree |
| | | class="filter-tree" |
| | | v-loading="loading" |
| | | :data="packageList" |
| | | :props="defaultProp" |
| | | show-checkbox |
| | | node-key="id" |
| | | @check="handlepackage" |
| | | :default-checked-keys="checkedkeys" |
| | | :filter-node-method="filterpackage" |
| | | ref="treas" |
| | | :render-content="renderContents" |
| | | > |
| | | </el-tree> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <div |
| | | style=" |
| | | text-align: center; |
| | | margin-bottom: 10px; |
| | | margin-top: 10px; |
| | | " |
| | | > |
| | | 明细项目列表 |
| | | </div> |
| | | <div class="tab3"> |
| | | <el-tree |
| | | class="filter-tree" |
| | | v-loading="loading" |
| | | :data="packagedataList" |
| | | node-key="proId" |
| | | :props="defaultpackProps" |
| | | :render-content="renderContent" |
| | | > |
| | | </el-tree> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="11"> |
| | | <div class="grid-content bg-purple"> |
| | | <div |
| | | style=" |
| | | text-align: center; |
| | | margin-bottom: 10px; |
| | | margin-top: 10px; |
| | | " |
| | | > |
| | | 已选项目列表 |
| | | </div> |
| | | <el-table |
| | | :data="DataLists" |
| | | border |
| | | style="width: 100%" |
| | | height="400" |
| | | :span-method="objectspanmethod" |
| | | > |
| | | <el-table-column prop="propinName" label="检查项目"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="proName" |
| | | label="明细项目" |
| | | width="260px" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column prop="proPrice" label="原价" width="56px"> |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | label="操作" |
| | | align="center" |
| | | fixed="right" |
| | | class-name="small-padding fixed-width" |
| | | width="50px" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-delete" |
| | | @click="handleDel(scope.row)" |
| | | title="删除" |
| | | ></el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <h3 style="font-weight: 600">合计:{{ marryalls }}元</h3> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="单项" name="second"> |
| | | <div class="tab8"> |
| | | <!-- <div class="tab7"> |
| | |
| | | @check-change="handleCurrentChecked"> |
| | | </el-tree> --> |
| | | <!-- </div> --> |
| | | <el-row :gutter="20"> |
| | | <el-row :gutter="20" style="width: 100%"> |
| | | <el-col :span="6"> |
| | | <div |
| | | style=" |
| | |
| | | :default-checked-keys="checkedkey" |
| | | :filter-node-method="filterNode" |
| | | ref="tree" |
| | | :render-content="renderContent" |
| | | > |
| | | </el-tree> |
| | | </div> |
| | |
| | | show-checkbox |
| | | @check-change="handleCurrentChecked1" |
| | | :default-checked-keys="checkedListkey" |
| | | :render-content="renderContent" |
| | | > |
| | | </el-tree> |
| | | </div> |
| | |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <el-collapse v-model="activeName" accordion v-if="list1"> |
| | | |
| | | <!-- <el-collapse v-model="activeName" accordion v-if="list1"> |
| | | <div> |
| | | <el-collapse-item title="请选择项目"> |
| | | <el-table |
| | |
| | | </el-table> |
| | | </el-collapse-item> |
| | | </div> |
| | | </el-collapse> |
| | | </el-collapse> --> |
| | | <h3 style="font-weight: 600">合计:{{ marryall }}元</h3> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | <el-form |
| | | :model="form" |
| | | :inline="true" |
| | | label-width="100px" |
| | | label-width="104px" |
| | | style="margin-left: 10px" |
| | | > |
| | | <el-form-item label="应收金额" style="margin-right: 20px"> |
| | |
| | | <el-input-number style="width: 140px" v-model="discount" :precision="2" :step="0.1" :max="10" :min="1" |
| | | @change="numberChange" :disabled="isfalse"></el-input-number> |
| | | </el-form-item> --> |
| | | <el-form-item label="实收金额" > |
| | | <el-form-item label="实收金额" label-width="96px"> |
| | | <el-input |
| | | placeholder="实收金额" |
| | | v-model="TotalPrice" |
| | | disabled |
| | | style="width: 192px" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-form-item style="margin-left: 50px"> |
| | | <el-button type="primary" @click="Package" size="mini" |
| | | >选择套餐</el-button |
| | | > |
| | | <el-button |
| | | type="primary" |
| | | @click="resetpackage" |
| | | size="mini" |
| | | <el-button type="primary" @click="resetpackage" size="mini" |
| | | >重置套餐</el-button |
| | | > |
| | | <el-button |
| | |
| | | ".00元)" |
| | | }} |
| | | </template> |
| | | <el-button |
| | | type="primary" |
| | | @click="candelete(item)" |
| | | style="margin: 5px" |
| | | >删 除</el-button |
| | | > |
| | | <el-table |
| | | :data="item.list" |
| | | border |
| | |
| | | </el-row> |
| | | |
| | | <el-dialog |
| | | title="提示" |
| | | :visible.sync="cardreader" |
| | | width="30%" |
| | | :close-on-press-escape="false" |
| | | :close-on-click-modal="false" |
| | | > |
| | | <template> |
| | | <el-radio-group v-model="cardreaderradio" @input="changeradio"> |
| | | <el-radio :label="3">身份证</el-radio> |
| | | <el-radio :label="6">健康码</el-radio> |
| | | </el-radio-group> |
| | | <div style="margin-top: 10px" v-show="cardreaderradio == 6"> |
| | | <el-input |
| | | v-model="inputSSS" |
| | | ref="tableHeadFilterInp" |
| | | placeholder="请输入内容" |
| | | ></el-input> |
| | | </div> |
| | | </template> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="cardreader = false">取 消</el-button> |
| | | <el-button type="primary" @click="cardreadercopes">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | |
| | | <el-dialog |
| | | title="导检单预览" |
| | | :visible.sync="dialogVisibles" |
| | | :close-on-click-modal="false" |
| | |
| | | </span> |
| | | </el-dialog> |
| | | <historyTj :cusIdCard="form.cusIdcard" ref="historyTj"></historyTj> |
| | | <Packages ref="aaa" @add="handleChanges" /> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import printJS from "print-js"; |
| | | import { getInfo } from "@/api/login"; |
| | | import Packages from "@/components/Packages"; |
| | | import { getZhList, getlistByZhId } from "@/api/system/package"; |
| | | import { |
| | | deptTreeSelect, |
| | | projectGetList, |
| | |
| | | getProParentIdDxList, |
| | | getProSonDxList, |
| | | getaddTj, |
| | | getHistryTjOrderByCusIdCard, |
| | | getconfigKey, |
| | | getHistryTjOrderProByCusIdCard, |
| | | delTbBycusCardIdAndProId, |
| | | } from "@/api/system/tijian"; |
| | | import { MessageBox } from "element-ui"; |
| | | import VTreeTransfer from "../tijian/TreeTransfer.vue"; |
| | | import historyTj from "@/components/historyTj/index"; |
| | | import { getCompany, queryCompany } from "@/api/team/tuanti"; |
| | | export default { |
| | | components: { |
| | | VTreeTransfer, |
| | | historyTj, |
| | | Packages, |
| | | }, |
| | | dicts: [ |
| | | "dict_user_national", |
| | |
| | | // } |
| | | // }; |
| | | return { |
| | | rules1: { |
| | | cnName: [{ required: true, trigger: "blur" }], |
| | | contactPerson: [{ required: true, trigger: "blur" }], |
| | | contactPhone: [ |
| | | { |
| | | required: true, |
| | | trigger: "blur", |
| | | }, |
| | | { |
| | | pattern: /^1[3-9]\d{9}$/, |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | title: "", |
| | | open1: false, |
| | | CompanyList: [], |
| | | marryall: 0, |
| | | marryalls: 0, |
| | | filterText: "", |
| | | filterage: "", |
| | | proIdList: [], |
| | | tableDatas: [], |
| | | packageList: [], |
| | | checkedkeys: [], |
| | | // valueUrl: "ws://127.0.0.1:18890", |
| | | valueUrl: "ws://127.0.0.1:6789/websocket", |
| | | valueUrls: "ws://127.0.0.1:6789/websocket", |
| | | dialogVisiblese: false, |
| | | cardreader: false, |
| | | cardreaderradio: 3, |
| | | inputSSS: "", |
| | | lishi: false, |
| | | table: false, |
| | | HistoryList: {}, |
| | |
| | | /** 照相机弹窗模块-start */ |
| | | videoWidth: 200, |
| | | videoHeight: 200, |
| | | activeNames: 'first', |
| | | activeNames: "first", |
| | | // canvasWidth:300, |
| | | // canvasHeight:300, |
| | | imgSrc: "", |
| | |
| | | // 树状形状 |
| | | Treedata: [], |
| | | TreedataList: [], |
| | | DataLists: [], |
| | | treedataList: [], |
| | | checkedkey: [], |
| | | checkedListkey: [], |
| | | defaultProps: { |
| | | children: [], |
| | | label: "proName", |
| | | }, |
| | | packagedataList: [], |
| | | defaultpackProps: { |
| | | children: [], |
| | | label: "proName", |
| | | }, |
| | | defaultProp: { |
| | | children: [], |
| | | label: "zhmc", |
| | | }, |
| | | formPacId: "", |
| | | dXData: [], |
| | |
| | | |
| | | // 表单参数 |
| | | // 表单参数 |
| | | form1: { |
| | | company: "", |
| | | payType: "", |
| | | name: "", |
| | | phoe: "", |
| | | signingPic: "", |
| | | discount: "", |
| | | }, |
| | | form: { |
| | | cusIdcard: "", |
| | | tjType: 2, |
| | | tjType: "3", |
| | | category: "01", |
| | | cusSex: 1, |
| | | cusNational: "1", |
| | | timeRegion: "1", |
| | | cusMarryStatus: "1", |
| | | cusMarryStatus: "5", |
| | | idType: "1", |
| | | ageUnit: "0", |
| | | }, |
| | |
| | | filterText(val) { |
| | | this.$refs.tree.filter(val); |
| | | }, |
| | | filterage(val) { |
| | | this.$refs.treas.filter(val); |
| | | }, |
| | | }, |
| | | created() { |
| | | this.getCompanyList(); |
| | | |
| | | this.getList1(); |
| | | console.log(this.dict.type.dict_team, 999); |
| | | }, |
| | | methods: { |
| | | getCompanyList() { |
| | | this.loading = true; |
| | | getconfigKey("team_reservation_default_day").then((res) => { |
| | | this.queryParams.yxts = res.msg; |
| | | }); |
| | | getCompany(this.queryParam).then((response) => { |
| | | this.CompanyList = response.data; |
| | | this.total = response.total; |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | cancel1() { |
| | | this.open1 = false; |
| | | this.reset1(); |
| | | }, |
| | | submitFormS() { |
| | | this.$refs["form1"].validate((valid) => { |
| | | if (valid) { |
| | | addComp(this.form1).then((response) => { |
| | | this.$modal.msgSuccess("新增成功"); |
| | | this.open1 = false; |
| | | this.getCompanyList(); |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | reset1() { |
| | | this.form1 = { |
| | | company: "", |
| | | payType: "", |
| | | name: "", |
| | | phoe: "", |
| | | signingPic: "", |
| | | discount: "", |
| | | }; |
| | | }, |
| | | handleAdd1() { |
| | | this.reset1(); |
| | | this.open1 = true; |
| | | this.title = "添加体检单位信息维护"; |
| | | }, |
| | | idFn1(value) { |
| | | if (value) { |
| | | // 保存修改前的 dictCompId |
| | | const originalCompId = this.form.dictCompId; |
| | | |
| | | // 更新公司名称 |
| | | this.form.compName = value; |
| | | |
| | | // 遍历公司列表,根据公司名称设置对应的 drugManufacturerId |
| | | this.CompanyList.forEach((item) => { |
| | | if (item.cnName == this.form.compName) { |
| | | this.form.dictCompId = item.drugManufacturerId; |
| | | } |
| | | }); |
| | | |
| | | // 如果 dictCompId 没有变化,重置为空 |
| | | if (this.form.dictCompId === originalCompId) { |
| | | this.form.dictCompId = ""; |
| | | } |
| | | } |
| | | }, |
| | | |
| | | getRemoteData(query) { |
| | | if (query) { |
| | | let compName = query; |
| | | queryCompany(compName).then((response) => { |
| | | this.CompanyList = response.data; |
| | | this.CompanyList.forEach((item) => { |
| | | this.objs = item; |
| | | }); |
| | | }); |
| | | } |
| | | }, |
| | | handleIdCardInput(value) { |
| | | this.form.cusIdcard = value.replace(/\s/g, ""); |
| | | this.inputChange(); // 保留原有的身份证输入处理逻辑 |
| | | }, |
| | | inputChange() { |
| | | const reg = |
| | | /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/; |
| | |
| | | inputChanges() { |
| | | this.$refs.historyTj.getlist(); |
| | | }, |
| | | candelete(item) { |
| | | let data = { |
| | | cusCardId: this.form.cusIdcard, |
| | | proId: item.proPrantId, |
| | | }; |
| | | delTbBycusCardIdAndProId(data).then((res) => { |
| | | getTransitionList(this.form.cusIdcard).then((response) => { |
| | | this.tableData1 = response.data; |
| | | this.TotalPrice1 = 0; |
| | | if (this.tableData1) { |
| | | this.tableData1.forEach((item) => { |
| | | this.TotalPrice1 += item.nowPrice; |
| | | if (item.pacName === null) { |
| | | item.pacName = "单项"; |
| | | } |
| | | if (item.pacName == "单项") { |
| | | item.list.forEach((item9) => { |
| | | this.treeList.push(item9.proId); |
| | | }); |
| | | } |
| | | this.pacName = item.pacName; |
| | | }); |
| | | |
| | | const r = /^\+?[0-9][0-9]*$/; //正整数(可以0打头) |
| | | let TotalPrice = this.TotalPrice1 * (this.discount / 10); |
| | | if (r.test(TotalPrice)) { |
| | | this.TotalPrice = TotalPrice + ".00"; |
| | | } else { |
| | | this.TotalPrice = TotalPrice; |
| | | } |
| | | |
| | | this.list1 = false; |
| | | this.list3 = true; |
| | | } else { |
| | | this.list1 = true; |
| | | |
| | | this.TotalPrice = "0.00"; |
| | | } |
| | | }); |
| | | }); |
| | | }, |
| | | filterNode(value, data) { |
| | | if (!value) return true; |
| | | return data.proName.indexOf(value) !== -1; |
| | | // return data.proName.indexOf(value) !== -1; |
| | | if (data.proName.indexOf(value) !== -1) { |
| | | return data.proName.indexOf(value) !== -1; |
| | | } else { |
| | | return data.proEngName.indexOf(value) !== -1; |
| | | } |
| | | }, |
| | | |
| | | filterpackage(value, data) { |
| | | if (!value) return true; |
| | | if (data.zhmc.indexOf(value) !== -1) { |
| | | return data.zhmc.indexOf(value) !== -1; |
| | | } else { |
| | | return data.pym.indexOf(value) !== -1; |
| | | } |
| | | }, |
| | | cope() { |
| | | let cusIdCard = this.form.cusIdcard; |
| | |
| | | if (this.form.tjType == null) { |
| | | this.form.tjType = 2; |
| | | } |
| | | if (this.form.cusMarryStatus === "null") { |
| | | this.form.cusMarryStatus = "5"; |
| | | } |
| | | if (this.form.cusNational === "null") { |
| | | this.form.cusNational = "1"; |
| | | } |
| | | this.loading = false; |
| | | if (this.form) { |
| | | _this.tcShow = true; |
| | |
| | | this.$message.error("此用户不存在"); |
| | | }); |
| | | } else { |
| | | var host = "ws://127.0.0.1:5001/YckjCard"; |
| | | if (this.socket == null) { |
| | | this.socket = new WebSocket(host); |
| | | if (this.socket != null) { |
| | | alert("连接成功."); |
| | | let configKey = "getInfoFromSqlData"; |
| | | getconfigKey(configKey).then((res) => { |
| | | if (res.code == 200) { |
| | | if (res.msg == "N") { |
| | | var websocket = null; |
| | | var url = this.valueUrl; |
| | | if ("WebSocket" in window) { |
| | | websocket = new WebSocket(url); |
| | | } else if ("MozWebSocket" in window) { |
| | | websocket = new MozWebSocket(url); |
| | | } else { |
| | | // console.log("SockJS"); |
| | | } |
| | | |
| | | if (websocket == null) { |
| | | alert("创建WebSocket对象失败"); |
| | | } |
| | | |
| | | //连接发生错误的回调方法 |
| | | websocket.onerror = function () { |
| | | alert("请检查读卡器连接是否正常"); |
| | | }; |
| | | |
| | | //连接成功建立的回调方法 |
| | | websocket.onopen = function () { |
| | | this.websocket = websocket; |
| | | // 连接设备 |
| | | var jsonObj = { |
| | | type: "1", |
| | | }; |
| | | var jStr = JSON.stringify(jsonObj); |
| | | this.websocket.send(jStr); |
| | | // alert("请放身份证再点确认"); |
| | | var jsonObj = { |
| | | // name: "readCert", |
| | | }; |
| | | // var jStr = JSON.stringify(jsonObj); |
| | | // this.websocket.send(jStr); |
| | | this.dialogVisible = false; |
| | | }; |
| | | |
| | | //接收到消息的回调方法 |
| | | websocket.onmessage = (event) => { |
| | | var resultObj = eval("(" + event.data + ")"); |
| | | //resultFlag为0代表读卡成功 |
| | | |
| | | // TODO 以下代码可能是泾川使用的 |
| | | console.log(resultObj); |
| | | // this.jingChuanHandlerWebSocketResult(resultObj) |
| | | this.readCardWebSocket(resultObj); |
| | | }; |
| | | |
| | | //连接关闭的回调方法 |
| | | websocket.onclose = function () { |
| | | alert("读卡器连接关闭"); |
| | | }; |
| | | } else if (res.msg == "Y") { |
| | | this.$refs.aaa.open = true; |
| | | this.$refs.aaa.getAllList(); |
| | | this.$refs.aaa.title = "证件字典"; |
| | | } else if (res.msg == "S") { |
| | | this.cardreader = true; |
| | | _this.cardreaderradio = 3; |
| | | _this.inputSSS = ""; |
| | | // let url = window.location.protocol + "//" + window.location.host; |
| | | // console.log(url); |
| | | // axios |
| | | // .get("http://localhost:81/dev-api/readCertCardInfos") |
| | | // .then((res) => { |
| | | // console.log(res); |
| | | // }) |
| | | // .catch((err) => { |
| | | // console.log(err); |
| | | // }); |
| | | |
| | | // readCertCardInfos().then((res) => { |
| | | // _this.form.cusName = res.data.name; |
| | | // _this.form.cusSex = |
| | | // res.data.sex; |
| | | // _this.form.cusNational = res.data.mz; |
| | | // _this.form.cusBrithday = res.data.csrq; |
| | | // if (_this.form.cusBrithday) { |
| | | // _this.form.cusBrithday = _this.form.cusBrithday.replace( |
| | | // /^(\d{4})(\d{2})(\d{2})$/, |
| | | // "$1-$2-$3" |
| | | // ); |
| | | // } |
| | | // _this.form.cusAddr = res.data.addres; |
| | | // _this.form.cusIdcard = res.data.card; |
| | | // }); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | // 最新使用webSocket通信 |
| | | readCardWebSocket(resultObj) { |
| | | let _this = this; |
| | | if (resultObj.code === 200 && resultObj.data.name != null) { |
| | | //回显相关数据 |
| | | _this.form.cusName = resultObj.data.name; |
| | | _this.form.cusSex = resultObj.data.sex == "0" ? "女" : "男"; |
| | | _this.form.cusNational = resultObj.data.mz; |
| | | _this.form.cusBrithday = resultObj.data.csrq; |
| | | if (_this.form.cusBrithday) { |
| | | _this.form.cusBrithday = _this.form.cusBrithday.replace( |
| | | /^(\d{4})(\d{2})(\d{2})$/, |
| | | "$1-$2-$3" |
| | | ); |
| | | } |
| | | _this.form.cusAddr = resultObj.data.addres; |
| | | _this.form.cusIdcard = resultObj.data.card; |
| | | _this.imageUrl = "data:image/jpeg;base64," + resultObj.data.img; |
| | | if (resultObj.name == "readCert" || resultObj.name == "PushWithImg") { |
| | | this.imageUrl = "data:image/jpeg;base64," + resultObj.data.img; |
| | | } |
| | | } else { |
| | | this.$message.warning("请放置身份证后再点击读取"); |
| | | } |
| | | /* else if (resultObj.resultFlag == "-1") { |
| | | if (resultObj.errorMsg == "端口打开失败") { |
| | | //alert("读卡器未连接"); |
| | | } else { |
| | | //alert(resultObj.errorMsg); |
| | | } |
| | | } else if (resultObj.resultFlag == "-2") { |
| | | //alert(resultObj.errorMsg); |
| | | } */ |
| | | }, |
| | | // TODO 以下代码可能是泾川使用的 |
| | | jingChuanHandlerWebSocketResult(resultObj) { |
| | | let _this = this; |
| | | if ( |
| | | resultObj.name == "readCard" || |
| | | resultObj.name == "readCert" || |
| | | resultObj.name == "PushWithImg" || |
| | | resultObj.name == "PushWithOutImg" |
| | | ) { |
| | | if (resultObj.resultFlag == "0") { |
| | | //回显相关数据 |
| | | _this.form.cusName = resultObj.resultContent.partyName; |
| | | _this.form.cusSex = |
| | | resultObj.resultContent.gender == "0" ? "女" : "男"; |
| | | _this.form.cusNational = resultObj.resultContent.nation; |
| | | _this.form.cusBrithday = resultObj.resultContent.bornDay; |
| | | if (_this.form.cusBrithday) { |
| | | _this.form.cusBrithday = _this.form.cusBrithday.replace( |
| | | /^(\d{4})(\d{2})(\d{2})$/, |
| | | "$1-$2-$3" |
| | | ); |
| | | } |
| | | _this.form.cusAddr = resultObj.resultContent.certAddress; |
| | | _this.form.cusIdcard = resultObj.resultContent.certNumber; |
| | | _this.imageUrl = |
| | | "data:image/jpeg;base64," + resultObj.resultContent.identityPic; |
| | | if (resultObj.name == "readCert" || resultObj.name == "PushWithImg") { |
| | | this.imageUrl = |
| | | "data:image/jpeg;base64," + |
| | | resultObj.resultContent.identityPrintPic; |
| | | } |
| | | } else if (resultObj.resultFlag == "-1") { |
| | | if (resultObj.errorMsg == "端口打开失败") { |
| | | //alert("读卡器未连接"); |
| | | } else { |
| | | //alert(resultObj.errorMsg); |
| | | } |
| | | } else if (resultObj.resultFlag == "-2") { |
| | | //alert(resultObj.errorMsg); |
| | | } |
| | | } else if (resultObj.name == "getStatus") { |
| | | if (resultObj.resultFlag == "0") { |
| | | if (resultObj.status == "0") { |
| | | } else { |
| | | alert("设备连接已断开,请检查读卡器连接"); |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | handleChanges(param1) { |
| | | if (this.form.pacCode == "不详") { |
| | | this.form.cusIdcard = param1[0].xh; |
| | | } else { |
| | | this.form.cusIdcard = param1[0].pacCode; |
| | | } |
| | | |
| | | // this.form.cusName = param1[0].pacName; |
| | | // this.form.cusPhone = param1[0].pacRemark; |
| | | }, |
| | | |
| | | changeradio() { |
| | | if (this.cardreaderradio != 3) { |
| | | this.$nextTick(() => { |
| | | this.$refs.tableHeadFilterInp.focus(); |
| | | }); |
| | | } |
| | | }, |
| | | cardreadercopes() { |
| | | let _this = this; |
| | | |
| | | if (this.cardreaderradio == 3) { |
| | | var websocket = null; |
| | | var url = this.valueUrls; |
| | | // var url = 'ws://'+ getIp() +':6789/websocket' |
| | | if ("WebSocket" in window) { |
| | | websocket = new WebSocket(url); |
| | | } else if ("MozWebSocket" in window) { |
| | | websocket = new MozWebSocket(url); |
| | | } else { |
| | | alert("设备已打开."); |
| | | // console.log("SockJS"); |
| | | } |
| | | try { |
| | | this.socket.onmessage = function (msg) { |
| | | // if (typeof msg.data == "string") { |
| | | // var msgM = msg.data + ""; |
| | | // resultMsg("读卡返回信息:" + msg.data); |
| | | // } |
| | | // else { |
| | | // alert("连接异常,请检查驱动."); |
| | | // } |
| | | }; |
| | | } catch (ex) { |
| | | alert("连接异常,请检查驱动."); |
| | | if (websocket == null) { |
| | | alert("11111"); |
| | | } |
| | | websocket.onopen = function () { |
| | | try { |
| | | // 连接设备 |
| | | var jsonObjs = { |
| | | type: "1", |
| | | // data: {}, |
| | | }; |
| | | var jStrs = JSON.stringify(jsonObjs); |
| | | websocket.send(jStrs); |
| | | } catch (err) { |
| | | var tryTime = 0; |
| | | // 重试10次,每次之间间隔3秒 |
| | | if (tryTime < 1) { |
| | | var t1 = setTimeout(function () { |
| | | tryTime++; |
| | | var jsonObjs = { |
| | | type: 1, |
| | | data: {}, |
| | | }; |
| | | var jStrs = JSON.stringify(jsonObjs); |
| | | websocket.send(jStrs); |
| | | }, 1 * 1000); |
| | | } else { |
| | | console.error("重连失败."); |
| | | } |
| | | } |
| | | }; |
| | | websocket.onclose = function () { |
| | | alert("读卡器连接关闭"); |
| | | }; |
| | | websocket.onmessage = function (event) { |
| | | var resultObj = JSON.parse(event.data); |
| | | _this.form.cusName = resultObj.data.name; |
| | | _this.form.cusSex = resultObj.data.sex; |
| | | _this.form.cusNational = resultObj.data.mz; |
| | | _this.form.cusBrithday = resultObj.data.csrq; |
| | | if (_this.form.cusBrithday) { |
| | | _this.form.cusBrithday = _this.form.cusBrithday.replace( |
| | | /^(\d{4})(\d{2})(\d{2})$/, |
| | | "$1-$2-$3" |
| | | ); |
| | | } |
| | | _this.form.cusIdcard = resultObj.data.card; |
| | | if (_this.form.cusIdcard) { |
| | | const reg = |
| | | /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/; |
| | | if (reg.test(_this.form.cusIdcard)) { |
| | | var org_birthday = _this.form.cusIdcard.substring(6, 14); |
| | | var birthday = |
| | | org_birthday.substring(0, 4) + |
| | | "-" + |
| | | org_birthday.substring(4, 6) + |
| | | "-" + |
| | | org_birthday.substring(6, 8); |
| | | var birthdays = new Date(birthday.replace(/-/g, "-")); |
| | | let d = new Date(); |
| | | let age = |
| | | d.getFullYear() - |
| | | birthdays.getFullYear() - |
| | | (d.getMonth() < birthdays.getMonth() || |
| | | (d.getMonth() == birthdays.getMonth() && |
| | | d.getDate() < birthdays.getDate()) |
| | | ? 1 |
| | | : 0); |
| | | |
| | | _this.form.age = age; |
| | | } |
| | | } |
| | | _this.form.cusAddr = resultObj.data.addres; |
| | | |
| | | _this.cardreader = false; |
| | | }; |
| | | |
| | | //连接发生错误的回调方法 |
| | | websocket.onerror = function () { |
| | | alert("请检查读卡器连接是否正常"); |
| | | }; |
| | | } else { |
| | | // if (_this.inputSSS.indexOf(":1") != -1) { |
| | | |
| | | // var str1 = _this.inputSSS.indexOf(":1"); |
| | | // var result1 = _this.inputSSS.substring(0, str1); |
| | | |
| | | // var str2 = _this.inputSSS.indexOf(":1"); |
| | | // var result2 = _this.inputSSS.substring( |
| | | // str2 + 2, |
| | | // _this.inputSSS.length |
| | | // ); |
| | | |
| | | // _this.inputSSS = result1 + result2; |
| | | // } |
| | | _this.inputSSS = _this.inputSSS.replace(":1", ""); |
| | | var websocket = null; |
| | | var url = this.valueUrls; |
| | | // var url = 'ws://'+ getIp() +':6789/websocket' |
| | | if ("WebSocket" in window) { |
| | | websocket = new WebSocket(url); |
| | | } else if ("MozWebSocket" in window) { |
| | | websocket = new MozWebSocket(url); |
| | | } else { |
| | | // console.log("SockJS"); |
| | | } |
| | | if (websocket == null) { |
| | | alert("11111"); |
| | | } |
| | | websocket.onopen = function () { |
| | | try { |
| | | // 连接设备 |
| | | var jsonObjs = { |
| | | type: 2, |
| | | data: { |
| | | qrcode: _this.inputSSS, |
| | | }, |
| | | }; |
| | | var jStrs = JSON.stringify(jsonObjs); |
| | | websocket.send(jStrs); |
| | | } catch (err) { |
| | | var tryTime = 0; |
| | | // 重试10次,每次之间间隔3秒 |
| | | if (tryTime < 1) { |
| | | var t1 = setTimeout(function () { |
| | | tryTime++; |
| | | var jsonObjs = { |
| | | type: 2, |
| | | data: { |
| | | qrcode: _this.inputSSS, |
| | | }, |
| | | }; |
| | | var jStrs = JSON.stringify(jsonObjs); |
| | | websocket.send(jStrs); |
| | | }, 1 * 1000); |
| | | } else { |
| | | console.error("重连失败."); |
| | | } |
| | | } |
| | | }; |
| | | websocket.onclose = function () { |
| | | alert("读卡器连接关闭"); |
| | | }; |
| | | websocket.onmessage = function (event) { |
| | | var resultObj = JSON.parse(event.data); |
| | | _this.form.cusName = resultObj.data.name; |
| | | |
| | | if (resultObj.data.nation == "汉族") { |
| | | _this.form.cusNational = "1"; |
| | | } |
| | | if (resultObj.data.gender == "男") { |
| | | _this.form.cusSex = 0; |
| | | } else { |
| | | _this.form.cusSex = 1; |
| | | } |
| | | _this.form.cusBrithday = resultObj.data.birthday; |
| | | if (_this.form.cusBrithday) { |
| | | _this.form.cusBrithday = _this.form.cusBrithday.replace( |
| | | /^(\d{4})(\d{2})(\d{2})$/, |
| | | "$1-$2-$3" |
| | | ); |
| | | } |
| | | _this.form.cusPhone = resultObj.data.phone; |
| | | _this.form.cusIdcard = resultObj.data.idenno; |
| | | if (_this.form.cusIdcard) { |
| | | const reg = |
| | | /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/; |
| | | if (reg.test(_this.form.cusIdcard)) { |
| | | var org_birthday = _this.form.cusIdcard.substring(6, 14); |
| | | var birthday = |
| | | org_birthday.substring(0, 4) + |
| | | "-" + |
| | | org_birthday.substring(4, 6) + |
| | | "-" + |
| | | org_birthday.substring(6, 8); |
| | | var birthdays = new Date(birthday.replace(/-/g, "-")); |
| | | let d = new Date(); |
| | | let age = |
| | | d.getFullYear() - |
| | | birthdays.getFullYear() - |
| | | (d.getMonth() < birthdays.getMonth() || |
| | | (d.getMonth() == birthdays.getMonth() && |
| | | d.getDate() < birthdays.getDate()) |
| | | ? 1 |
| | | : 0); |
| | | |
| | | _this.form.age = age; |
| | | } |
| | | } |
| | | _this.cardreader = false; |
| | | }; |
| | | |
| | | //连接发生错误的回调方法 |
| | | websocket.onerror = function () { |
| | | alert("请检查读卡器连接是否正常"); |
| | | }; |
| | | } |
| | | }, |
| | | |
| | |
| | | // return true; |
| | | // } |
| | | // }, |
| | | resetpackage(){ |
| | | resetpackage() { |
| | | if (this.form.cusIdcard) { |
| | | var cusId = this.form.cusIdcard; |
| | | } else { |
| | | this.$message.warning("请先填写信息,再选体检内容"); |
| | | } |
| | | let _this = this; |
| | | _this.pacId = ""; |
| | | _this.pacId = ""; |
| | | this.proIds = []; |
| | | let data = { |
| | | cusId, |
| | |
| | | getTransitionList(cusId).then((response) => { |
| | | this.tableData1 = response.data; |
| | | this.TotalPrice1 = 0; |
| | | if (this.tableData1.length>=1) { |
| | | if (this.tableData1.length >= 1) { |
| | | this.list1 = false; |
| | | this.list3 = true; |
| | | } else { |
| | |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | Package() { |
| | | this.taocan = true; |
| | | this.activeNames = "first"; |
| | | let cusSex = this.form.cusSex; |
| | | this.activeNames="first" |
| | | this.datekey = Date.now(); |
| | | //全部套餐 |
| | | this.loading = true; |
| | | deptTreeSelect(cusSex).then((response) => { |
| | | this.newpacName = response.rows; |
| | | try { |
| | | this.newpacName.forEach((item3) => { |
| | | this.tableData1.forEach((item4) => { |
| | | item4.list.forEach((item6) => { |
| | | if (item6.pacName === item3.pacName) { |
| | | this.$nextTick(() => { |
| | | this.$refs.tb.toggleRowSelection(item3, true); |
| | | }); |
| | | throw Error(); |
| | | } |
| | | if (this.tableData1.length >= 1) { |
| | | this.newpacName.forEach((item3) => { |
| | | this.tableData1.forEach((item4) => { |
| | | item4.list.forEach((item6) => { |
| | | if (item6.pacName === item3.pacName) { |
| | | this.$nextTick(() => { |
| | | this.$refs.tb.toggleRowSelection(item3, true); |
| | | }); |
| | | throw Error(); |
| | | } |
| | | }); |
| | | }); |
| | | }); |
| | | }); |
| | | } |
| | | } catch (error) {} |
| | | this.loading = false; |
| | | }); |
| | | // this.getDataList(); |
| | | // this.getData(); |
| | | }, |
| | | |
| | | // 折扣 |
| | |
| | | } |
| | | }, |
| | | handleClick(tab, event) { |
| | | if (tab.label == "单项") { |
| | | if (this.activeNames == "second") { |
| | | this.DataList = []; |
| | | this.checkedkey = []; |
| | | this.getDataList(); |
| | | } else if (this.activeNames == "third") { |
| | | this.DataLists = []; |
| | | this.checkedkeys = []; |
| | | getZhList().then((response) => { |
| | | if (response.data) { |
| | | this.packageList = response.data; |
| | | // this.checkedkeys.push(this.packageList[0].id); |
| | | // let datas = { |
| | | // zhId: this.packageList[0].id, |
| | | // }; |
| | | // getlistByZhId(datas).then((res) => { |
| | | // this.packagedataList = res.data.tjProjectList; |
| | | // for (var i = 0; i < this.packagedataList.length; i++) { |
| | | // let proId = this.packagedataList[i].proId; |
| | | // getProSonDxList(proId).then((res) => { |
| | | // this.TreedataList = res.data.list; |
| | | // this.TreedataList.forEach((item) => { |
| | | // this.DataLists.push(item); |
| | | // if (this.DataLists.length >= 1) { |
| | | // this.marryalls = 0; |
| | | // this.DataLists.forEach((item1) => { |
| | | // this.marryalls += item1.proPrice; |
| | | // this.packagedataList.forEach((item3) => { |
| | | // if (item1.proParentId == item3.proId) { |
| | | // item1.propinName = item3.proName; |
| | | // } |
| | | // }); |
| | | // }); |
| | | // } |
| | | // }); |
| | | // }); |
| | | // } |
| | | // }); |
| | | } |
| | | this.loading = false; |
| | | }); |
| | | } |
| | | }, |
| | | renderContent(h, { node, data, store }) { |
| | | return ( |
| | | <span class="custom-tree-node"> |
| | | <span>{node.label}</span> |
| | | <span>({data.proPrice}元)</span> |
| | | </span> |
| | | ); |
| | | }, |
| | | renderContents(h, { node, data, store }) { |
| | | return ( |
| | | <span class="custom-tree-node"> |
| | | <span>{node.label}</span> |
| | | <span>({data.price}元)</span> |
| | | </span> |
| | | ); |
| | | }, |
| | | getDataList() { |
| | | this.loading = true; |
| | |
| | | }); |
| | | }); |
| | | } |
| | | this.checkedkey.push(this.Treedata[0].proId); |
| | | let proId = this.Treedata[0].proId; |
| | | getProSonDxList(proId).then((res) => { |
| | | this.TreedataList = res.data.list; |
| | | this.TreedataList.forEach((item) => { |
| | | this.checkedListkey.push(item.proId); |
| | | this.DataList.push(item); |
| | | this.DataList.forEach((item) => { |
| | | item.propinName = this.Treedata[0].proName; |
| | | }); |
| | | }); |
| | | this.TotalPrice1 = 0; |
| | | // if (this.DataLists.length != 0) { |
| | | // this.DataLists.forEach((selectionitem) => { |
| | | // this.Treedata.forEach((item) => { |
| | | // if (selectionitem.propinName == item.proName) { |
| | | // item.disabled = true; |
| | | // } |
| | | // }); |
| | | // }); |
| | | // } |
| | | // this.checkedkey.push(this.Treedata[0].proId); |
| | | // let proId = this.Treedata[0].proId; |
| | | // getProSonDxList(proId).then((res) => { |
| | | // this.TreedataList = res.data.list; |
| | | // this.TreedataList.forEach((item) => { |
| | | // this.checkedListkey.push(item.proId); |
| | | // this.DataList.push(item); |
| | | // this.DataList.forEach((item) => { |
| | | // item.propinName = this.Treedata[0].proName; |
| | | // }); |
| | | // }); |
| | | // this.TotalPrice1 = 0; |
| | | // this.marryall = 0; |
| | | // if (this.DataList.length != 0) { |
| | | // this.list1 = false; |
| | | // this.DataList.forEach((item) => { |
| | | // this.TotalPrice1 = item.proPrice + this.TotalPrice1; |
| | | // this.marryall += item.proPrice; |
| | | // }); |
| | | // } |
| | | // }); |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | |
| | | if (this.DataList.length != 0) { |
| | | this.list1 = false; |
| | | this.DataList.forEach((item) => { |
| | | this.TotalPrice1 = item.proPrice + this.TotalPrice1; |
| | | handlepackage(data, checked, checkedNodes) { |
| | | if (checked.checkedNodes.length != 0) { |
| | | this.$refs.treas.setCheckedKeys([data.id]); |
| | | let datas = { |
| | | zhId: data.id, |
| | | }; |
| | | getlistByZhId(datas).then((res) => { |
| | | this.packagedataList = res.data.tjProjectList; |
| | | for (var i = 0; i < this.packagedataList.length; i++) { |
| | | let proId = this.packagedataList[i].proId; |
| | | getProSonDxList(proId).then((res) => { |
| | | this.TreedataList = res.data.list; |
| | | this.TreedataList.forEach((item) => { |
| | | this.DataLists.push(item); |
| | | if (this.DataLists.length >= 1) { |
| | | this.marryalls = 0; |
| | | this.DataLists.forEach((item1) => { |
| | | this.marryalls += item1.proPrice; |
| | | this.packagedataList.forEach((item3) => { |
| | | if (item1.proParentId == item3.proId) { |
| | | item1.propinName = item3.proName; |
| | | } |
| | | }); |
| | | }); |
| | | } |
| | | }); |
| | | }); |
| | | } |
| | | }); |
| | | this.loading = false; |
| | | }); |
| | | } else if (checked.checkedNodes.length == 0) { |
| | | // for (var i = 0; i < data.tjProjectList.length; i++) { |
| | | // let proId = data.tjProjectList[i].proId; |
| | | // getProSonDxList(proId).then((res) => { |
| | | // this.TreedataList = res.data.list; |
| | | // this.TreedataList.forEach((item) => { |
| | | // this.DataLists.forEach((item1, index) => { |
| | | // if (item.proId == item1.proId) { |
| | | // this.DataLists.splice(index, 1); |
| | | // } |
| | | // }); |
| | | // }); |
| | | // this.marryalls = 0 |
| | | // if(this.DataLists.length != 0){ |
| | | // this.DataLists.forEach((item1, index) => { |
| | | // this.marryalls += item1.proPrice; |
| | | // }) |
| | | // } |
| | | // }); |
| | | // } |
| | | } |
| | | }, |
| | | |
| | | objectspanmethod({ row, column, rowIndex, columnIndex }) { |
| | | let fields = ["propinName"]; |
| | | let cellValue = row[column.property]; |
| | | if (cellValue && fields.includes(column.property)) { |
| | | let prevRow = this.DataLists[rowIndex - 1]; |
| | | let nextRow = this.DataLists[rowIndex + 1]; |
| | | if (prevRow && prevRow[column.property] === cellValue) { |
| | | return { rowspan: 0, colspan: 0 }; |
| | | } else { |
| | | let countRowspan = 1; |
| | | while (nextRow && nextRow[column.property] === cellValue) { |
| | | nextRow = this.DataLists[++countRowspan + rowIndex]; |
| | | } |
| | | |
| | | if (countRowspan > 1) { |
| | | return { rowspan: countRowspan, colspan: 1 }; |
| | | } |
| | | } |
| | | } |
| | | |
| | | // if (columnIndex == 3) { |
| | | // let rowspan = 0; |
| | | // this.DataLists.forEach((element) => { |
| | | // if (element.propinName === row.propinName) { |
| | | // rowspan++; |
| | | // } |
| | | // }); |
| | | // return [rowspan, 1]; |
| | | // } |
| | | }, |
| | | |
| | | // 点击获取每个树节点 |
| | |
| | | }); |
| | | }); |
| | | this.TotalPrice1 = 0; |
| | | this.marryall = 0; |
| | | if (this.DataList.length != 0) { |
| | | this.list1 = false; |
| | | this.DataList.forEach((item) => { |
| | | this.TotalPrice1 = item.proPrice + this.TotalPrice1; |
| | | this.marryall += item.proPrice; |
| | | }); |
| | | } |
| | | }); |
| | |
| | | if (item.proId == data.proId) { |
| | | this.DataList.splice(index, 1); |
| | | this.TotalPrice1 = 0; |
| | | this.marryall = 0; |
| | | this.DataList.forEach((item1) => { |
| | | this.TotalPrice1 = item1.proPrice + this.TotalPrice1; |
| | | this.marryall += item1.proPrice; |
| | | }); |
| | | } |
| | | }); |
| | |
| | | }); |
| | | this.spliceData(); |
| | | this.TotalPrice1 = 0; |
| | | this.marryall = 0; |
| | | this.DataList.forEach((item1) => { |
| | | this.TotalPrice1 = item1.proPrice + this.TotalPrice1; |
| | | this.marryall += item1.proPrice; |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | handleDel(row) { |
| | | this.DataLists.forEach((item, index) => { |
| | | if (item.proId == row.proId) { |
| | | this.DataLists.splice(index, 1); |
| | | this.marryalls = 0; |
| | | this.DataLists.forEach((item1) => { |
| | | this.marryalls += item1.proPrice; |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | /** 删除按钮操作 */ |
| | |
| | | this.DataList.forEach((item, index) => { |
| | | if (item.proId == row.proId) { |
| | | this.DataList.splice(index, 1); |
| | | this.marryall = 0; |
| | | this.TotalPrice1 = 0; |
| | | this.DataList.forEach((item1) => { |
| | | this.TotalPrice1 = item1.proPrice + this.TotalPrice1; |
| | | this.marryall += item1.proPrice; |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | // // 默认接受四个值 { 当前行的值, 当前列的值, 行的下标, 列的下标 } |
| | | objectSpanMethod({ row, column, rowIndex, columnIndex }) { |
| | | console.log(row, column, rowIndex, columnIndex); |
| | | let fields = ["propinName"]; |
| | | let cellValue = row[column.property]; |
| | | if (cellValue && fields.includes(column.property)) { |
| | |
| | | this.proIds.push(item.proId); |
| | | }); |
| | | } |
| | | if (this.DataLists.length != 0) { |
| | | this.DataLists.forEach((item) => { |
| | | this.proIds.push(item.proId); |
| | | }); |
| | | } |
| | | let data = { |
| | | cusId, |
| | | pacId: _this.pacId, |
| | |
| | | this.tableData1.forEach((item) => { |
| | | this.TotalPrice1 += item.nowPrice; |
| | | this.TotalPrice = this.TotalPrice1 + ".00"; |
| | | if (item.tjCategory != null) { |
| | | this.form.category = item.tjCategory; |
| | | } |
| | | if (item.pacName === null) { |
| | | item.pacName = "单项"; |
| | | } |
| | |
| | | } |
| | | }); |
| | | this.taocan = false; |
| | | this.defaultKeys = []; |
| | | this.DataLists = []; |
| | | }, |
| | | |
| | | // 最后提交按钮 |
| | |
| | | display: flex; |
| | | flex-direction: column; |
| | | } |
| | | .dialog-footer2 { |
| | | width: 960px; |
| | | height: 36px; |
| | | display: flex; |
| | | justify-content: center; |
| | | } |
| | | </style> |
| | | |
| | | |