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 | 1004 +++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 637 insertions(+), 367 deletions(-) diff --git a/src/views/system/tijian/index.vue b/src/views/system/tijian/index.vue index 48b54d6..126ab39 100644 --- a/src/views/system/tijian/index.vue +++ b/src/views/system/tijian/index.vue @@ -1,232 +1,199 @@ <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" :rules="[ - { - required: true, validator: (rule, value, callback) => { - if (!form.cusName) { - callback('') - } else if (form.cusName) { - callback() - } + <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"> - }, trigger: 'blur' - }]"> - <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="[ - { - 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() - } + <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> - }, trigger: 'blur' - }]" 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-form-item label="濮撳悕" prop="cusName" :rules="[ + { + required: true, validator: (rule, value, callback) => { + if (!form.cusName) { + callback('') + } else if (form.cusName) { + callback() + } - <el-col :span="9"> - <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' + }]"> + <el-input v-model="form.cusName" placeholder="璇疯緭鍏ュ鍚�" :disabled="isDisabled" /> + </el-form-item> - }, trigger: 'blur' - }]" style="display: flex"> - <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=" + <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="[ - { - 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() - } + </el-form-item> - }, trigger: 'blur' - }]" style="display: flex"> - <el-input v-model="form.cusPhone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" :disabled="isDisabled" /> - </el-form-item> - </el-col> - <el-col :span="9"> - <el-form-item label="鍑虹敓鏃ユ湡" prop="cusBrithday" style="display: flex"> - <el-date-picker :disabled="isDisabled" clearable v-model="form.cusBrithday" type="date" - 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="4"> - <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-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-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> - </el-form-item> + </div> </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=" border: 1px dashed #dcdfe6; width: 180px; height: 180px; - margin-left: 5%; "> <img v-if="imageUrl" :src="imageUrl" class="avatar" /> </div> @@ -247,13 +214,15 @@ <el-button type="primary" plain size="mini" @click="setImage()">鎷嶇収</el-button><br /> </div> </div> - </div> - </div> + + </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%"> + <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-form-item> @@ -278,7 +247,7 @@ v-hasPermi="['system:package:Seach']">濂楅璇︽儏 </el-button> </template> - </el-table-column> --> +</el-table-column> --> </el-table> </div> <!-- <el-button @@ -297,27 +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> @@ -326,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"> @@ -372,9 +446,10 @@ </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-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> @@ -383,33 +458,35 @@ <!-- <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" + <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-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-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-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" @@ -446,7 +523,7 @@ 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"> @@ -454,15 +531,15 @@ <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-column prop="proName" label="椤圭洰" width="180"> @@ -671,7 +748,8 @@ import { deptTreeSelect, projectGetList, - getOrder, + getOrder, getProParentIdDxList, + getProSonDxList, getCusIdcard, getPackageListName, getaddtTransition, @@ -707,6 +785,7 @@ }, data() { return { + filterText: "", proIdList: [], tableDatas: [], dialogVisiblese: false, @@ -830,9 +909,13 @@ // 鏄剧ず鎼滅储鏉′欢 showSearch: true, // 鏍戠姸褰㈢姸 + Treedata: [], + TreedataList: [], treedataList: [], + checkedkey: [], + checkedListkey: [], defaultProps: { - children: "tjProjectList", + children: [], label: "proName", }, formPacId: "", @@ -896,7 +979,7 @@ cusPhone: [ { required: true, message: "", trigger: "change" }, ], - cusBrithday: [ + cusBrithday: [ { required: true, message: "", trigger: "change" }, ], // cusNational: [ @@ -908,12 +991,17 @@ }, }; }, + watch: { + filterText(val) { + this.$refs.tree.filter(val); + }, + }, created() { this.getCurrentDateTime(); this.startTimer(); this.getList1(); - this.getData(); + // this.getData(); }, methods: { getCurrentDateTime() { @@ -945,7 +1033,10 @@ this.getCurrentDateTime(); }, 1000); //姣忕閽熸洿鏂颁竴娆� }, - + filterNode(value, data) { + if (!value) return true; + return data.proName.indexOf(value) !== -1; + }, beforeDestroy() { clearInterval(this.timer); }, //娓呴櫎瀹氭椂鍣紝浠ラ伩鍏嶅唴瀛樻硠闇层�� @@ -1041,7 +1132,6 @@ } else { item.list.forEach((items) => { _this.proIdList.push(items.proId); - console.log(_this.pacId, 888); }); } }); @@ -1059,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) => { @@ -1213,7 +1302,6 @@ /** 鏌ヨ淇℃伅鍒楄〃 */ getList() { - this.loading = true; // listCustomer(this.queryParams).then((response) => { // this.customerList = response.rows; // this.total = response.total; @@ -1544,7 +1632,7 @@ websocket.onclose = function () { alert("璇诲崱鍣ㄨ繛鎺ュ叧闂�"); }; - } else if (res.msg == "Y"){ + } else if (res.msg == "Y") { this.$refs.aaa.open = true; this.$refs.aaa.getAllList(); this.$refs.aaa.title = "璇佷欢瀛楀吀"; @@ -1556,15 +1644,15 @@ }, handleChanges(param1) { - if(this.form.pacCode == "涓嶈"){ + if (this.form.pacCode == "涓嶈") { this.form.cusIdcard = param1[0].xh; - }else{ + } else { this.form.cusIdcard = param1[0].pacCode; } - + // this.form.cusName = param1[0].pacName; // this.form.cusPhone = param1[0].pacRemark; - + }, // selected(row, index) { @@ -1609,7 +1697,6 @@ }, cancell() { - console.log(this.addAddress.address); if (this.addAddress.address) { this.malldisble = false; } else { @@ -1635,63 +1722,61 @@ }, // 鐐瑰嚮澶氶�夋鑾峰彇閫変腑鏁版嵁 - 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; // }); - console.log(this.treedataList) - console.log(selection) - if (selection[0]) { - this.DataList = []; + // 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; - } - }, + // 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; - console.log(this.newpacName) - console.log(this.tableData1) + try { if (this.tableData1.length >= 1) { this.newpacName.forEach((item3) => { @@ -1711,46 +1796,207 @@ } catch (error) { } this.loading = false; }); - this.getData(); + // 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 - // } - // }, + // 鐐瑰嚮澶氶�夋鑾峰彇閫変腑鏁版嵁 + 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.data = JSON.parse(JSON.stringify(this.dXData)); + selection[0].tjProjectList.forEach((selectionitem) => { + 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 = []; + // } + // }); + // } + // }); + // } + }); + this.TreedataList.forEach((item3) => { + if (item3.proParentId == selectionitem.proId) { + item.disabled = true; + } + }); + }); + } else { + this.treedataList = JSON.parse(JSON.stringify(this.dXData)); + return; + } + }, + 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; + } + }); + }); + } + 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; + }); + }, // 鐐瑰嚮鑾峰彇姣忎釜鏍戣妭鐐� 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() { @@ -1768,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, @@ -1779,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) => { @@ -1816,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); @@ -1826,7 +2077,7 @@ // } else { // this.proIds = []; // } - }, + // }, submitCheckinfee() { let _this = this; let List = _this.tableData1; //鍗曚釜椤圭洰淇℃伅 @@ -1926,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; @@ -2068,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; @@ -2114,7 +2379,7 @@ this.tjFlowingWater = { copeWith, paidIn, discount }; let data; - if (pacId) { + if (pacId || this.tjOrderList.length > 0) { data = { photo: this.srcUrl, pacId, @@ -2122,37 +2387,41 @@ tjFlowingWater: this.tjFlowingWater, userId, tjType, - tjCategory:this.tjCategory + 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 + 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; } @@ -2189,9 +2458,11 @@ display: flex; } -.tab3 { - width: 100%; - display: flex; + +.tab3 { + max-height: 400px; + overflow-y: auto; + border: 1px solid #d9d9d9; } .tab2 { @@ -2290,4 +2561,3 @@ margin-bottom: 25px; } </style> - -- Gitblit v1.8.0