From ef6a6d70620baa2ce2e3d0ea9b5c76a76debd6dd Mon Sep 17 00:00:00 2001 From: linwenling <3256558519@qq.com> Date: 星期二, 18 七月 2023 17:11:59 +0800 Subject: [PATCH] 家庭收支台账 --- ruoyi-ui/src/views/self/show.vue | 725 +++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 515 insertions(+), 210 deletions(-) diff --git a/ruoyi-ui/src/views/self/show.vue b/ruoyi-ui/src/views/self/show.vue index a0c9311..0e56f35 100644 --- a/ruoyi-ui/src/views/self/show.vue +++ b/ruoyi-ui/src/views/self/show.vue @@ -44,8 +44,17 @@ <el-form ref="elForm" :model="individualList" :rules="rules" size="medium" label-position="left"> <el-row :span="5"> <el-form-item label="鎬у埆" prop="sex" label-width="40px"> - <el-input v-model="individualList.sex === 1 ? '鐢�':'濂�' " placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> - </el-input> +<!-- <el-input v-model="individualList.sex === 1 ? '鐢�':'濂�' " placeholder="" clearable :style="{width: '100%'}" :disabled="dsb">--> +<!-- </el-input>--> + <template v-if="!isEditing"> + <el-input v-model="individualList.sex === 1 ? '鐢�':'濂�'" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"></el-input> + </template> + <template v-else> + <el-select v-model="individualList.sex" placeholder="璇烽�夋嫨鎬у埆" clearable :style="{width: '100%'}"> + <el-option label="鐢�" value="1"></el-option> + <el-option label="濂�" value="0"></el-option> + </el-select> + </template> </el-form-item> </el-row> <el-row :span="5"> @@ -76,8 +85,18 @@ </el-row> <el-row :span="5"> <el-form-item label="濠氬Щ鐘跺喌" prop="maritalStatus" label-width="70px"> - <el-input v-model="individualList.maritalStatus === 1 ? '宸插':'鏈'" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> - </el-input> + <template v-if="!isEditing" > + <el-input v-if="individualList.maritalStatus===0" placeholder="鏈"></el-input> + <el-input v-if="individualList.maritalStatus===1" placeholder="宸插"></el-input> + <el-input v-if="individualList.maritalStatus===2" placeholder="绂诲"></el-input> + </template> + <template v-else> + <el-select v-model="individualList.maritalStatus" placeholder="璇烽�夋嫨鎬у埆" clearable :style="{width: '100%'}"> + <el-option label="鏈" value="0"></el-option> + <el-option label="宸插" value="1"></el-option> + <el-option label="绂诲" value="2"></el-option> + </el-select> + </template> </el-form-item> </el-row> @@ -88,44 +107,36 @@ <div style="padding-left:30px;padding-top:30px"> <el-col :span="6" :data="individualList"> <div class="block" :model="individualList" > - <el-col v-model="individualList.url" prop="url"> + <el-col v-model="individualList.img" prop="img"> <el-avatar shape="square" :size=200 > <el-image - :src="'http://47.93.189.255:8080/'+ individualList.url" - :fit="fit" + :src="'http://47.93.189.255:8080/'+ individualList.img" ></el-image> </el-avatar> - </el-col> +<!-- <el-upload--> +<!-- action="#"--> +<!-- list-type="picture-card"--> +<!-- multiple--> +<!-- :http-request="requestUpload"--> +<!-- :file-list="fileList"--> +<!-- >--> +<!-- <i slot="default" class="el-icon-plus"></i>--> +<!-- <div slot="file" slot-scope="{file}">--> +<!-- <img--> +<!-- class="el-upload-list__item-thumbnail"--> +<!-- :src="file.url"--> +<!-- alt=""--> +<!-- style="width: 147px; height: 147px"--> +<!-- fit="cover"--> +<!-- :preview-src-list="[file.url]"--> +<!-- >--> +<!-- </div>--> +<!-- </el-upload>--> + </el-col> </div> </el-col> - - <!-- <el-row>--> - <!--<!– <el-table border style="width: 100%">–>--> - <!--<!– <el-table-column–>--> - <!--<!– prop="img"–>--> - <!--<!– v-model="individualList.img"–>--> - <!--<!– placeholder=""–>--> - <!--<!– width="180">–>--> - <!--<!– <template slot-scope="scope">–>--> - <!--<!– <img :src="scope.row.src" style="width:100px;height:50px;"/>–>--> - <!--<!– </template>–>--> - <!--<!– </el-table-column>–>--> - - <!--<!– </el-table>–>--> - <!--<!– <el-upload :class="{uoloadSty:showBtnDealImg,disUoloadSty:noneBtnImg}"–>--> - <!--<!– ref="ref1"–>--> - <!--<!– action=""–>--> - <!--<!– :file-list="fileList"–>--> - <!--<!– list-type="picture-card"–>--> - <!--<!– accept="image/*"–>--> - <!--<!– :auto-upload="false"–>--> - <!--<!– :multiple="false"–>--> - <!--<!– :limit="limitCountImg">–>--> - <!--<!– <i class="el-icon-plus"></i>–>--> - <!--<!– </el-upload>–>--> - <!-- </el-row>--> </div> <div style="padding-left:30px;padding-top:30px" > @@ -137,6 +148,7 @@ v-if="isShow" v-hasPermi="['system:role:edit']" >缂栬緫</el-button> + <el-button v-if="isShow_2" type="primary" @click="submitForm" :disabled="dsb">瀹屾垚</el-button> <br> <el-button type="primary" @@ -144,7 +156,10 @@ v-hasPermi="['family:note:export']" >瀵煎嚭</el-button> <br> - <el-button v-if="isShow_2" type="primary" @click="submitForm" :disabled="dsb">瀹屾垚</el-button> + <el-button + type="primary" + v-hasPermi="['family:note:export']" + >鎵撳嵃</el-button> </el-row> </el-container> @@ -209,11 +224,58 @@ <!--鎶樺彔闈㈡澘--> <el-collapse v-model="activeNames" @change="handleChange"> - <el-collapse-item title="涓昏瀛︿範鍙婂伐浣滅粡鍘�" name="1" > + <!--涓昏瀛︿範鍙婂伐浣滅粡鍘�--> + <el-collapse-item name="1" > + <template v-slot:title> + <div class="title-wrapper"> + 涓昏瀛︿範鍙婂伐浣滅粡鍘� + <div> + <el-button class="button" size="mini" type="text" @click="showDialog('open')"> + <sapn v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></sapn></el-button> + </div> + </div> + </template> <el-table v-loading="loading" :data="experienceList" @selection-change="handleSelectionChange" :row-class-name="tableRowClassName" style="background: #FFEFF2; border-radius: 14px 14px 14px 14px;"> - <el-table-column label="寮�濮嬫棩鏈�" prop="startDate" sortable width="300" align="center" /> - <el-table-column label="涓昏瀛︿範缁忓巻銆佸伐浣滃崟浣嶅強浠昏亴鎯呭喌" prop="content" sortable width="350" align="center" /> - <el-table-column label="璇佹槑浜�" prop="witness" sortable width="300" align="center" /> + <el-table-column label="寮�濮嬫棩鏈�" prop="startDate" sortable width="250" align="center" > + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit"> + {{ scope.row.startDate }} + </template> + <template v-else> + <el-input v-model="scope.row.startDate"></el-input> + </template> + </template> + </el-table-column> + <el-table-column label="缁撴潫鏃ユ湡" prop="endDate" sortable width="250" align="center" > + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit"> + {{ scope.row.endDate }} + </template> + <template v-else> + <el-input v-model="scope.row.endDate"></el-input> + </template> + </template> + </el-table-column> + <el-table-column label="涓昏瀛︿範缁忓巻銆佸伐浣滃崟浣嶅強浠昏亴鎯呭喌" prop="content" sortable width="350" align="center" > + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit"> + {{ scope.row.content }} + </template> + <template v-else> + <el-input v-model="scope.row.content"></el-input> + </template> + </template> + </el-table-column> + <el-table-column label="璇佹槑浜�" prop="witness" sortable width="300" align="center" > + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit"> + {{ scope.row.witness }} + </template> + <template v-else> + <el-input v-model="scope.row.witness"></el-input> + </template> + </template> + </el-table-column> <!-- 鎿嶄綔--> <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> <template slot-scope="scope" v-if="scope.row.roleId !== 1"> @@ -222,9 +284,15 @@ size="mini" type="text" icon="el-icon-edit" - @click="showDialog1" + v-if="!editStatus[scope.row.id]" + @click="editRow(scope.row)" v-hasPermi="['system:role:edit']" - >鏂板</el-button> + >淇敼</el-button> + <el-button size="mini" + type="text" + v-if="editStatus[scope.row.id]" + @click="saveRow(scope.row)" + >淇濆瓨</el-button> <el-button size="mini" type="text" @@ -244,26 +312,37 @@ </el-table-column> </el-table> </el-collapse-item> - <el-collapse-item title="瀹跺涵鎴愬憳鍙婁富瑕佺ぞ浼氬叧绯绘儏鍐�" name="2" > + <!-- 瀹跺涵鎴愬憳鍙婁富瑕佺ぞ浼氬叧绯绘儏鍐� --> + <el-collapse-item name="2" > + <template v-slot:title> + <div class="title-wrapper"> + 瀹跺涵鎴愬憳鍙婁富瑕佺ぞ浼氬叧绯绘儏鍐� + <div> + <el-button class="button2" size="mini" type="text" @click="showDialog('relation1')"> + <sapn v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></sapn></el-button></div> + </div> + </template> <el-table v-loading="loading" :data="relationList" @selection-change="handleSelectionChange" :row-class-name="tableRowClassName" style="background: #FFEFF2; border-radius: 14px 14px 14px 14px;"> - <el-table-column label="涓庢湰浜哄叧绯�" prop="relation" sortable width="260" align="center" /> - <el-table-column label="濮撳悕" prop="nickName" sortable width="260" align="center" /> - <el-table-column label="鍗曚綅鍙婅亴鍔�" prop="unit position" sortable width="260" align="center"> + <el-table-column label="涓庢湰浜哄叧绯�" prop="relation" sortable width="260" align="center" > + <template slot-scope="scope">{{scope.row.relation? scope.row.relation: '鈥斺�斺�斺��'}}</template> + </el-table-column> + <el-table-column label="濮撳悕" prop="otherName" sortable width="260" align="center" > + <template slot-scope="scope">{{scope.row.otherName? scope.row.otherName: '鈥斺�斺�斺��'}}</template> + </el-table-column> + <el-table-column label="鍗曚綅鍙婅亴鍔�" prop="otherUnit position" sortable width="260" align="center"> <template slot-scope="scope"> - {{scope.row.unit}}/{{scope.row.position}} + <span v-if="scope.row.otherUnit || scope.row.otherPosition == true"> + {{scope.row.otherUnit}}/{{scope.row.otherPosition}} + </span> + <span v-else>鈥斺�斺�斺��</span> </template> </el-table-column> - <el-table-column label="鏀挎不闈㈣矊" prop="politicalOutlook" sortable width="260" align="center"/> + <el-table-column label="鏀挎不闈㈣矊" prop="otherPolitical" sortable width="260" align="center"> + <template slot-scope="scope">{{scope.row.otherPolitical? scope.row.otherPolitical: '鈥斺�斺�斺��'}}</template> + </el-table-column> <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> <template slot-scope="scope" v-if="scope.row.roleId !== 1"> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="showDialog2" - v-hasPermi="['system:role:edit']" - >鏂板</el-button> <el-button size="mini" type="text" @@ -275,7 +354,7 @@ size="mini" type="text" icon="el-icon-delete" - @click="handDelete(scope.row)" + @click="handleRelationDelete(scope.row)" v-hasPermi="['system:role:remove']" >鍒犻櫎</el-button> <!-- <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:role:edit']">--> @@ -310,12 +389,29 @@ </div> </el-collapse-item> - <el-collapse-item title="鎸佹湁鍑哄叆澧冭瘉浠舵儏鍐�" name="4"> + <!--鎸佹湁鍑哄叆澧冭瘉浠舵儏鍐�--> + <el-collapse-item name="4"> + <template v-slot:title> + <div class="title-wrapper"> + 鎸佹湁鍑哄叆澧冭瘉浠舵儏鍐� + <el-button class="button4" size="mini" type="text" @click="showDialog('certificate')"> + <sapn v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></sapn></el-button> + </div> + </template> <el-table v-loading="loading" :data="certificateList" @selection-change="handleSelectionChange" :row-class-name="tableRowClassName" style="background: #FFEFF2; border-radius: 14px 14px 14px 14px;"> - <el-table-column label="璇佷欢鍚嶇О" prop="cerName" sortable width="280" align="center" /> - <el-table-column label="鎸佹湁鎯呭喌" prop="ownStatus" sortable width="280" align="center" /> - <el-table-column label="璇佷欢鍙风爜" prop="idNo" sortable width="280" align="center" /> + <el-table-column label="璇佷欢鍚嶇О" prop="cerName" sortable width="280" align="center" > + <template slot-scope="scope">{{scope.row.cerName? scope.row.cerName: '鈥斺�斺�斺��'}}</template> + </el-table-column> + <el-table-column label="璇佷欢绫诲瀷" prop="type" sortable width="280" align="center" > + <template slot-scope="scope">{{ getSrc(scope.row.type) }}</template> + </el-table-column> + <el-table-column label="鎸佹湁鎯呭喌" prop="ownStatus" sortable width="280" align="center" > + <template slot-scope="scope">{{scope.row.ownStatus? scope.row.ownStatus: '鈥斺�斺�斺��'}}</template> + </el-table-column> + <el-table-column label="璇佷欢鍙风爜" prop="idNo" sortable width="280" align="center" > + <template slot-scope="scope">{{scope.row.idNo? scope.row.idNo: '鈥斺�斺�斺��'}}</template> + </el-table-column> <el-table-column label="鏈夋晥鏈�" prop="startTime endTime" sortable width="280" align="center"> <template slot-scope="scope"> <span v-if="scope.row.startTime || scope.row.endTime == true"> @@ -331,16 +427,11 @@ size="mini" type="text" icon="el-icon-edit" - @click="showDialog3" - v-hasPermi="['system:role:edit']" - >鏂板</el-button> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleAdd" + v-if="scope.row.isEdit" + @click="handleEdit" v-hasPermi="['system:role:edit']" >淇敼</el-button> + <el-button v-if="scope.row.isEdit" @click="saveRow(scope.row)">淇濆瓨</el-button> <el-button size="mini" type="text" @@ -360,7 +451,15 @@ </el-table-column> </el-table> </el-collapse-item> - <el-collapse-item title="鍑哄浗锛堝锛夋儏鍐�" name="5"> + <!--鍑哄浗锛堝锛夋儏鍐�--> + <el-collapse-item name="5"> + <template v-slot:title> + <div class="title-wrapper"> + 鍑哄浗锛堝锛夋儏鍐� + <el-button class="button5" size="mini" type="text" @click="showDialog('abroad')"> + <sapn v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></sapn></el-button> + </div> + </template> <el-table v-loading="loading" :data="AbroadList" @selection-change="handleSelectionChange" :row-class-name="tableRowClassName" style="background: #FFEFF2; border-radius: 14px 14px 14px 14px;"> <el-table-column label="璧锋鏃ユ湡" prop="startTime endTime" sortable width="350" align="center" > @@ -371,18 +470,16 @@ <span v-else>鈥斺�斺�斺��</span> </template> </el-table-column> - <el-table-column label="鎵�鍒板浗瀹舵垨鑰呭湴鍖�" prop="destination" sortable width="350" align="center" /> - <el-table-column label="浜嬬敱锛堟梾娓搞�佽蛋璁裤�佹帰浜层�佺户鎵胯储浜с�佸叾浠栵級" prop="cause" sortable width="400" align="center" /> + <el-table-column label="鎵�鍒板浗瀹舵垨鑰呭湴鍖�" prop="destination" sortable width="350" align="center" > + <template slot-scope="scope">{{scope.row.destination? scope.row.destination: '鈥斺�斺�斺��'}}</template> + </el-table-column> + <el-table-column label="浜嬬敱锛堟梾娓搞�佽蛋璁裤�佹帰浜层�佺户鎵胯储浜с�佸叾浠栵級" prop="cause" sortable width="420" align="center" > + <template slot-scope="scope">{{scope.row.cause? scope.row.cause: '鈥斺�斺�斺��'}}</template> + </el-table-column> <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> <template slot-scope="scope" v-if="scope.row.roleId !== 1"> <!-- @click="handleUpdate(scope.row)"--> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="showDialog4" - v-hasPermi="['system:role:edit']" - >鏂板</el-button> + <el-button size="mini" type="text" @@ -416,22 +513,26 @@ <el-container> <div style="width:100%"><h2 style="font-size:15px" >鑷紶</h2></div> </el-container> - <el-tabs type="border-card" v-model="activeName" @tab-click="handleClick" - v-loading="loading" :data="AutobiographyList" > - <el-tab-pane v-for="(item, index) in AutobiographyList" - :key='item.id' :label="item.ageBegin+'~'+item.ageEnd+'宀�'+'('+item.term+')'"> - <div v-if="item.term === '濠村効'"> {{item.content}}</div> - <div v-if="item.term === '骞煎効'"> {{item.content}}</div> - <div v-if="item.term === '灏忓'"> {{item.content}}</div> - <div v-if="item.term === '鍒濅腑'"> {{item.content}}</div> - <div v-if="item.term === '楂樹腑'"> {{item.content}}</div> - <div v-if="item.term === '澶у'"> {{item.content}}</div> - <div v-if="item.term === '鐮旂┒鐢�'"> {{item.content}}</div> - <div v-if="item.term === '宸ヤ綔'"> {{item.content}}</div> - <div v-if="item.term === '缁撳鍚�'"> {{item.content}}</div> - </el-tab-pane> - </el-tabs> - + <div style='position: relative;'> + <el-tabs type="border-card" v-model="activeName" @tab-click="handleClick" + v-loading="loading" :data="AutobiographyList" > + <el-tab-pane v-for="(item, index) in AutobiographyList" + :key='item.id' :label="item.ageBegin+'~'+item.ageEnd+'宀�'+'('+item.term+')'"> + <div v-if="item.term === '濠村効'"> {{item.content}}</div> + <div v-if="item.term === '骞煎効'"> {{item.content}}</div> + <div v-if="item.term === '灏忓'"> {{item.content}}</div> + <div v-if="item.term === '鍒濅腑'"> {{item.content}}</div> + <div v-if="item.term === '楂樹腑'"> {{item.content}}</div> + <div v-if="item.term === '澶у'"> {{item.content}}</div> + <div v-if="item.term === '鐮旂┒鐢�'"> {{item.content}}</div> + <div v-if="item.term === '宸ヤ綔'"> {{item.content}}</div> + <div v-if="item.term === '缁撳鍚�'"> {{item.content}}</div> + </el-tab-pane> + </el-tabs> +<!-- <el-button size='mini' type="text" class="btn_autobiography" @click="showDialog('autobiography')" style='position: absolute;right:10px;top:5px;'>--> +<!-- <sapn v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></sapn>--> +<!-- </el-button>--> + </div> </div> @@ -444,13 +545,16 @@ /> <!-- 鏂板涓昏缁忓巻淇℃伅閰嶇疆瀵硅瘽妗� --> - <el-dialog :title="title" :visible.sync="open" width="900px" append-to-body> + <el-dialog :title="title" :visible.sync="dialogVisible.open" width="900px" append-to-body> <el-form ref="elForm1" :model="formDat" :rules="rules" size="medium" label-width="140px"> <el-form-item label="寮�濮嬫棩鏈�" prop="startDate"> - <el-input v-model="formDat.startDate" placeholder="璇疯緭鍏ュ紑濮嬫棩鏈�" clearable :style="{width: '100%'}" ></el-input> + <el-input v-model="formDat.startDate" type='date' placeholder='閫夋嫨鏃ユ湡' clearable :style="{width: '100%'}" ></el-input> + </el-form-item> + <el-form-item label="缁撴潫鏃ユ湡" prop="endDate"> + <el-input v-model="formDat.endDate" type='date' placeholder='閫夋嫨鏃ユ湡' clearable :style="{width: '100%'}" ></el-input> </el-form-item> <el-form-item label="涓昏瀛︿範缁忓巻銆佸伐浣滃崟浣嶅強浠昏亴鎯呭喌" prop="content"> - <el-input v-model="formDat.content" placeholder="璇疯緭鍏ヤ富瑕佸涔犵粡鍘嗐�佸伐浣滃崟浣嶅強浠昏亴鎯呭喌" clearable :style="{width: '100%'}" > + <el-input v-model="formDat.content" type="textarea" :rows="5" placeholder="璇疯緭鍏ヤ富瑕佸涔犵粡鍘嗐�佸伐浣滃崟浣嶅強浠昏亴鎯呭喌" clearable :style="{width: '100%'}" > </el-input> </el-form-item> <el-form-item label="璇佹槑浜�" prop="witness"> @@ -467,25 +571,25 @@ </div> </el-dialog> <!-- 鏂板瀹跺涵鎴愬憳鍙婁富瑕佺ぞ浼氬叧绯绘儏鍐典俊鎭厤缃璇濇 --> - <el-dialog :title="title" :visible.sync="relation1" width="900px" append-to-body> + <el-dialog :title="title" :visible.sync="dialogVisible.relation1" width="900px" append-to-body> <el-form ref="elForm" :model="formDat" :rules="rules" size="medium" label-width="140px"> <el-form-item label="涓庢湰浜哄叧绯�" prop="relation"> <el-input v-model="formDat.relation" placeholder="璇疯緭鍏ヤ笌鏈汉鍏崇郴" clearable :style="{width: '100%'}" ></el-input> </el-form-item> - <el-form-item label="濮撳悕" prop="nickName"> - <el-input v-model="formDat.nickName" placeholder="璇疯緭鍏ュ鍚�" clearable :style="{width: '100%'}" > + <el-form-item label="濮撳悕" prop="otherName"> + <el-input v-model="formDat.otherName" placeholder="璇疯緭鍏ュ鍚�" clearable :style="{width: '100%'}" > </el-input> </el-form-item> - <el-form-item label="鍗曚綅" prop="unit"> - <el-input v-model="formDat.unit" placeholder="璇疯緭鍏ュ崟浣�" clearable :style="{width: '100%'}" > + <el-form-item label="鍗曚綅" prop="otherUnit"> + <el-input v-model="formDat.otherUnit" placeholder="璇疯緭鍏ュ崟浣�" clearable :style="{width: '100%'}" > </el-input> </el-form-item> - <el-form-item label="鑱屽姟" prop="position"> - <el-input v-model="formDat.position" placeholder="璇疯緭鍏ヨ亴鍔�" clearable :style="{width: '100%'}" > + <el-form-item label="鑱屽姟" prop="otherPosition"> + <el-input v-model="formDat.otherPosition" placeholder="璇疯緭鍏ヨ亴鍔�" clearable :style="{width: '100%'}" > </el-input> </el-form-item> - <el-form-item label="鏀挎不闈㈣矊" prop="politicalOutlook"> - <el-input v-model="formDat.politicalOutlook" placeholder="璇疯緭鍏ユ斂娌婚潰璨�" clearable :style="{width: '100%'}" > + <el-form-item label="鏀挎不闈㈣矊" prop="otherPolitical"> + <el-input v-model="formDat.otherPolitical" placeholder="璇疯緭鍏ユ斂娌婚潰璨�" clearable :style="{width: '100%'}" > </el-input> </el-form-item> @@ -493,16 +597,22 @@ <h4 class="form-header"> </h4> <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitDataScope">淇� 瀛�</el-button> + <el-button type="primary" @click="submitDataScope2">淇� 瀛�</el-button> <el-button @click="cancelData">鍙� 娑�</el-button> </div> </el-dialog> <!-- 鏂板鎸佹湁鍑哄叆澧冭瘉浠舵儏鍐典俊鎭厤缃璇濇 --> - <el-dialog :title="title" :visible.sync="certificate" width="900px" append-to-body> + <el-dialog :title="title" :visible.sync="dialogVisible.certificate" width="900px" append-to-body> <el-form ref="elForm" :model="formDat" :rules="rules" size="medium" label-width="140px"> <el-form-item label="璇佷欢鍚嶇О" prop="cerName"> <el-input v-model="formDat.cerName" placeholder="璇疯緭鍏ヨ瘉浠跺悕绉�" clearable :style="{width: '100%'}" > </el-input> + </el-form-item> + <el-form-item label="璇佷欢绫诲瀷" prop="type"> + <el-select v-model="formDat.type" placeholder="璇烽�夋嫨绫诲瀷" clearable :style="{width: '100%'}" > + <el-option v-for="(item, index) in typeOption" :key="index" :label="item.label" :value="item.value" + ></el-option> + </el-select> </el-form-item> <el-form-item label="鎸佹湁鎯呭喌" prop="ownStatus"> <el-input v-model="formDat.ownStatus" placeholder="璇疯緭鍏ユ寔鏈夋儏鍐�" clearable :style="{width: '100%'}" > @@ -523,22 +633,22 @@ <h4 class="form-header"> </h4> <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitDataScope">淇� 瀛�</el-button> + <el-button type="primary" @click="submitDataScope4">淇� 瀛�</el-button> <el-button @click="cancelData">鍙� 娑�</el-button> </div> </el-dialog> <!-- 鏂板鍑哄浗锛堝锛夋儏鍐典俊鎭厤缃璇濇 --> - <el-dialog :title="title" :visible.sync="abroad" width="900px" append-to-body> + <el-dialog :title="title" :visible.sync="dialogVisible.abroad" width="900px" append-to-body> <el-form ref="elForm" :model="formDat" :rules="rules" size="medium" label-width="140px"> <el-form-item label="寮�濮嬫棩鏈�" prop="startTime"> - <el-input v-model="formDat.startTime" placeholder="璇疯緭鍏ュ紑濮嬫棩鏈�" clearable :style="{width: '100%'}" ></el-input> + <el-input v-model="formDat.startTime" type='date' placeholder='閫夋嫨鏃ユ湡' clearable :style="{width: '100%'}" ></el-input> </el-form-item> <el-form-item label="缁撴潫鏃ユ湡" prop="endTime"> - <el-input v-model="formDat.endTime" placeholder="璇疯緭鍏ョ粨鏉熸棩鏈�" clearable :style="{width: '100%'}" > + <el-input v-model="formDat.endTime" type='date' placeholder='閫夋嫨鏃ユ湡' clearable :style="{width: '100%'}" > </el-input> </el-form-item> <el-form-item label="鎵�鍒板浗瀹舵垨鑰呭湴鍖�" prop="destination"> - <el-input v-model="formDat.destination" placeholder="璇疯緭鍏ユ墍鍒板浗瀹舵垨鑰呭湴鍖�" clearable :style="{width: '100%'}" > + <el-input v-model="formDat.destination" type="textarea" :rows="5" placeholder="璇疯緭鍏ユ墍鍒板浗瀹舵垨鑰呭湴鍖�" clearable :style="{width: '100%'}" > </el-input> </el-form-item> <el-form-item label="浜嬬敱(鏃呮父銆佽蛋璁裤�佹帰浜层�佺户鎵胯储浜с�佸叾浠�)" prop="cause"> @@ -550,7 +660,41 @@ <h4 class="form-header"> </h4> <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitDataScope">淇� 瀛�</el-button> + <el-button type="primary" @click="submitDataScope5">淇� 瀛�</el-button> + <el-button @click="cancelData">鍙� 娑�</el-button> + </div> + </el-dialog> + <!--鏂板鑷紶--> + <el-dialog :title="title" :visible.sync="dialogVisible.autobiography" width="900px" > + <el-col > + <el-form ref="elForm" :model="AutobiographyList" :rules="rules" size="medium" label-position="left" + v-loading="loading" :data="AutobiographyList" @selection-change="handleSelectionChange" > + <el-row :span="5"> + <el-form-item label="骞撮緞娈碉細" prop="ageBegin ageEnd" label-width="70px"> + <el-input v-model="AutobiographyList.ageBegin" placeholder="" clearable :style="{width: '20%'}" > + </el-input> + <span> 宀� 鈥斺��</span> + <el-input v-model="AutobiographyList.ageEnd" placeholder="" clearable :style="{width: '20%'}" > + </el-input> + <span> 宀� </span> + </el-form-item> + <el-form-item label="鏃舵湡锛�" prop="term"> + <el-select v-model="formDat.type" placeholder="璇烽�夋嫨鏃舵湡" clearable :style="{width: '50%'}" > + <el-option v-for="(item, index) in typeOptions" :key="index" :label="item.label" :value="item.value" + ></el-option> + </el-select> + </el-form-item> + <el-form-item label="鍐呭缂栬緫锛�" prop="content"> + <el-input v-model="formDat.content" type="textarea" :rows="5" placeholder="" clearable :style="{width: '100%'}" > + </el-input> + </el-form-item> + </el-row> + </el-form> + </el-col> + <h4 class="form-header"> </h4> + + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitDataScope6">淇� 瀛�</el-button> <el-button @click="cancelData">鍙� 娑�</el-button> </div> </el-dialog> @@ -566,32 +710,17 @@ //鍦╯ystem/note/index.js涓鍏ユ帴鍙e嚱鏁� --鎺ュソ浜� -import { - getIndividualList, - getIndividualRelation, - delIndividual, - updateIndividual, - addIndividual, - listExperience, - updateExperience, - addExperience, - delExperience, - delCertificate, - addCertificate, - addAbroad, - delAbroad -} from "@/api/self/index"; -import { - getAbroadList, - getAutobiography, - getAutobiographyList, - getAutobiographyTermList, - getCertificateList -} from "@/api/self/index" +import {getIndividualList, addIndividual, updateIndividual, delIndividual, + listExperience, addExperience,updateExperience, delExperience, + getIndividualRelation,addRelation,updateRelation,delRelation, + getCertificateList, addCertificate, delCertificate, + getAbroadList,addAbroad, delAbroad, + getAutobiographyList, getAutobiographyTermList,addAutobiography, + getCategory} from "@/api/self/index"; import { delFamilyevent, uploadPic } from '../../api/bignote' import { blobValidate } from '../../utils/ruoyi' -import {getCategory} from "@/api/self/index"; -import {addContact} from "@/api/contacts"; + + export default { name: "show", @@ -616,12 +745,16 @@ //澶村儚涓婁紶 showBtnDealImg:true, noneBtnImg:false, - limitCountImg:1,//涓婁紶鍥剧墖鐨勬渶澶ф暟閲� + //涓婁紶鍥剧墖鐨勬渶澶ф暟閲� + limitCountImg:1, //涓汉淇℃伅鏁版嵁 individualList:[], - fit:['fill'], + isEditing: false, + // fit:['fill'], // 涓汉缁忓巻鏁版嵁 experienceList: [], + // isEdit:true, + editStatus: {}, //瀹跺涵鎴愬憳鍏崇郴鏁版嵁 relationList:[], //鍑哄叆澧冭瘉浠舵儏鍐� @@ -647,14 +780,19 @@ // current: 0, //涓嬫媺瀹炵幇 - activeNames:['1'], + activeNames:'', + dialogVisible: { + open: false, + relation1:false, + certificate:false, + abroad:false, + autobiography:false + }, // 寮瑰嚭灞傛爣棰� title: "", // 鏄惁鏄剧ず寮瑰嚭灞� open: false, - relation1:false, - certificate:false, - abroad:false, + // open:true, // 鏄惁鏄剧ず寮瑰嚭灞傦紙鏁版嵁鏉冮檺锛� openDataScope: false, @@ -705,12 +843,18 @@ id:undefined, userId:undefined, startDate:undefined, + endDate:undefined, content:undefined, witness:undefined, remark: undefined, //瀹跺涵鎴愬憳鍙婁富瑕佺ぞ浼氬叧绯绘儏鍐� relation:undefined, + otherName:undefined, + otherUnit:undefined, + otherPosition:undefined, + otherPolitical:undefined, //鎸佹湁鍑哄叆澧冭瘉浠舵儏鍐� + type:undefined, cerName:undefined, validityDate:undefined, ownStatus:undefined, @@ -720,6 +864,10 @@ endTime:undefined, cause:undefined, url: undefined, + //鑷紶 + ageBegin:undefined, + ageEnd:undefined, + term:undefined }, // 鑿滃崟鍒楄〃 menuOptions: [], @@ -764,7 +912,7 @@ }], maritalStatus: [{ // required: true, - message: '璇疯緭鍏ユ皯鏃�', + message: '璇疯緭鍏ュ濮荤姸鍐�', trigger: 'blur' }], locationAddress: [{ @@ -804,9 +952,14 @@ message: '璇疯緭鍏ヨ捣濮嬫棩鏈�', trigger: 'blur' }], + endDate: [{ + // required: true, + message: '璇疯緭鍏ョ粨鏉熸棩鏈�', + trigger: 'blur' + }], content: [{ - required: true, - message: '璇疯緭鍏ヤ富瑕佸涔犵粡鍘嗐�佸伐浣滃崟浣嶅強浠昏亴鎯呭喌', + // required: true, + message: '璇疯緭鍏�', trigger: 'blur' }], witness: [{ @@ -816,66 +969,43 @@ }], }, - typeOptions: [], + typeOptions:[], + typeOption: [{ + value:'鎶ょ収', + label:'鎶ょ収' + },{ + value:'閫氳璇�', + label:'閫氳璇�' + },{ + value:'韬唤璇�', + label:'韬唤璇�' + }], }; }, created() { this.getList(); this.getAutobiographyInfor() + // this.experienceList.forEach(item => { + // this.$set(this.editStatus, item.id, false); + // }); }, methods: { // 鍙栨秷鎸夐挳 cancelData() { - this.open = false; + this.dialogVisible.open = false; + this.dialogVisible.relation1 = false; + this.dialogVisible.certificate =false; + this.dialogVisible.abroad=false; + this.dialogVisible.autobiography=false this.reset(); }, //涓嬫媺 handleChange(activeNames) { // console.log(val); this.reset(); - if (activeNames.includes('1')) { - this.showDialog1(); - }else if (activeNames.includes('2')) { - this.showDialog2(); - }else if (activeNames.includes('3')) { - this.showDialog3(); - }else if (activeNames.includes('4')) { - this.showDialog4(); - }else { - this.open = false; - this.relation1 = false; - this.certificate =false; - this.abroad=false - } }, - //鎵撳紑涓嶅悓鐨勬柊澧炲脊绐� - showDialog1() { - this.open = true; - this.relation1 = false; - this.certificate =false; - this.abroad=false; - this.title = "娣诲姞涓昏涓汉缁忓巻淇℃伅"; - }, - showDialog2() { - this.open = false; - this.relation1 = true; - this.certificate =false; - this.abroad=false; - this.title = "娣诲姞瀹跺涵鎴愬憳鍙婁富瑕佺ぞ浼氬叧绯绘儏鍐�"; - }, - showDialog3() { - this.open = false; - this.relation1 = false; - this.certificate =true; - this.abroad=false; - this.title = "娣诲姞鎸佹湁鍑哄叆澧冭瘉浠舵儏鍐�"; - }, - showDialog4() { - this.open = false; - this.relation1 = false; - this.certificate =false; - this.abroad=true; - this.title = "娣诲姞鍑哄浗锛堝锛夋儏鍐�"; + showDialog(dialogName) { + this.dialogVisible[dialogName] = true; }, //涓汉鑷紶 @@ -893,7 +1023,18 @@ return "statistics-warning-row"; } }, - + //璇佷欢绫诲埆 + getSrc(type) { + if (type === '鎶ょ収'){ + return '鎶ょ収' + }else if(type === '閫氳璇�'){ + return '閫氳璇�' + }else if(type === '韬唤璇�'){ + return '韬唤璇�' + }else { + return '鈥斺�斺�斺�斺�斺��' + } + }, /** 鏌ヨ瑙掕壊鍒楄〃 */ getList() { @@ -966,7 +1107,6 @@ //鍥剧墖鐨勪笂浼犲強涓婁紶鎸夐挳闅愯棌 - // 鍙栨秷鎸夐挳 cancel() { this.open = false; @@ -978,6 +1118,7 @@ this.reset(); }, + //涓汉鍩烘湰淇℃伅 submitForm() { let ul = this.fileList.map(function (elem){ return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"") @@ -985,12 +1126,12 @@ let uls = this.fileListOther.map(function (elem){ return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"") }).join(",") - this.formDat.url = ul+","+uls + this.individualList.url = ul+","+uls this.$refs['elForm'].validate(valid => { if (valid) { - if (this.formDat.id != undefined) { - updateIndividual(this.formDat).then(response => { + if (this.individualList.userId !== undefined) { + updateIndividual(this.individualList).then(response => { this.$modal.msgSuccess("淇敼鎴愬姛"); // this.open = false; this.btn=false @@ -1001,10 +1142,45 @@ } } }) + // 鍒锋柊椤甸潰 + window.location.reload(); + }, + //涓昏缁忓巻 + editRow(row) { + this.$set(row, 'isEdit', true); + this.$set(this.editStatus, row.id, true); + }, + saveRow(row) { + // 鍦ㄨ繖閲屽鐞嗕繚瀛樹慨鏀瑰悗鐨勬暟鎹殑閫昏緫锛屽彲浠ュ彂閫佺粰鍚庣淇濆瓨 + let ul = this.fileList.map(function (elem){ + return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"") + }).join(",") + let uls = this.fileListOther.map(function (elem){ + return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"") + }).join(",") + this.experienceList.url = ul+","+uls + + this.$refs['elForm'].validate(valid => { + if (valid) { + if (this.experienceList.id !== undefined) { + updateExperience(this.experienceList).then(response => { + this.$modal.msgSuccess("淇敼鎴愬姛"); + // this.open = false; + // this.btn=false + + }); + } else { + this.$modal.msgSuccess("淇敼澶辫触"); + + } + } + }) + this.$set(row, 'isEdit', false); + this.$set(this.editStatus, row.id, false); }, // 琛ㄥ崟閲嶇疆 reset() { - if (this.$refs.menu != undefined) { + if (this.$refs.menu !== undefined) { this.$refs.menu.setCheckedKeys([]); } this.menuExpand = false, @@ -1101,8 +1277,9 @@ this.btn = true this.isShow=false this.isShow_2=true + this.isEditing=true + // this.isEdit=false }, - //淇敼鎸夐挳 /** 鏂板鎸夐挳鎿嶄綔 */ handleAdd() { this.reset(); @@ -1130,28 +1307,118 @@ return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"") }).join(",") this.formDat.url = ul+","+uls + this.$refs["elForm"].validate(valid => { if (valid) { - - addExperience(this.formDat).then(response => { this.$modal.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - }); - addCertificate(this.formDat).then(response => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.certificate = false; - this.getList(); - }); - addAbroad(this.formDat).then(response => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.abroad = false; + this.dialogVisible.open = false; this.getList(); }); } }); + // 娓呯┖formDat瀵硅薄鐨勬暟鎹� + Object.keys(this.formDat).forEach(key => { + this.formDat[key] = ''; + }); }, + submitDataScope2: function() { + + let ul = this.fileList.map(function (elem){ + return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"") + }).join(",") + let uls = this.fileListOther.map(function (elem){ + return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"") + }).join(",") + this.formDat.url = ul+","+uls + + this.$refs["elForm"].validate(valid => { + if (valid) { + addRelation(this.formDat).then(response => { + this.$modal.msgSuccess("鏂板鎴愬姛"); + this.dialogVisible.relation1 = false; + this.getList(); + }); + } + }); + // 娓呯┖formDat瀵硅薄鐨勬暟鎹� + Object.keys(this.formDat).forEach(key => { + this.formDat[key] = ''; + }); + }, + submitDataScope4: function() { + + let ul = this.fileList.map(function (elem){ + return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"") + }).join(",") + let uls = this.fileListOther.map(function (elem){ + return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"") + }).join(",") + this.formDat.url = ul+","+uls + + this.$refs["elForm"].validate(valid => { + if (valid) { + addCertificate(this.formDat).then(response => { + this.$modal.msgSuccess("鏂板鎴愬姛"); + this.dialogVisible.certificate = false; + this.getList(); + }); + } + }); + // 娓呯┖formDat瀵硅薄鐨勬暟鎹� + Object.keys(this.formDat).forEach(key => { + this.formDat[key] = ''; + }); + }, + submitDataScope5: function() { + + let ul = this.fileList.map(function (elem){ + return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"") + }).join(",") + let uls = this.fileListOther.map(function (elem){ + return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"") + }).join(",") + this.formDat.url = ul+","+uls + + this.$refs["elForm"].validate(valid => { + if (valid) { + addAbroad(this.formDat).then(response => { + this.$modal.msgSuccess("鏂板鎴愬姛"); + this.dialogVisible.abroad = false; + this.getList(); + }); + } + }); + // 娓呯┖formDat瀵硅薄鐨勬暟鎹� + Object.keys(this.formDat).forEach(key => { + this.formDat[key] = ''; + }); + }, + submitDataScope6: function() { + + let ul = this.fileList.map(function (elem){ + return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"") + }).join(",") + let uls = this.fileListOther.map(function (elem){ + return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"") + }).join(",") + this.formDat.url = ul+","+uls + + this.$refs["elForm"].validate(valid => { + if (valid) { + addAutobiography(this.formDat).then(response => { + this.$modal.msgSuccess("鏂板鎴愬姛"); + this.dialogVisible.autobiography = false; + this.getList(); + }); + } + }); + // 娓呯┖formDat瀵硅薄鐨勬暟鎹� + Object.keys(this.formDat).forEach(key => { + this.formDat[key] = ''; + }); + }, + requestUpload(params) { var file = params.file; @@ -1175,11 +1442,24 @@ }) }, + + //淇敼涓昏缁忓巻 + /** 鍒犻櫎涓汉缁忓巻鎸夐挳鎿嶄綔 */ handleExperienceDelete(row) { const Ids = row.id || this.ids; this.$modal.confirm('鏄惁纭鍒犻櫎鏁版嵁椤癸紵').then(function() { return delExperience(Ids); + }).then(() => { + this.getList(); + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }).catch(() => {}); + }, + /** 鍒犻櫎鎴愬憳鍏崇郴鎸夐挳鎿嶄綔 */ + handleRelationDelete(row) { + const Ids = row.id || this.ids; + this.$modal.confirm('鏄惁纭鍒犻櫎鏁版嵁椤癸紵').then(function() { + return delRelation(Ids); }).then(() => { this.getList(); this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); @@ -1205,6 +1485,7 @@ this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); }).catch(() => {}); }, + /** 瀵煎嚭鎸夐挳鎿嶄綔 */ handleExport() { this.download('/self/user/export', { @@ -1245,4 +1526,28 @@ .el-collapse-item__header { background-color:#FEF7FC; } +.title-wrapper { + display: flex; + justify-content: space-between; +} +.btn_autobiography{ + background:center no-repeat url('../../assets/icons/add1.png') ; +} +.button { + background:center no-repeat url('../../assets/icons/add1.png') ; + margin-left: 69.5vw; + +} +.button2 { + background: center no-repeat url('../../assets/icons/add1.png') ; + margin-left: 66vw; +} +.button4 { + background: center no-repeat url('../../assets/icons/add1.png') ; + margin-left: 69.5vw; +} +.button5 { + background:center no-repeat url('../../assets/icons/add1.png') ; + margin-left: 71vw; +} </style> -- Gitblit v1.9.1