From 00212ed8e808fc7b76c04389224e65f27f074fb2 Mon Sep 17 00:00:00 2001 From: su1124 <1583764726@qq.com> Date: 星期五, 26 四月 2024 15:30:04 +0800 Subject: [PATCH] su --- src/views/system/tijian/index.vue | 1906 +++++++++++++++++++++++++++-------------------------------- 1 files changed, 865 insertions(+), 1,041 deletions(-) diff --git a/src/views/system/tijian/index.vue b/src/views/system/tijian/index.vue index 5ad97ce..126ab39 100644 --- a/src/views/system/tijian/index.vue +++ b/src/views/system/tijian/index.vue @@ -1,538 +1,245 @@ <template> <div class="app-container"> - <div style="display: flex"> - <div style="width: 76%"> - <el-form - :inline="true" - ref="form" - :model="form" - :rules="rules" - :label-position="labelPosition" - label-width="106px" - v-show="top" - > - <el-row> - <el-col :span="5"> - <el-form-item label="鍖垮悕" prop="isNow" style="display: flex"> - <el-select - v-model="isNow" - placeholder="鏄惁鍖垮悕" - @change="freezing(isNow)" - > - <el-option - v-for="dict in dictType" - :key="dict.value" - :label="dict.label" - :value="dict.value" - ></el-option> - </el-select> - </el-form-item> - </el-col> - <el-col :span="7"> - <el-form-item label="濮撳悕" prop="cusName" style="display: flex"> - <el-input - v-model="form.cusName" - placeholder="璇疯緭鍏ュ鍚�" - :disabled="isDisabled" - /> - </el-form-item> - </el-col> - <el-col :span="9"> - <el-form-item - label="璇佷欢绫诲瀷" - prop="idType" - style="display: flex" - > - <el-select - :disabled="isDisabled" - v-model="form.idType" - placeholder="璇烽�夋嫨璇佷欢绫诲瀷" - > - <el-option - v-for="dict in dict.type.dict_user_cardtype" - :key="dict.value" - :label="dict.label" - :value="dict.value" - ></el-option> - </el-select> - </el-form-item> - </el-col> - </el-row> - </el-form> - <el-form - :inline="true" - ref="form" - :model="form" - :rules="rules" - :label-position="labelPosition" - label-width="106px" - v-show="top" - > - <el-row> - <el-col :span="5"> - <el-form-item - label="姘戞棌" - prop="cusNational" - style="display: flex" - > - <el-select - filterable - :disabled="isDisabled" - v-model="form.cusNational" - placeholder="璇烽�夋嫨姘戞棌" - > - <el-option - v-for="dict in dict.type.dict_user_national" - :key="dict.value" - :label="dict.label" - :value="dict.value" - ></el-option> - </el-select> - </el-form-item> - </el-col> - <el-col :span="7"> - <el-form-item - label="鎬у埆" - prop="cusSex" - :rules="showHidden.has_sex === 'Y' ? rules.cusSex : []" - :required="showHidden.has_sex === 'Y'" - style="display: flex" - > - <el-select - :disabled="isDisabled" - v-model="form.cusSex" - placeholder="鎬у埆" - > - <el-option - v-for="dict in dict.type.sys_user_sex" - :key="dict.value" - :label="dict.label" - :value="parseInt(dict.value)" - ></el-option> - </el-select> - </el-form-item> - </el-col> + <el-row :gutter="20"> + <el-col :span="17"> + <div class="grid-content bg-purple"> + <el-form :inline="true" ref="form" :model="form" :rules="rules" :label-position="labelPosition" + label-width="106px" v-show="top"> - <el-col :span="9"> - <el-form-item - label="璇佷欢鍙�" - prop="cusIdcard" - :rules="showHidden.has_idcard === 'Y' ? rules.cusIdcard : []" - :required="showHidden.has_idcard === 'Y'" - style="display: flex" - > - <el-input - :disabled="isDisabled" - v-model="form.cusIdcard" - placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�" - @input="inputChange" - /> - <i - style=" + <el-form-item label="鍖垮悕" prop="isNow"> + <el-select v-model="isNow" placeholder="鏄惁鍖垮悕" @change="freezing(isNow)"> + <el-option v-for="dict in dictType" :key="dict.value" :label="dict.label" + :value="dict.value"></el-option> + </el-select> + </el-form-item> + + <el-form-item label="濮撳悕" prop="cusName" :rules="[ + { + required: true, validator: (rule, value, callback) => { + if (!form.cusName) { + callback('') + } else if (form.cusName) { + callback() + } + + }, trigger: 'blur' + }]"> + <el-input v-model="form.cusName" placeholder="璇疯緭鍏ュ鍚�" :disabled="isDisabled" /> + </el-form-item> + + <el-form-item label="璇佷欢绫诲瀷" prop="idType"> + <el-select :disabled="isDisabled" v-model="form.idType" placeholder="璇烽�夋嫨璇佷欢绫诲瀷"> + <el-option v-for="dict in dict.type.dict_user_cardtype" :key="dict.value" :label="dict.label" + :value="dict.value"></el-option> + </el-select> + </el-form-item> + <el-form-item label="姘戞棌" prop="cusNational"> + <el-select filterable :disabled="isDisabled" v-model="form.cusNational" placeholder="璇烽�夋嫨姘戞棌"> + <el-option v-for="dict in dict.type.dict_user_national" :key="dict.value" :label="dict.label" + :value="dict.value"></el-option> + </el-select> + </el-form-item> + + <el-form-item label="鎬у埆" prop="cusSex" :rules="[ + { + required: true, validator: (rule, value, callback) => { + if (!form.cusSex && showHidden.has_sex === 'Y') { + callback('') + } else if (showHidden.has_sex === 'N') { + callback() + } else if (form.cusSex && showHidden.has_sex === 'Y') { + callback() + } + + }, trigger: 'blur' + }]"> + <el-select :disabled="isDisabled" v-model="form.cusSex" placeholder="鎬у埆"> + <el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label" + :value="parseInt(dict.value)"></el-option> + </el-select> + </el-form-item> + + <el-form-item label="璇佷欢鍙�" prop="cusIdcard" :rules="[ + { + required: true, validator: (rule, value, callback) => { + if (!form.cusIdcard && showHidden.has_idcard === 'Y') { + callback('') + } else if (showHidden.has_idcard === 'N') { + callback() + } else if (form.cusIdcard && showHidden.has_idcard === 'Y') { + callback() + } + + }, trigger: 'blur' + }]"> + <span slot="label" style="display:inline-block;border-bottom: 2px solid blue;" @click="handleQuery"> + 璇佷欢鍙� + </span> + <el-input :disabled="isDisabled" v-model="form.cusIdcard" placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�" @input="inputChange" /> + <!-- <i style=" font-size: 1rem; position: absolute; right: -20px; top: 10px; cursor: pointer; - " - class="el-icon-search" - @click="handleQuery" - ></i> - </el-form-item> - </el-col> - </el-row> - </el-form> - <el-form - :inline="true" - ref="form" - :model="form" - :rules="rules" - :label-position="labelPosition" - label-width="106px" - v-show="top" - > - <el-row> - <el-col :span="5"> - <el-form-item - label="濠氬Щ" - prop="cusMarryStatus" - style="display: flex" - > - <el-select - :disabled="isDisabled" - v-model="form.cusMarryStatus" - placeholder="濠氬Щ鐘跺喌" - > - <el-option - v-for="dict in dict.type.dict_user_marry" - :key="dict.value" - :label="dict.label" - :value="dict.value" - ></el-option> - </el-select> - </el-form-item> - </el-col> - <el-col :span="7"> - <el-form-item - label="鐢佃瘽" - prop="cusPhone" - :rules="showHidden.is_phone === 'Y' ? rules.cusPhone : []" - :required="showHidden.is_phone === 'Y'" - style="display: flex" - > - <el-input - v-model="form.cusPhone" - placeholder="璇疯緭鍏ヨ仈绯荤數璇�" - :disabled="isDisabled" - /> - </el-form-item> - </el-col> + " class="el-icon-search" @click="handleQuery"></i> --> + </el-form-item> - <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" - value-format="yyyy-MM-dd" - placeholder="璇烽�夋嫨鍑虹敓鏃ユ湡" - > - </el-date-picker> - </el-form-item> - </el-col> - </el-row> - </el-form> - <el-form - :inline="true" - ref="form" - :model="form" - :rules="rules" - :label-position="labelPosition" - label-width="106px" - v-show="top" - > - <el-row> - <el-col :span="5"> - <el-form-item label="鑱屼笟" prop="career" style="display: flex"> - <el-select - filterable - :disabled="isDisabled" - v-model="form.career" - placeholder="璇疯緭鍏ヨ亴涓�" - > - <el-option - v-for="dict in dict.type.dict_job" - :key="dict.value" - :label="dict.label" - :value="dict.value" - ></el-option> - </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" - /> - </el-form-item> - </el-col> - <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-form-item> - </el-col> - <el-col :span="3"> - <el-form-item prop="ageUnit"> - <el-select - :disabled="isDisabled" - v-model="form.ageUnit" - style="width: 94%" - > - <el-option - v-for="dict in dict.type.dict_ageunit" - :key="dict.value" - :label="dict.label" - :value="dict.value" - ></el-option> - </el-select> - </el-form-item> + + <el-form-item label="濠氬Щ" prop="cusMarryStatus"> + <el-select :disabled="isDisabled" v-model="form.cusMarryStatus" placeholder="濠氬Щ鐘跺喌"> + <el-option v-for="dict in dict.type.dict_user_marry" :key="dict.value" :label="dict.label" + :value="dict.value"></el-option> + </el-select> + </el-form-item> + + <el-form-item label="鐢佃瘽" prop="cusPhone" :rules="[ + { + required: true, validator: (rule, value, callback) => { + if (!form.cusPhone && showHidden.is_phone === 'Y') { + callback('') + } else if (showHidden.is_phone === 'N') { + callback() + } else if (form.cusPhone && showHidden.is_phone === 'Y') { + callback() + } + + }, trigger: 'blur' + }]"> + <el-input v-model="form.cusPhone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" :disabled="isDisabled" /> + </el-form-item> + + <el-form-item label="鍑虹敓鏃ユ湡" prop="cusBrithday"> + <el-date-picker :disabled="isDisabled" clearable v-model="form.cusBrithday" type="date" + value-format="yyyy-MM-dd" placeholder="璇烽�夋嫨鍑虹敓鏃ユ湡"> + </el-date-picker> + </el-form-item> + + <el-form-item label="鑱屼笟" prop="career"> + <el-select filterable :disabled="isDisabled" v-model="form.career" placeholder="璇疯緭鍏ヨ亴涓�"> + <el-option v-for="dict in dict.type.dict_job" :key="dict.value" :label="dict.label" + :value="dict.value"></el-option> + </el-select> + </el-form-item> + + <el-form-item label="閭" prop="cusEmail"> + <el-input v-model="form.cusEmail" placeholder="璇疯緭鍏ラ偖绠�" :disabled="isDisabled" /> + </el-form-item> + + <el-form-item label="骞撮緞 " prop="age"> + <el-input v-model="form.age" :disabled="isDisabled" style="width: 30%" /> + <el-select :disabled="isDisabled" v-model="form.ageUnit" style="width: 21%"> + <el-option v-for="dict in dict.type.dict_ageunit" :key="dict.value" :label="dict.label" + :value="dict.value"></el-option> + </el-select> + </el-form-item> + + <!-- <el-form-item prop="ageUnit"> + + </el-form-item> --> + </el-form> + <el-form ref="form" :model="form" :rules="rules" :label-position="labelPosition" label-width="106px" + v-show="top"> + <el-row :gutter="21"> + <el-col :span="19"> + <el-form-item label="鎴峰彛鍦板潃" prop="addr"> + <el-input v-model="form.addr" placeholder="璇疯緭鍏ユ埛鍙e湴鍧�" :disabled="isDisabled" /> + </el-form-item> + </el-col> + </el-row> + </el-form> + + <el-form ref="form" :model="form" :rules="rules" :label-position="labelPosition" label-width="106px" + v-show="top"> + <el-row :gutter="21"> + <el-col :span="19"> + <el-form-item label="鐜颁綇鍧�" prop="cusAddr"> + <el-input v-model="form.cusAddr" placeholder="璇疯緭鍏ョ幇灞呬綇鍦板潃" :disabled="isDisabled" /> + </el-form-item> + </el-col> + </el-row> + </el-form> + <el-form :inline="true" ref="form" :model="form" :rules="rules" :label-position="labelPosition" + label-width="106px" v-show="top"> + <el-form-item label="浠嬬粛浜�" prop="cusIntroduce"> + <el-input :disabled="isDisabled" v-model="form.cusIntroduce" placeholder="璇疯緭鍏ヤ粙缁嶄汉" /> + </el-form-item> + + <el-form-item label="宸ヤ綔鍗曚綅" prop="company"> + <el-input :disabled="isDisabled" v-model="form.company" placeholder="璇疯緭鍏ュ伐浣滃崟浣�" /> + </el-form-item> + + <el-form-item label="鏂囧寲绋嬪害" prop="wenHua"> + <el-input :disabled="isDisabled" v-model="form.wenHua" placeholder="璇疯緭鍏ユ枃鍖栫▼搴�" /> + </el-form-item> + </el-form> + + <el-row v-show="top"> + <el-col :span="19"> + <div style="float: right;margin-bottom: 10px;"> + <el-button v-show="lishi" type="primary" @click="cope" size="mini">涓�閿鍒�</el-button> + <el-button type="primary" @click="inputChanges" v-show="lishi" size="mini" + :disabled="confirm">鍘嗗彶浣撴璁板綍</el-button> + <el-button :disabled="isDisabled" type="primary" size="mini" @click="submitForm">鐧昏</el-button> + <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" @queryTable="getList">閲嶇疆</el-button> + </div> </el-col> </el-row> - </el-form> - <el-form - ref="form" - :model="form" - :rules="rules" - label-width="80px" - :label-position="labelPosition" - v-show="top" - > - <el-row> - <el-col :span="20"> - <el-form-item label="鎴峰彛鍦板潃" prop="addr"> - <el-input - v-model="form.addr" - placeholder="璇疯緭鍏ユ埛鍙e湴鍧�" - :disabled="isDisabled" - style="width: 103%" - /> - </el-form-item> - </el-col> - </el-row> - </el-form> - <el-form - ref="form" - :model="form" - :rules="rules" - label-width="80px" - :label-position="labelPosition" - v-show="top" - > - <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-form-item> - </el-col> - </el-row> - </el-form> - <el-form - :inline="true" - ref="form" - :model="form" - :rules="rules" - :label-position="labelPosition" - label-width="98px" - v-show="top" - > - <el-row> - <el-col :span="7"> - <el-form-item - label="浠嬬粛浜�" - prop="cusIntroduce" - style="display: flex" - > - <el-input - :disabled="isDisabled" - v-model="form.cusIntroduce" - placeholder="璇疯緭鍏ヤ粙缁嶄汉" - /> - </el-form-item> - </el-col> - <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-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="inputChanges" - 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" - v-show="top" - > - <el-row> - <el-col :span="24"> - <el-form-item> - <el-button - :disabled="isDisabled" - type="primary" - size="mini" - @click="submitForm" - >鐧昏</el-button - > - <el-button - icon="el-icon-refresh" - size="mini" - @click="resetQuery" - @queryTable="getList" - >閲嶇疆</el-button - > - </el-form-item> - </el-col> - </el-row> - </el-form> - </div> - <div v-show="top"> + </div> + </el-col> + <el-col :span="7" v-show="top"> <div class="content" v-show="showHidden.mall_hasPhoto == 'Y'"> - <div - v-show="hide" - style=" + <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=" + <img style=" width: 200px; height: 200px; margin-left: -20px; margin-top: 90px; padding-top: 1px; - " - :src="imgSrc" - alt="" - class="tx_img" - /> + " :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> + <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 /> + <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="50%" - height="700px" - > - <el-tabs - type="border-card" - style="height: 560px; margin: 0 10px; width: 100%" - > + </el-col> + </el-row> + + <el-dialog title="閫夋嫨濂楅" :visible.sync="taocan" width="50%" height="700px"> + <el-tabs type="border-card" style="height: 560px; margin: 0 10px; width: 100%" @tab-click="handleClick"> <el-tab-pane label="濂楅"> - <el-form - :model="queryParam" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="auto" - > + <el-form :model="queryParam" ref="queryForm" size="small" :inline="true" v-if="showSearch" + label-width="auto"> <el-form-item label="濂楅鍚嶇О" prop="pacName"> - <el-input - v-model="queryParam.pacName" - placeholder="璇疯緭鍏ュ椁愬悕绉�" - clearable - @keyup.enter.native="handle" - /> + <el-input v-model="queryParam.pacName" placeholder="璇疯緭鍏ュ椁愬悕绉�" clearable @keyup.enter.native="handle" /> </el-form-item> <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="mini" - @click="handle" - >鏌ヨ</el-button - > + <el-button type="primary" icon="el-icon-search" size="mini" @click="handle">鏌ヨ</el-button> <!-- <el-button type="primary" size="mini" @click="submit">纭</el-button> --> </el-form-item> </el-form> <div class="tab4"> - <div - class="grid-content bg-purple" - style="margin-left: 5px; width: 98%" - > - <el-table - v-loading="loading" - element-loading-text="姝e湪鍔犺浇涓�..." - element-loading-spinner="el-icon-loading" - border - :data="newpacName" - @selection-change="handleSelectionChange" - height="450px" - ref="tb" - style="width: 850px" - > - <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" - /> + <div class="grid-content bg-purple" style="margin-left: 5px; width: 98%"> + <el-table v-loading="loading" element-loading-text="姝e湪鍔犺浇涓�..." element-loading-spinner="el-icon-loading" + border :data="newpacName" @selection-change="handleSelectionChange" height="450px" ref="tb" + style="width: 850px"> + <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" /> <!-- :selectable="checkSelectable" --> <!-- <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> <template slot-scope="scope"> @@ -540,7 +247,7 @@ v-hasPermi="['system:package:Seach']">濂楅璇︽儏 </el-button> </template> - </el-table-column> --> +</el-table-column> --> </el-table> </div> <!-- <el-button @@ -559,32 +266,132 @@ </div> </el-tab-pane> <el-tab-pane label="鍗曢」"> - <div class="tab3"> - <!-- <div class="tab2"> --> - <v-tree-transfer - :treeData="treedataList" - :defaultProps="{ children: 'tjProjectList', label: 'proName' }" - :defaultKeys="defaultKeys" - @changeKeys="changeCategoryKeys" - :key="datekey" - ></v-tree-transfer> - <!-- <el-tree ref="tree" :data="treedataList" show-checkbox node-key="proId" :props="defaultProps" - :default-expanded-keys="treeId" :default-checked-keys="treeList" @check-change="handleCurrentChecked"> + <div class="tab8"> + <!-- <div class="tab7"> + <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" :default-checked-keys="treeList" + @check-change="handleCurrentChecked"> </el-tree> --> <!-- </div> --> - <!-- <el-button - style=" - width: 20px; - height: 100px; - margin-left: 10px; - margin-top: 20%; - font-size: 10px; - " - type="primary" - size="mini" - @click="submit" - ><i style="font-size: 18px" class="el-icon-d-arrow-right"></i - ></el-button> --> + <el-row :gutter="20"> + <el-col :span="6"> + <div + style=" + text-align: center; + margin-bottom: 10px; + margin-top: 10px; + " + > + 椤圭洰鍒楄〃 + </div> + <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" v-model="filterText"> + </el-input> + <div class="tab3"> + <el-tree + class="filter-tree" + v-loading="loading" + :data="Treedata" + :props="defaultProps" + show-checkbox + node-key="proId" + @check="handleCurrentChecked" + :default-checked-keys="checkedkey" + :filter-node-method="filterNode" + ref="tree" + > + </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="TreedataList" + node-key="proId" + :props="defaultProps" + :filter-node-method="filterNode" + show-checkbox + @check-change="handleCurrentChecked1" + :default-checked-keys="checkedListkey" + > + </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="DataList" + 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="handleDelete(scope.row)" + title="鍒犻櫎" + ></el-button> + </template> + </el-table-column> + </el-table> + <el-collapse v-model="activeName" accordion v-if="list1"> + <div> + <el-collapse-item title="璇烽�夋嫨椤圭洰"> + <el-table :data="DataList" border style="width: 100%" height="400" :span-method="objectSpanMethod"> + <el-table-column + prop="proName" + label="椤圭洰" + width="180" + > + </el-table-column> + <el-table-column prop="ordPrice" label="鍘熶环"> + </el-table-column> + </el-table> + </el-collapse-item> + </div> + </el-collapse> + </div> + </el-col> + </el-row> </div> </el-tab-pane> </el-tabs> @@ -593,9 +400,9 @@ <el-button type="primary" @click="submit">纭� 瀹�</el-button> </span> </el-dialog> - - <el-row type="flex" class="row-bg" justify="space-around" v-if="tcShow"> - <el-col> +<!-- --> + <el-row v-if="tcShow" > + <el-col :span="15"> <div class="grid-content bg-purple"> <!-- <el-table :data="fData" border height="220px" style="width: 100%; "> <el-table-column prop="proName" label="缁勫悎椤圭洰" align="center" width="200px"> @@ -639,143 +446,67 @@ </div> --> <template> - <el-form - :model="form" - :inline="true" - label-width="75px" - style="margin-left: 7px" - > + + <el-form :model="form" :inline="true" label-width="75px" style="margin-left: 20px;"> <el-form-item label="浣撴绫诲瀷"> - <el-select - style="width: 100px" - v-model="form.tjType" - placeholder="璇烽�夋嫨浣撴绫诲瀷" - > - <el-option - v-for="dict in dict.type.dict_team" - :key="dict.value" - :label="dict.label" - :value="dict.value" - ></el-option> + <el-select style="width:150px" v-model="form.tjType" placeholder="璇烽�夋嫨浣撴绫诲瀷"> + <el-option v-for="dict in dict.type.dict_team" :key="dict.value" :label="dict.label" + :value="dict.value"></el-option> </el-select> </el-form-item> <!-- <div class="tab1"> --> <!-- <el-form :inline="true" class="tab1"> --> <el-form-item label="搴旀敹閲戦"> - <el-input - placeholder="搴旀敹閲戦" - v-model="TotalPrice1" - disabled - style="width: 126px" - ></el-input> + <el-input placeholder="搴旀敹閲戦" v-model="TotalPrice1" disabled style="width: 150px"></el-input> </el-form-item> <el-form-item label="浼樻儬"> <!-- <el-input style="width: 100px" type="number" v-model="discount" :value="discount"></el-input> --> - <el-input-number - ref="inputNumber" - style="width: 126px" - v-model="discount" - :precision="2" - :step="0.1" - :max="10" - :min="1" - @change="numberChange" - :disabled="isfalse" - ></el-input-number> + <el-input-number ref="inputNumber" style="width: 150px" 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-input - placeholder="瀹炴敹閲戦" - v-model="TotalPrice" - style="width: 126px" - ></el-input> + <el-input placeholder="瀹炴敹閲戦" v-model="TotalPrice" style="width: 150px"></el-input> </el-form-item> + <br/> <!-- 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 v-model="getType" style="width: 150px" @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 style="width: 150px" 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'" - size="mini" - >绛惧埌鐧昏</el-button - > - <el-button - type="primary" - @click="submitCheckinfee" - :disabled="confirm" - v-if="showHidden.has_charge == 'Y'" - size="mini" - >鐧昏鏀惰垂</el-button - > + + <el-form-item style="margin-left:269px ;"> + <el-button type="primary" @click="Package" size="mini" style="margin-right:20px ;">閫夋嫨濂楅</el-button> + <el-button type="primary" @click="submitPrice" :disabled="confirm" v-if="showHidden.has_charge == 'N'" + size="mini">绛惧埌鐧昏</el-button> + <el-button type="primary" @click="submitCheckinfee" :disabled="confirm" + v-if="showHidden.has_charge == 'Y'" size="mini">鐧昏鏀惰垂</el-button> </el-form-item> <!-- </el-form> --> <!-- </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-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-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-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-input placeholder="鍦板潃" v-model="addAddress.address"></el-input> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> @@ -787,55 +518,38 @@ <div style="text-align: center; margin-bottom: 10px"> 宸查�夐」鐩垪琛� </div> - <div - style=" + <div style=" padding: 0px 6px; border: 1px solid #e6ebf5; max-height: 420px; overflow: auto; - width: 980px; + width: 916px; margin-left: 35px; - " - > + "> <el-collapse v-model="index" accordion v-if="list3"> - <div - class="info1" - v-for="(item, index) in tableData1" - :key="'info1-' + index" - > + <div class="info1" v-for="(item, index) in tableData1" :key="'info1-' + index"> <el-collapse-item :name="index"> <template slot="title"> {{ - item.pacName + - ":" + - item.parentName + - " (搴旀敹閲戦:" + - item.ordPrice + - "鍏� / 瀹炴敹閲戦:" + - item.nowPrice + - "鍏�)" - }} + item.pacName + + ":" + + item.parentName + + " (搴旀敹閲戦:" + + item.ordPrice + + "鍏� / 瀹炴敹閲戦:" + + item.nowPrice + + "鍏�)" + }} </template> - <el-table - :data="item.list" - border - style="width: 100%" - height="270" - > + <el-table :data="item.list" border style="width: 100%" height="270"> <el-table-column prop="proName" label="椤圭洰" width="180"> </el-table-column> <el-table-column prop="proType" label="鎬у埆" width="180"> - <template - slot-scope="scope" - v-if="scope.row.proType == ''" - > + <template slot-scope="scope" v-if="scope.row.proType == ''"> {{ scope.row.proType == "" ? "鍏ㄩ儴" : "" }} </template> <template slot-scope="scope" v-else> - <dict-tag - :options="dict.type.sys_user_sex" - :value="scope.row.proType" - /> + <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.proType" /> </template> </el-table-column> <el-table-column prop="ordPrice" label="搴旀敹閲戦"> @@ -844,10 +558,7 @@ </el-table-column> <el-table-column prop="proCheckMethod" label="鏄惁绌鸿吂"> <template slot-scope="scope"> - <dict-tag - :options="dict.type.sys_yes_no" - :value="scope.row.proCheckMethod" - /> + <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.proCheckMethod" /> </template> </el-table-column> </el-table> @@ -856,12 +567,7 @@ </el-collapse> <div v-if="list2 == true"> - <el-table - :data="tableData1" - border - style="width: 100%" - height="250" - > + <el-table :data="tableData1" border style="width: 100%" height="250"> <el-table-column prop="proName" label="椤圭洰" width="180"> </el-table-column> <el-table-column prop="proType" label="鎬у埆" width="180"> @@ -869,10 +575,7 @@ {{ scope.row.proType == "" ? "鍏ㄩ儴" : "" }} </template> <template slot-scope="scope" v-else> - <dict-tag - :options="dict.type.sys_user_sex" - :value="scope.row.proType" - /> + <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.proType" /> </template> </el-table-column> <el-table-column prop="ysPrice" label="搴旀敹閲戦"> @@ -881,10 +584,7 @@ </el-table-column> <el-table-column prop="proCheckMethod" label="鏄惁绌鸿吂"> <template slot-scope="scope"> - <dict-tag - :options="dict.type.sys_yes_no" - :value="scope.row.proCheckMethod" - /> + <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.proCheckMethod" /> </template> </el-table-column> </el-table> @@ -897,17 +597,11 @@ <el-table-column prop="proName" label="椤圭洰" width="180"> </el-table-column> <el-table-column prop="proType" label="鎬у埆" width="180"> - <template - slot-scope="scope" - v-if="scope.row.proType == ''" - > + <template slot-scope="scope" v-if="scope.row.proType == ''"> {{ scope.row.proType == "" ? "鍏ㄩ儴" : "" }} </template> <template slot-scope="scope" v-else> - <dict-tag - :options="dict.type.sys_user_sex" - :value="scope.row.proType" - /> + <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.proType" /> </template> </el-table-column> <el-table-column prop="ordPrice" label="搴旀敹閲戦"> @@ -916,10 +610,7 @@ </el-table-column> <el-table-column prop="proCheckMethod" label="鏄惁绌鸿吂"> <template slot-scope="scope"> - <dict-tag - :options="dict.type.sys_yes_no" - :value="scope.row.proCheckMethod" - /> + <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.proCheckMethod" /> </template> </el-table-column> </el-table> @@ -931,163 +622,63 @@ </el-col> </el-row> - <el-dialog - title="瀵兼鍗曢瑙�" - :visible.sync="dialogVisibles" - :close-on-click-modal="false" - > + <el-dialog title="瀵兼鍗曢瑙�" :visible.sync="dialogVisibles" :close-on-click-modal="false"> <div class="main"> - <iframe - id="printIframe" - :src="url" - frameborder="0" - style="width: 100%; height: 100%" - ></iframe> + <iframe id="printIframe" :src="url" frameborder="0" style="width: 100%; height: 100%"></iframe> </div> </el-dialog> <el-dialog title="鏀惰垂" :visible.sync="charge" width="59%" height="700px"> <div> - <el-table - id="sig" - v-loading="loading" - :data="feeitems" - @selection-change="handleSelect" - tooltip-effect="dark" - ref="multipleTable" - border - > + <el-table id="sig" v-loading="loading" :data="feeitems" @selection-change="handleSelect" tooltip-effect="dark" + ref="multipleTable" border> <el-table-column type="selection" width="55" align="center" /> - <el-table-column - label="濮撳悕" - align="center" - prop="tjName" - width="100px" - /> + <el-table-column label="濮撳悕" align="center" prop="tjName" width="100px" /> <el-table-column label="鎬у埆" align="center" prop="sex" width="90px"> <template slot-scope="scope"> - <dict-tag - :options="dict.type.sys_user_sex" - :value="scope.row.sex" - /> + <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex" /> </template> </el-table-column> - <el-table-column - label="韬唤璇�" - align="center" - prop="idCard" - width="150px" - :show-overflow-tooltip="true" - ></el-table-column> - <el-table-column - label="鎵嬫満鍙�" - align="center" - prop="tjPhone" - width="120px" - :show-overflow-tooltip="true" - ></el-table-column> - <el-table-column - label="浣撴鍙�" - align="center" - prop="tjNumber" - width="160px" - /> - <el-table-column - label="鐧昏鏃堕棿" - align="center" - prop="tjFlowingWater.createTime" - :show-overflow-tooltip="true" - ></el-table-column> - <el-table-column - label="鍗曚綅鍚嶇О" - align="center" - prop="tjComp" - ></el-table-column> - <el-table-column - label="浣撴绫诲瀷" - align="center" - prop="tjType" - width="80px" - > + <el-table-column label="韬唤璇�" align="center" prop="idCard" width="150px" + :show-overflow-tooltip="true"></el-table-column> + <el-table-column label="鎵嬫満鍙�" align="center" prop="tjPhone" width="120px" + :show-overflow-tooltip="true"></el-table-column> + <el-table-column label="浣撴鍙�" align="center" prop="tjNumber" width="160px" /> + <el-table-column label="鐧昏鏃堕棿" align="center" prop="tjFlowingWater.createTime" + :show-overflow-tooltip="true"></el-table-column> + <el-table-column label="鍗曚綅鍚嶇О" align="center" prop="tjComp"></el-table-column> + <el-table-column label="浣撴绫诲瀷" align="center" prop="tjType" width="80px"> <template slot-scope="scope"> - <dict-tag - :options="dict.type.dict_team" - :value="scope.row.tjType" - /> + <dict-tag :options="dict.type.dict_team" :value="scope.row.tjType" /> </template> </el-table-column> - <el-table-column - label="璁㈠崟娴佹按鍙�" - align="center" - prop="tjFlowingWater.waterId" - width="200px" - /> - <el-table-column - label="鏀惰垂鍛�" - align="center" - prop="tjFlowingWater.updateBy" - width="100px" - /> + <el-table-column label="璁㈠崟娴佹按鍙�" align="center" prop="tjFlowingWater.waterId" width="200px" /> + <el-table-column label="鏀惰垂鍛�" align="center" prop="tjFlowingWater.updateBy" width="100px" /> </el-table> <el-row :gutter="10" class="mb8"> <el-col :span="20"> - <el-form - :inline="true" - :model="formInline" - class="demo-form-inline" - style="margin: 12px 6px" - > + <el-form :inline="true" :model="formInline" class="demo-form-inline" style="margin: 12px 6px"> <el-form-item label="搴旀敹閲戦"> - <el-input - style="width: 86px" - :value="formInline.price + '.00'" - placeholder="閲戦" - :disabled="true" - ></el-input> + <el-input style="width: 86px" :value="formInline.price + '.00'" placeholder="閲戦" + :disabled="true"></el-input> </el-form-item> <el-form-item label="浼樻儬"> - <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-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-input - v-model="formInline.paidIn" - placeholder="瀹炰粯" - style="width: 94px" - > + <el-input v-model="formInline.paidIn" placeholder="瀹炰粯" style="width: 94px"> </el-input> </el-form-item> <el-form-item label="浠樻绫诲瀷" prop="payType"> - <el-select - style="width: 120px" - 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 style="width: 120px" 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-form-item> - <el-button - style="margin-left: 15px" - type="primary" - size="mini" - @click="SubmitEvent" - >鏀惰垂</el-button - > + <el-button style="margin-left: 15px" type="primary" size="mini" @click="SubmitEvent">鏀惰垂</el-button> </el-form-item> </el-form> </el-col> @@ -1102,11 +693,7 @@ </div> </el-dialog> <div style="position: absolute; bottom: 100px; width: 360px; display: none"> - <div - id="printBill" - style="width: 280px; font-size: 1px" - ref="printContent" - > + <div id="printBill" style="width: 280px; font-size: 1px" ref="printContent"> <div style="font-size: 1px"> <div style="text-align: center"> <h3>{{ hospName }}灏忕エ</h3> @@ -1136,20 +723,14 @@ </span> --> <!-- </el-dialog> --> <historyTj :cusIdCard="form.cusIdcard" ref="historyTj"></historyTj> - <el-dialog - title="鎻愮ず" - :visible.sync="dialogVisiblese" - width="30%" - :before-close="handleClose" - > + <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="copes" - >纭� 瀹�</el-button - > + <el-button type="primary" @click="copes">纭� 瀹�</el-button> </span> </el-dialog> + <Packages ref="aaa" @add="handleChanges" /> </div> </template> @@ -1167,16 +748,18 @@ import { deptTreeSelect, projectGetList, - getOrder, + getOrder, getProParentIdDxList, + getProSonDxList, getCusIdcard, getPackageListName, getaddtTransition, getTransitionList, getByTeamNo, getLoadFile, - getIsRequired, + getIsRequired, getconfigKey, getHistryTjOrderProByCusIdCard, } from "@/api/system/tijian"; +import Packages from "@/components/Packages"; import { MessageBox } from "element-ui"; import VTreeTransfer from "./TreeTransfer.vue"; import historyTj from "@/components/historyTj/index"; @@ -1198,9 +781,11 @@ components: { VTreeTransfer, historyTj, + Packages }, data() { return { + filterText: "", proIdList: [], tableDatas: [], dialogVisiblese: false, @@ -1274,7 +859,7 @@ activeName: "1", // 閬僵灞� loading: false, - labelPosition: "left", + labelPosition: "right", imageUrl: "", isDisabled: false, size: "", @@ -1324,9 +909,13 @@ // 鏄剧ず鎼滅储鏉′欢 showSearch: true, // 鏍戠姸褰㈢姸 + Treedata: [], + TreedataList: [], treedataList: [], + checkedkey: [], + checkedListkey: [], defaultProps: { - children: "tjProjectList", + children: [], label: "proName", }, formPacId: "", @@ -1390,6 +979,9 @@ cusPhone: [ { required: true, message: "", trigger: "change" }, ], + cusBrithday: [ + { required: true, message: "", trigger: "change" }, + ], // cusNational: [ // { required: true, message: "姘戞棌涓嶈兘涓虹┖", trigger: "change" }, // ], @@ -1399,12 +991,17 @@ }, }; }, + watch: { + filterText(val) { + this.$refs.tree.filter(val); + }, + }, created() { this.getCurrentDateTime(); this.startTimer(); this.getList1(); - this.getData(); + // this.getData(); }, methods: { getCurrentDateTime() { @@ -1436,7 +1033,10 @@ this.getCurrentDateTime(); }, 1000); //姣忕閽熸洿鏂颁竴娆� }, - + filterNode(value, data) { + if (!value) return true; + return data.proName.indexOf(value) !== -1; + }, beforeDestroy() { clearInterval(this.timer); }, //娓呴櫎瀹氭椂鍣紝浠ラ伩鍏嶅唴瀛樻硠闇层�� @@ -1479,8 +1079,8 @@ d.getFullYear() - birthdays.getFullYear() - (d.getMonth() < birthdays.getMonth() || - (d.getMonth() == birthdays.getMonth() && - d.getDate() < birthdays.getDate()) + (d.getMonth() == birthdays.getMonth() && + d.getDate() < birthdays.getDate()) ? 1 : 0); this.form.cusSex = sex; @@ -1503,7 +1103,7 @@ this.$refs.historyTj.getlist(); }, cope() { - this.tcShow = true; + this.tcShow = true; let cusIdCard = this.form.cusIdcard; getHistryTjOrderProByCusIdCard(cusIdCard).then((res) => { this.copeList = res.data; @@ -1532,7 +1132,6 @@ } else { item.list.forEach((items) => { _this.proIdList.push(items.proId); - console.log(_this.pacId, 888); }); } }); @@ -1550,7 +1149,6 @@ this.proIds = []; getTransitionList(cusId).then((response) => { this.tableData1 = response.data; - console.log(this.tableData1); this.TotalPrice1 = 0; if (this.tableData1) { this.tableData1.forEach((item) => { @@ -1645,7 +1243,7 @@ _this.thisVideo.play(); }; }) - .catch((err) => {}); + .catch((err) => { }); }, // 缁樺埗鍥剧墖锛堟媿鐓у姛鑳斤級 @@ -1699,12 +1297,11 @@ .then((_) => { done(); }) - .catch((_) => {}); + .catch((_) => { }); }, /** 鏌ヨ淇℃伅鍒楄〃 */ getList() { - this.loading = true; // listCustomer(this.queryParams).then((response) => { // this.customerList = response.rows; // this.total = response.total; @@ -1780,7 +1377,7 @@ pacId: "", proIds: [], }; - getaddtTransition(data).then((response) => {}); + getaddtTransition(data).then((response) => { }); this.$tab.refreshPage(); }); } else { @@ -1936,102 +1533,126 @@ // this.$message.error("姝ょ敤鎴蜂笉瀛樺湪"); // }); } else { - 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("璇锋鏌ヨ鍗″櫒杩炴帴鏄惁姝e父"); - }; - - //杩炴帴鎴愬姛寤虹珛鐨勫洖璋冩柟娉� - websocket.onopen = function () { - this.websocket = websocket; - // 杩炴帴璁惧 - var jsonObj = { - name: "connect", - }; - 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 = function (event) { - var resultObj = eval("(" + event.data + ")"); - //resultFlag涓�0浠h〃璇诲崱鎴愬姛 - 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("璇诲崱鍣ㄦ湭杩炴帴"); + 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 { - //alert(resultObj.errorMsg); + // console.log("SockJS"); } - } else if (resultObj.resultFlag == "-2") { - //alert(resultObj.errorMsg); - } - } else if (resultObj.name == "getStatus") { - if (resultObj.resultFlag == "0") { - if (resultObj.status == "0") { - } else { - alert("璁惧杩炴帴宸叉柇寮�锛岃妫�鏌ヨ鍗″櫒杩炴帴"); + + if (websocket == null) { + alert("鍒涘缓WebSocket瀵硅薄澶辫触"); } + + //杩炴帴鍙戠敓閿欒鐨勫洖璋冩柟娉� + websocket.onerror = function () { + alert("璇锋鏌ヨ鍗″櫒杩炴帴鏄惁姝e父"); + }; + + //杩炴帴鎴愬姛寤虹珛鐨勫洖璋冩柟娉� + websocket.onopen = function () { + this.websocket = websocket; + // 杩炴帴璁惧 + var jsonObj = { + name: "connect", + }; + 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 = function (event) { + var resultObj = eval("(" + event.data + ")"); + //resultFlag涓�0浠h〃璇诲崱鎴愬姛 + 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("璁惧杩炴帴宸叉柇寮�锛岃妫�鏌ヨ鍗″櫒杩炴帴"); + } + } + } + }; + + //杩炴帴鍏抽棴鐨勫洖璋冩柟娉� + websocket.onclose = function () { + alert("璇诲崱鍣ㄨ繛鎺ュ叧闂�"); + }; + } else if (res.msg == "Y") { + this.$refs.aaa.open = true; + this.$refs.aaa.getAllList(); + this.$refs.aaa.title = "璇佷欢瀛楀吀"; } } - }; + }) - //杩炴帴鍏抽棴鐨勫洖璋冩柟娉� - websocket.onclose = function () { - 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; + }, // selected(row, index) { @@ -2076,7 +1697,6 @@ }, cancell() { - console.log(this.addAddress.address); if (this.addAddress.address) { this.malldisble = false; } else { @@ -2102,41 +1722,121 @@ }, // 鐐瑰嚮澶氶�夋鑾峰彇閫変腑鏁版嵁 - handleSelectionChange(selection, row) { - this.tableData = selection; - if (selection.length > 1) { - let del_row = selection.shift(); - this.$refs.tb.toggleRowSelection(del_row, false); //璁剧疆杩欎竴琛屽彇娑堥�変腑 - } + // handleSelectionChange(selection, row) { + // this.tableData = selection; + // if (selection.length > 1) { + // let del_row = selection.shift(); + // this.$refs.tb.toggleRowSelection(del_row, false); //璁剧疆杩欎竴琛屽彇娑堥�変腑 + // } // this.single = selection.length !== 1; // this.multiple = !selection.length; // this.tableData.forEach((item) => { // this.fData = item.tjProjectList; // }); + // if (selection[0]) { + // this.DataList = []; + // this.data = JSON.parse(JSON.stringify(this.dXData)); + // if (selection[0].tjProjectList) { + // selection[0].tjProjectList.forEach((selectionitem) => { + // this.treedataList.forEach((item) => { + // if (selectionitem.proName == item.proName) { + // item.disabled = true; + // item.tjProjectList = []; + // } + // if (item.tjProjectList) { + // item.tjProjectList.forEach((item1) => { + // if (selectionitem.proName == item1.proName) { + // item1.disabled = true; + // item1.tjProjectList = []; + // } + // if (item1.tjProjectList) { + // item1.tjProjectList.forEach((item2) => { + // if (selectionitem.proName == item2.proName) { + // item2.disabled = true; + // item2.tjProjectList = []; + // } + // }); + // } + // }); + // } + // }); + // }); + // } + // } else { + // this.treedataList = JSON.parse(JSON.stringify(this.dXData)); + // return; + // } + // }, + + Package() { + this.taocan = true; + let cusSex = this.form.cusSex; + this.datekey = Date.now(); + //鍏ㄩ儴濂楅 + this.loading = true; + deptTreeSelect(cusSex).then((response) => { + this.newpacName = response.rows; + + try { + 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.getData(); + }, + + // 鐐瑰嚮澶氶�夋鑾峰彇閫変腑鏁版嵁 + handleSelectionChange(selection, row) { + this.tableData = selection; + if (selection.length > 1) { + let del_row = selection.shift(); + this.$refs.tb.toggleRowSelection(del_row, false); //璁剧疆杩欎竴琛屽彇娑堥�変腑 + } + this.single = selection.length !== 1; + this.multiple = !selection.length; if (selection[0]) { - this.DataList = []; + // this.DataList = []; // this.data = JSON.parse(JSON.stringify(this.dXData)); selection[0].tjProjectList.forEach((selectionitem) => { - this.treedataList.forEach((item) => { + this.Treedata.forEach((item) => { if (selectionitem.proName == item.proName) { item.disabled = true; item.tjProjectList = []; } - if (item.tjProjectList) { - item.tjProjectList.forEach((item1) => { - if (selectionitem.proName == item1.proName) { - item1.disabled = true; - item1.tjProjectList = []; - } - if (item1.tjProjectList) { - item1.tjProjectList.forEach((item2) => { - if (selectionitem.proName == item2.proName) { - item2.disabled = true; - item2.tjProjectList = []; - } - }); - } - }); + // if (item.tjProjectList) { + // item.tjProjectList.forEach((item1) => { + // if (selectionitem.proName == item1.proName) { + // item1.disabled = true; + // item1.tjProjectList = []; + // } + // if (item1.tjProjectList) { + // item1.tjProjectList.forEach((item2) => { + // if (selectionitem.proName == item2.proName) { + // item2.disabled = true; + // item2.tjProjectList = []; + // } + // }); + // } + // }); + // } + }); + this.TreedataList.forEach((item3) => { + if (item3.proParentId == selectionitem.proId) { + item.disabled = true; } }); }); @@ -2145,70 +1845,158 @@ return; } }, - - Package() { - this.taocan = true; - let cusSex = this.form.cusSex; - this.datekey = Date.now(); - //鍏ㄩ儴濂楅 - 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(); - } - }); + handleClick(tab, event) { + if (tab.label == "鍗曢」") { + this.DataList =[] + this.getDataList(); + } + }, + getDataList() { + this.loading = true + getProParentIdDxList().then((response) => { + this.Treedata = response.data.list; + if (this.tableData[0]) { + this.tableData[0].tjProjectList.forEach((selectionitem) => { + this.Treedata.forEach((item) => { + if (selectionitem.proId == item.proId) { + item.disabled = true; + } }); }); - } catch (error) {} + } + 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.DataList.length != 0) { + this.list1 = false; + this.DataList.forEach((item) => { + this.TotalPrice1 = item.proPrice + this.TotalPrice1; + }); + } + }); this.loading = false; }); - this.getData(); }, - - // checkSelectable(row, index) { - // if (!row) { return } - // if (this.tableData1) { - // if (this.tableData1.length != 0){ - // for (let j = 0; j < this.tableData1.length; j++) { - // for (let i = 0; i < row.tjProjectList.length; i++) { - // if (this.tableData1[j].pacName == "鍗曢」") { - // if (row.tjProjectList[i].proName === this.tableData1[j].parentName) { - // return false - // } - // } - // } - // return true - // } - // } - // } else { - // return true - // } - // }, // 鐐瑰嚮鑾峰彇姣忎釜鏍戣妭鐐� handleCurrentChecked(data, checked, checkedNodes) { - if (checked === true) { - this.DataList.push(data); - } else { - this.DataList.pop(data); - } - - this.proIds = []; - if (this.DataList.length != 0) { - this.DataList.forEach((item) => { - this.proIds.push(item.proId); + this.dataObj = data; + if (checked.checkedNodes.length != 0) { + this.$refs.tree.setCheckedKeys([data.proId]); + let proId = data.proId; + getProSonDxList(proId).then((res) => { + this.TreedataList = res.data.list; + this.TreedataList.forEach((item) => { + this.checkedListkey.push(item.proId); + this.DataList.push(item); + this.spliceData(); + this.DataList.forEach((item1) => { + if (item1.proParentId == data.proId) { + item1.propinName = data.proName; + } + }); + }); + this.TotalPrice1 = 0; + if (this.DataList.length != 0) { + this.list1 = false; + this.DataList.forEach((item) => { + this.TotalPrice1 = item.proPrice + this.TotalPrice1; + }); + } }); - } else { - this.proIds = []; + } else if (checked.checkedNodes.length == 0) { + let proId = data.proId; + getProSonDxList(proId).then((res) => { + this.TreedataList = res.data.list; + this.checkedListkey = []; + }); } }, + + spliceData() { + for (var i = 0; i < this.DataList.length; i++) { + for (var j = i + 1; j < this.DataList.length; j++) { + if (this.DataList[i].proId == this.DataList[j].proId) { + //濡傛灉绗竴涓瓑浜庣浜屼釜锛宻plice鏂规硶鍒犻櫎绗簩涓� + this.DataList.splice(j, 1); + j--; + } + } + } + return this.DataList; + }, + + // 鐐瑰嚮鑾峰彇姣忎釜鏍戣妭鐐� + handleCurrentChecked1(data, checked, checkedNodes) { + if (checked == false) { + this.DataList.forEach((item, index) => { + if (item.proId == data.proId) { + this.DataList.splice(index, 1); + this.TotalPrice1 = 0; + this.DataList.forEach((item1) => { + this.TotalPrice1 = item1.proPrice + this.TotalPrice1; + }); + } + }); + } else if (checked == true) { + this.DataList.push(data); + this.DataList.forEach((item1) => { + if (item1.proParentId == this.dataObj.proId) { + item1.propinName = this.dataObj.proName; + } + }); + this.spliceData(); + this.TotalPrice1 = 0; + this.DataList.forEach((item1) => { + this.TotalPrice1 = item1.proPrice + this.TotalPrice1; + }); + } + }, + + /** 鍒犻櫎鎸夐挳鎿嶄綔 */ + handleDelete(row) { + this.DataList.forEach((item, index) => { + if (item.proId == row.proId) { + this.DataList.splice(index, 1); + this.TotalPrice1 = 0; + this.DataList.forEach((item1) => { + this.TotalPrice1 = item1.proPrice + this.TotalPrice1; + }); + } + }); + }, + // // 榛樿鎺ュ彈鍥涗釜鍊� { 褰撳墠琛岀殑鍊�, 褰撳墠鍒楃殑鍊�, 琛岀殑涓嬫爣, 鍒楃殑涓嬫爣 } + 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)) { + let prevRow = this.DataList[rowIndex - 1]; + let nextRow = this.DataList[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.DataList[++countRowspan + rowIndex]; + } + if (countRowspan > 1) { + return { rowspan: countRowspan, colspan: 1 }; + } + } + } + }, + // 椤圭洰鎻愪氦 submit() { @@ -2226,6 +2014,12 @@ } else { _this.pacId = ""; } + this.proIds = []; + if (this.DataList.length != 0) { + this.DataList.forEach((item) => { + this.proIds.push(item.proId); + }); + } let data = { cusId, pacId: _this.pacId, @@ -2237,7 +2031,6 @@ this.proIds = []; getTransitionList(cusId).then((response) => { this.tableData1 = response.data; - console.log(this.tableData1); this.TotalPrice1 = 0; if (this.tableData1) { this.tableData1.forEach((item) => { @@ -2274,9 +2067,9 @@ this.taocan = false; this.defaultKeys = []; }, - changeCategoryKeys(val) { - this.proIds = []; - this.proIds = val; + // changeCategoryKeys(val) { + // this.proIds = []; + // this.proIds = val; // if (this.DataList.length != 0) { // this.DataList.forEach((item) => { // this.proIds.push(item.proId); @@ -2284,7 +2077,7 @@ // } else { // this.proIds = []; // } - }, + // }, submitCheckinfee() { let _this = this; let List = _this.tableData1; //鍗曚釜椤圭洰淇℃伅 @@ -2363,6 +2156,16 @@ getfindTj(data).then((response) => { if (response.data) { this.feeitems = response.data; + if (this.feeitems.length != 0) { + this.$nextTick(() => { + this.$refs.multipleTable.toggleRowSelection( + this.feeitems[0], + true + ); + }); + } else { + this.$refs.multipleTable.clearSelection(); + } this.loading = false; } else { this.feeitems = []; @@ -2374,7 +2177,6 @@ // 琛ㄦ牸鍗曢�� handleSelect(selection, val) { - console.log(selection, val); this.selectionList = this.$refs.multipleTable.selection; this.selectionList.forEach((item) => { this.formIn.name = item.tjName; @@ -2516,6 +2318,21 @@ } }, + listgetOrder(data) { + getOrder(data).then((res) => { + this.$modal.msgSuccess("鎻愪氦鎴愬姛"); + // this.dialogVisibles = true; + // this.url = window.webkitURL.createObjectURL(res); //灏嗗悗绔繑鍥炵殑blob鏂囦欢璇诲彇鍑簎rl + //璋冩帴鍙f樉绀哄妫�鍗� + const tjNumber = res.msg; + const viewNum = "792931586196398080"; + const params = { viewNum, tjNumber }; + this.$tab.openPage("瀵艰瘖鍗�", "/report/breDailyReport", params); + _this.confirm = true; + }); + this.$tab.refreshPage(); + }, + // 鏈�鍚庢彁浜ゆ寜閽� submitPrice() { let _this = this; @@ -2562,7 +2379,7 @@ this.tjFlowingWater = { copeWith, paidIn, discount }; let data; - if (pacId) { + if (pacId || this.tjOrderList.length > 0) { data = { photo: this.srcUrl, pacId, @@ -2570,35 +2387,41 @@ tjFlowingWater: this.tjFlowingWater, userId, tjType, + tjCategory: this.tjCategory }; - } else { + this.listgetOrder(data) + } else if (pacId || this.tjOrderList.length > 0) { data = { photo: this.srcUrl, tjOrderList: this.tjOrderList, tjFlowingWater: this.tjFlowingWater, userId, tjType, + tjCategory: this.tjCategory }; + this.listgetOrder(data) + } else { + this.$message({ + type: "warning ", + message: "璇烽�夋嫨濂楅!", + }); } - getOrder(data).then((res) => { - this.$modal.msgSuccess("鎻愪氦鎴愬姛"); - // this.dialogVisibles = true; - // this.url = window.webkitURL.createObjectURL(res); //灏嗗悗绔繑鍥炵殑blob鏂囦欢璇诲彇鍑簎rl - //璋冩帴鍙f樉绀哄妫�鍗� - const tjNumber = res.msg; - const viewNum = "792931586196398080"; - const params = { viewNum, tjNumber }; - this.$tab.openPage("瀵艰瘖鍗�", "/report/breDailyReport", params); - _this.confirm = true; - }); - this.$tab.refreshPage(); + }, }, }; </script> -<style > +<style> +.el-form-item__error { + display: none; +} + +.el-col-19 { + width: 80.166667%; +} + .el-table__header-wrapper .el-checkbox { display: none; } @@ -2635,9 +2458,11 @@ display: flex; } -.tab3 { - width: 100%; - display: flex; + +.tab3 { + max-height: 400px; + overflow-y: auto; + border: 1px solid #d9d9d9; } .tab2 { @@ -2736,4 +2561,3 @@ margin-bottom: 25px; } </style> - -- Gitblit v1.8.0