From bcac500a760877dc9140f1f381739793706c1af6 Mon Sep 17 00:00:00 2001 From: feige <feige@qq.com> Date: 星期五, 10 十一月 2023 10:29:38 +0800 Subject: [PATCH] 修改图片大小 --- ruoyi-ui/src/views/self/show.vue | 1380 ++++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 1,078 insertions(+), 302 deletions(-) diff --git a/ruoyi-ui/src/views/self/show.vue b/ruoyi-ui/src/views/self/show.vue index 3f897d2..e9a7273 100644 --- a/ruoyi-ui/src/views/self/show.vue +++ b/ruoyi-ui/src/views/self/show.vue @@ -1,12 +1,52 @@ <template> - <div class="app-container"> + <div class="app-container" id="printable-content"> + <!-- 鍒锋柊椤甸潰 --> +<!-- <MyComponent :key="componentKey" />--> <!-- 鍥炲埌椤堕儴--> <el-backtop :bottom="150" :right="30"> <el-button type="primary" circle class="el-icon-top" ></el-button> </el-backtop> - <h1 style="font-size:21px;padding-top:30px">涓汉绠�鍘�</h1> + <h1 style="font-size:21px;padding-top:30px;display: flex;"> + <span>涓汉绠�鍘�</span> + <div class="button-container" > + <el-button + size="mini" + style="background: #E0EEFE; + border-radius: 7px 7px 7px 7px;opacity: 1; margin-left: 20px;" + @click="handleEdit()" + v-if="isShow" + v-hasPermi="['system:role:edit']" + >缂栬緫</el-button> + <el-button v-if="isShow_2" size="mini" + style=" width: 67px;height: 27px;background:#E0EEFE; + border-radius: 7px 7px 7px 7px;opacity: 1;margin-left: 20px; "@click="submitForm" :disabled="dsb">瀹屾垚</el-button> + + <el-button + size="mini" + style=" width: 67px;height: 27px;background: #D2F3E0; + border-radius: 7px 7px 7px 7px;opacity: 1;margin-left: 20px; " + @click="handleExport" + v-hasPermi="['family:note:export']" + >瀵煎嚭</el-button> + + <el-button + size="mini" + style=" width: 67px;height: 27px;background: #FFDDE3; + border-radius: 7px 7px 7px 7px;opacity: 1; margin-left: 20px;" + v-print="'#printable-content'" + v-hasPermi="['family:note:export']" + >鎵撳嵃</el-button> + </div> + <div style="display: flex; align-items: center;"> + <el-button size="mini" type="text" @click="toMemo" v-hasPermi="['person:information:memo']" style="margin-left: 20px"> + <div class="form" ><el-icon style="padding-right:100px;"></el-icon> + <span class="text" style="width: 69px;height: 26px;font-size: 16px; + font-family: Microsoft YaHei-Regular, Microsoft YaHei; color: #EBA4AA;">涓汉璁颁簨鏈�</span></div> + </el-button> + </div> + </h1> <el-divider /> <!-- 鍩烘湰淇℃伅--> <h2 style="font-size:16px">鍩烘湰淇℃伅</h2> @@ -16,19 +56,19 @@ <el-col > <el-form ref="elForm" :model="individualList" :rules="rules" size="medium" label-position="left" v-loading="loading" :data="individualList" @selection-change="handleSelectionChange" > - <el-row :span="5"> + <el-row :span="6"> <el-form-item label="濮撳悕" prop="nickName" label-width="40px"> <el-input v-model="individualList.nickName" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> </el-input> </el-form-item> </el-row> - <el-row :span="5"> + <el-row :span="6"> <el-form-item label="鏇剧敤鍚�" prop="oldName" label-width="60px"> <el-input v-model="individualList.oldName" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> </el-input> </el-form-item> </el-row> - <el-row :span="5"> + <el-row :span="6"> <el-form-item label="韬唤璇佸彿" prop="idNum" label-width="70px"> <el-input v-model="individualList.idNum" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> </el-input> @@ -38,14 +78,23 @@ </el-col> </el-container> </div> - <div style="padding-left:30px"> + <div style="padding-left:60px"> <el-container> <el-col v-loading="loading" :data="individualList" @selection-change="handleSelectionChange"> <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 ? inds='鐢�':inds='濂�'" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"></el-input> + </template> + <template v-else> + <el-select v-model="inds" placeholder="璇烽�夋嫨鎬у埆" clearable :style="{width: '100%'}" :disabled="dsb"> + <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"> @@ -64,7 +113,7 @@ </el-col> </el-container> </div> - <div style="padding-left:30px"> + <div style="padding-left:60px"> <el-container> <el-col v-loading="loading" :data="individualList" @selection-change="handleSelectionChange"> <el-form ref="elForm" :model="individualList" :rules="rules" size="medium" label-position="left":disabled="dsb"> @@ -76,8 +125,19 @@ </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="mrs" 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> @@ -85,69 +145,58 @@ </el-col> </el-container> </div> - <div style="padding-left:30px;padding-top:30px"> + <div style="padding-left:100px;padding-top:30px"> <el-col :span="6" :data="individualList"> - <div class="block" :model="individualList" > - <el-col v-model="individualList.url" prop="url"> - <el-avatar shape="square" :size=200 > + <div class="block" :model="individualList"> + <div v-if="!isEditing"> + <el-avatar shape="square" style="width: 200px; height: 150px;"> <el-image - :src="'http://47.93.189.255:8080/'+ individualList.url" + class="el-upload-list__item-thumbnail" + v-if="!individualList.img" + src="default-avatar-url" :fit="fit" + style="width: 100%; height: 100%;" + ></el-image> + <el-image + v-else + :src="'http://47.93.189.255:8080/' + individualList.img" + :fit="fit" + style="width: 100%; height: 100%;" ></el-image> </el-avatar> - </el-col> + </div> + <el-upload v-else + class="upload-demo" + action="#" + :auto-upload="false" + :http-request="requestUpload" + :limit="1" + :file-list="fileList" + > + <el-avatar shape="square" style="width: 200px; height: 150px;"> + <el-image + class="el-upload-list__item-thumbnail" + v-if="!individualList.img" + src="default-avatar-url" + :fit="fit" + style="width: 100%; height: 100%;" + ></el-image> + <el-image + v-else + :src="'http://47.93.189.255:8080/' + individualList.img" + :fit="fit" + style="width: 100%; height: 100%;" + ></el-image> + </el-avatar> + </el-upload> + <div class="edit-text" v-if="isEditing" @click="uploadImage">鐐瑰嚮鏇存崲鍥剧墖</div> </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" > - <el-container > - <el-row > - <el-button - type="primary" - @click="handleEdit()" - v-if="isShow" - v-hasPermi="['system:role:edit']" - >缂栬緫</el-button> - <br> - <el-button - type="primary" - @click="handleExport" - v-hasPermi="['family:note:export']" - >瀵煎嚭</el-button> - <br> - <el-button v-if="isShow_2" type="primary" @click="submitForm" :disabled="dsb">瀹屾垚</el-button> - </el-row> - </el-container> </div> <!-- </el-dialog> self:user:export--> </el-container> @@ -179,7 +228,7 @@ </el-col> </el-container> </div> - <div style="padding-left:30px"> + <div style="padding-left:60px"> <el-container> <el-col v-loading="loading" :data="individualList" @selection-change="handleSelectionChange"> <el-form ref="elForm" :model="individualList" :rules="rules" size="medium" label-position="left"> @@ -208,158 +257,295 @@ </el-container> <!--鎶樺彔闈㈡澘--> - <el-collapse v-model="activeNames" @change="handleChange"> - <el-collapse-item title="涓昏瀛︿範鍙婂伐浣滅粡鍘�" name="1"> + <el-collapse v-model="activeNames" @change="handleChange"> + <el-collapse-item title="绉诲眳鍥斤紙澧冿級鎯呭喌" name="3" > + <div> + <el-form v-loading="loading" :data="individualList" @selection-change="handleSelectionChange"> + <el-form-item label="鏄惁鎷ユ湁澶栫睄銆佸澶栧眳鐣欐潈銆侀暱鏈熷眳鐣欒鍙�" > + <el-radio-group v-model="individualList.outStatus" style="margin-bottom: 0;color: #FEF7FC;" :disabled="dsb"> + <el-radio :label="1">鏄�</el-radio> + <el-radio :label="0">鍚�</el-radio> + </el-radio-group> + <el-container > + <el-row :span="7"> + <el-form v-loading="loading" :data="individualList" @selection-change="handleSelectionChange"> + <el-form-item label="璇佷欢鍙风爜" prop="idNo" label-width="70px"> + <el-input v-model="individualList.idNo" style="color: #FEF7FC;" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> + </el-input> + </el-form-item> + </el-form> + </el-row> + </el-container> + </el-form-item> + </el-form> + + </div> + + </el-collapse-item> + + <!--涓昏瀛︿範鍙婂伐浣滅粡鍘�--> + <el-collapse-item name="1" > + <template v-slot:title> + <div class="title-wrapper"> + <div class="left-content">涓昏瀛︿範鍙婂伐浣滅粡鍘�</div> + <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-date-picker v-model="scope.row.startDate" type="date" placeholder="璇烽�夋嫨鏃ユ湡" + :editable="false" :clearable="false" :style="{width: '100%'}" value-format="yyyy-MM-dd" + ></el-date-picker></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-date-picker v-model="scope.row.endDate" type="date" placeholder="璇烽�夋嫨鏃ユ湡" + :editable="false" :clearable="false" :style="{width: '100%'}" value-format="yyyy-MM-dd" + ></el-date-picker></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"> -<!-- @click="handleUpdate(scope.row)"--> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleAdd" - v-hasPermi="['system:role:edit']" - >淇敼</el-button> - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleExperienceDelete(scope.row)" - v-hasPermi="['system:role:remove']" - >鍒犻櫎</el-button> - <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:role:edit']"> - <el-button size="mini" type="text" icon="el-icon-d-arrow-right" @click="handleCheck(scope.row)">鏌ョ湅璇︽儏</el-button> - - </el-dropdown> + <el-button size="mini" type="text" icon="el-icon-edit" v-if="!editStatus[scope.row.id]" + @click="editRow(scope.row)" v-hasPermi="['system:role:edit']">淇敼</el-button> + <el-button size="mini" type="text" + v-if="editStatus[scope.row.id]" @click="saveRowExperienceList(scope.row)">淇濆瓨</el-button> + <el-button size="mini" type="text" icon="el-icon-delete" + @click="handleExperienceDelete(scope.row)" v-hasPermi="['system:role:remove']">鍒犻櫎</el-button> </template> </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 class="left-content">瀹跺涵鎴愬憳鍙婁富瑕佺ぞ浼氬叧绯绘儏鍐�</div> + <div> + <el-button class="button" 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.unit}}/{{scope.row.position}} + <template v-if="!scope.row.isEdit">{{ scope.row.relation }}</template> + <template v-else><el-input v-model="scope.row.relation"></el-input></template> </template> </el-table-column> - <el-table-column label="鏀挎不闈㈣矊" prop="politicalOutlook" sortable width="260" align="center"/> + <el-table-column label="濮撳悕" prop="otherName" sortable width="260" align="center" > + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit">{{ scope.row.otherName }}</template> + <template v-else><el-input v-model="scope.row.otherName"></el-input></template> + </template> + </el-table-column> + <el-table-column label="鍗曚綅" prop="otherUnit" sortable width="220" align="center" > + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit">{{ scope.row.otherUnit }}</template> + <template v-else><el-input v-model="scope.row.otherUnit"></el-input></template> + </template> + </el-table-column> + <el-table-column label="鑱屽姟" prop="otherPosition" sortable width="220" align="center"> + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit">{{ scope.row.otherPosition }}</template> + <template v-else><el-input v-model="scope.row.otherPosition"></el-input></template> + </template> + </el-table-column> + <el-table-column label="鏀挎不闈㈣矊" prop="otherPolitical" sortable width="260" align="center"> + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit">{{ scope.row.otherPolitical }}</template> + <template v-else><el-input v-model="scope.row.otherPolitical"></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"> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:role:edit']" - >淇敼</el-button> - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleCertificateDelete(scope.row)" - v-hasPermi="['system:role:remove']" - >鍒犻櫎</el-button> - <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:role:edit']"> - <el-button size="mini" type="text" icon="el-icon-d-arrow-right" @click="handleCheck(scope.row)">鏌ョ湅璇︽儏</el-button> - - </el-dropdown> + <el-button size="mini" type="text" icon="el-icon-edit" v-if="!editStatus[scope.row.id]" + @click="editRow(scope.row)" v-hasPermi="['system:role:edit']">淇敼</el-button> + <el-button size="mini" type="text" v-if="editStatus[scope.row.id]" + @click="saveRowRelationList(scope.row)">淇濆瓨</el-button> + <el-button size="mini" type="text" icon="el-icon-delete" + @click="handleRelationDelete(scope.row)" v-hasPermi="['system:role:remove']">鍒犻櫎</el-button> </template> </el-table-column> </el-table> </el-collapse-item> - <el-collapse-item title="绉诲眳鍥斤紙澧冿級鎯呭喌" name="3" > - <div> - <el-form v-loading="loading" :data="individualList" @selection-change="handleSelectionChange"> - <el-form-item label="鏄惁鎷ユ湁澶栫睄銆佸澶栧眳鐣欐潈銆侀暱鏈熷眳鐣欒鍙�"> - <el-radio-group v-model="individualList.outStatus" style="margin-bottom: 0"> - <el-radio :label="1">鏄�</el-radio> - <el-radio :label="0">鍚�</el-radio> - </el-radio-group> - <el-container > - <el-row :span="7"> - <el-form v-loading="loading" :data="individualList" @selection-change="handleSelectionChange"> - <el-form-item label="璇佷欢鍙风爜" prop="idNo" label-width="70px"> - <el-input v-model="individualList.idNo" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> - </el-input> - </el-form-item> - </el-form> - </el-row> - </el-container> - </el-form-item> - </el-form> - - </div> - - </el-collapse-item> - <el-collapse-item title="鎸佹湁鍑哄叆澧冭瘉浠舵儏鍐�" name="4"> + <!--鎸佹湁鍑哄叆澧冭瘉浠舵儏鍐�--> + <el-collapse-item name="4"> + <template v-slot:title> + <div class="title-wrapper"> + <div class="left-content">鎸佹湁璇佷欢鎯呭喌</div> + <el-button class="button" 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="validityDate" sortable width="280" align="center"> + <el-table-column label="璇佷欢鍚嶇О" prop="cerName" sortable width="230" align="center" > + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit">{{ scope.row.cerName }}</template> + <template v-else><el-input v-model="scope.row.cerName"></el-input></template> + </template> + </el-table-column> + <el-table-column label="璇佷欢绫诲瀷" prop="type" sortable width="230" align="center" > + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit">{{ scope.row.type }}</template> + <template v-else><el-input v-model="scope.row.type"></el-input></template> + </template> + </el-table-column> + <el-table-column label="鎸佹湁鎯呭喌" prop="ownStatus" sortable width="230" align="center" > + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit">{{ scope.row.ownStatus }}</template> + <template v-else><el-input v-model="scope.row.ownStatus"></el-input></template> + </template> + </el-table-column> + <el-table-column label="璇佷欢鍙风爜" prop="idNo" sortable width="230" align="center" > + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit">{{ scope.row.idNo }}</template> + <template v-else><el-input v-model="scope.row.idNo"></el-input></template> + </template> + </el-table-column> + <el-table-column label="寮�濮嬫椂闂�" prop="startTime" sortable width="230" align="center"> + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit">{{ scope.row.startTime }}</template> + <template v-else> + <el-date-picker v-model="scope.row.startTime" type="date" placeholder="璇烽�夋嫨鏃ユ湡" + :editable="false" :clearable="false" :style="{width: '100%'}" value-format="yyyy-MM-dd" + ></el-date-picker></template> + </template> + </el-table-column> + <el-table-column label="缁撴潫鏃堕棿" prop="endTime" sortable width="230" align="center"> + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit">{{ scope.row.endTime }}</template> + <template v-else> + <el-date-picker v-model="scope.row.endTime" type="date" placeholder="璇烽�夋嫨鏃ユ湡" + :editable="false" :clearable="false" :style="{width: '100%'}" value-format="yyyy-MM-dd" + ></el-date-picker></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"> + <el-button size="mini" type="text" icon="el-icon-edit" v-if="!editStatus[scope.row.id]" + @click="editRow(scope.row)" v-hasPermi="['system:role:edit']">淇敼</el-button> + <el-button size="mini" type="text" v-if="editStatus[scope.row.id]" + @click="saveRowCertificateList(scope.row)">淇濆瓨</el-button> + <el-button size="mini" type="text" icon="el-icon-delete" + @click="handleCertificateDelete(scope.row)" v-hasPermi="['system:role:remove']">鍒犻櫎</el-button> + </template> </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"> + <div class="left-content">鍑哄浗锛堝锛夋儏鍐�</div> + <el-button class="button" 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="startDate" sortable width="350" align="center" /> - <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="startTime" sortable width="200" align="center"> + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit">{{ scope.row.startTime }}</template> + <template v-else> + <el-date-picker v-model="scope.row.startTime" type="date" placeholder="璇烽�夋嫨鏃ユ湡" + :editable="false" :clearable="false" :style="{width: '100%'}" value-format="yyyy-MM-dd" + ></el-date-picker></template> + </template> + </el-table-column> + <el-table-column label="缁撴潫鏃堕棿" prop="endTime" sortable width="200" align="center"> + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit">{{ scope.row.endTime }}</template> + <template v-else> + <el-date-picker v-model="scope.row.endTime" type="date" placeholder="璇烽�夋嫨鏃ユ湡" + :editable="false" :clearable="false" :style="{width: '100%'}" value-format="yyyy-MM-dd" + ></el-date-picker></template> + </template> + </el-table-column> + <el-table-column label="鎵�鍒板浗瀹舵垨鑰呭湴鍖�" prop="destination" sortable width="300" align="center" > + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit">{{ scope.row.destination }}</template> + <template v-else><el-input v-model="scope.row.destination"></el-input></template> + </template> + </el-table-column> + <el-table-column label="浜嬬敱锛堟梾娓搞�佽蛋璁裤�佹帰浜层�佺户鎵胯储浜с�佸叾浠栵級" prop="cause" sortable width="420" align="center" > + <template slot-scope="scope"> + <template v-if="!scope.row.isEdit">{{ scope.row.cause }}</template> + <template v-else><el-input v-model="scope.row.cause"></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"> + <el-button size="mini" type="text" icon="el-icon-edit" v-if="!editStatus[scope.row.id]" + @click="editRow(scope.row)" v-hasPermi="['system:role:edit']">淇敼</el-button> + <el-button size="mini" type="text" v-if="editStatus[scope.row.id]" + @click="saveRowAbroadList(scope.row)">淇濆瓨</el-button> + <el-button size="mini" type="text" icon="el-icon-delete" @click="handleAbroadDelete(scope.row)" + v-hasPermi="['system:role:remove']">鍒犻櫎</el-button> + </template> + </el-table-column> </el-table> </el-collapse-item> + <!-- 鑷紶--> + <el-collapse-item name="6"> + <template v-slot:title> + <div class="title-wrapper"> + <div class="left-content">鑷紶</div> + <div> + <el-button size='mini' type="text" class="button" @click="showDialog('autobiography')" > + <sapn v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></sapn> + </el-button> + </div> + </div> + </template> + <el-contain> + <div> + <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>{{ item.content }}</div> + <el-button size='mini' type="text" class="btn_edit" @click="editAutobiography(item)" style='position: absolute;right:40px;top:5px;'> + <sapn v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></sapn> + </el-button> + + <el-button size="mini" type="text" class="btn_del" @click="handleAutobiography(item)" style='position: absolute;right:10px;top:5px;'> + <sapn v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></sapn> + </el-button> + + </el-tab-pane> + </el-tabs></div> + </el-contain> + </el-collapse-item> + </el-collapse> - <!-- 鑷紶--> - <div style="padding-top:30px"> - <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" @selection-change="handleSelectionChange"> - <el-tab-pane v-for="item in AutobiographyList" :key="item.id" :label="item.label" :name="item.id"> - <div v-if="item.id === '1'"> - // 鏄剧ず涓巌d涓�1鐨勫瓧鍏搁」鐩稿叧鐨勫唴瀹� - </div> - <div v-else-if="item.id === '2'"> - // 鏄剧ず涓巌d涓�2鐨勫瓧鍏搁」鐩稿叧鐨勫唴瀹� - </div> - <div v-else> - // 鏄剧ず涓庡叾浠栧瓧鍏搁」鐩稿叧鐨勫唴瀹� - </div> - </el-tab-pane> -<!-- <el-tab-pane label="0~3宀�(濠村効鏈�)" name="1" >--> -<!--<!– <el-input v-model="AutobiographyList.content" prop="content" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb">–>--> -<!--<!– </el-input>–>--> -<!-- </el-tab-pane>--> -<!-- <el-tab-pane label="6~12(灏忓)" name="2" ></el-tab-pane>--> -<!-- <el-tab-pane label="12~15(鍒濅腑)" name="3"></el-tab-pane>--> -<!-- <el-tab-pane label="15~18(楂樹腑)" name="4"></el-tab-pane>--> -<!-- <el-tab-pane label="18~22(澶у)" name="5"></el-tab-pane>--> -<!-- <el-tab-pane label="22~25(鐮旂┒鐢�)" name="6"></el-tab-pane>--> -<!-- <el-tab-pane label="26~ (宸ヤ綔)" name="7"></el-tab-pane>--> -<!-- <el-tab-pane label="锛熷瞾缁撳" name="8"></el-tab-pane>--> -<!-- <!– </div>–>--> -<!-- <!– <el-tab-pane–>--> -<!-- <!– v-for="(item, index) in AutobiographyTermList"–>--> -<!-- <!– :key="index"–>--> -<!-- <!– :name="item"–>--> -<!-- <!– :label="item"–>--> -<!-- <!– />–>--> - </el-tabs> - </div> <pagination v-show="total>0" @@ -369,14 +555,21 @@ @pagination="getList" /> - <!-- 淇敼涓昏缁忓巻淇℃伅閰嶇疆瀵硅瘽妗� --> - <el-dialog :title="title" :visible.sync="open" width="900px" append-to-body> - <el-form ref="elForm" :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-dialog 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-date-picker v-model="formDat.startDate" type="date" placeholder="璇烽�夋嫨鏃ユ湡" + :editable="false" :clearable="false" :style="{width: '100%'}" value-format="yyyy-MM-dd" + ></el-date-picker> + </el-form-item> + <el-form-item label="缁撴潫鏃ユ湡" prop="endDate"> + <el-date-picker v-model="formDat.endDate" type="date" placeholder="璇烽�夋嫨鏃ユ湡" + :editable="false" :clearable="false" :style="{width: '100%'}" value-format="yyyy-MM-dd" + ></el-date-picker> </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"> @@ -388,13 +581,151 @@ <h4 class="form-header"> </h4> <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">淇� 瀛�</el-button> + <el-button type="primary" @click="submitDataScope">淇� 瀛�</el-button> <el-button @click="cancelData">鍙� 娑�</el-button> </div> </el-dialog> + <!-- 鏂板瀹跺涵鎴愬憳鍙婁富瑕佺ぞ浼氬叧绯绘儏鍐典俊鎭厤缃璇濇 --> + <el-dialog 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="otherName"> + <el-input v-model="formDat.otherName" placeholder="璇疯緭鍏ュ鍚�" clearable :style="{width: '100%'}" > + </el-input> + </el-form-item> + <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="otherPosition"> + <el-input v-model="formDat.otherPosition" placeholder="璇疯緭鍏ヨ亴鍔�" clearable :style="{width: '100%'}" > + </el-input> + </el-form-item> + <el-form-item label="鏀挎不闈㈣矊" prop="otherPolitical"> + <el-input v-model="formDat.otherPolitical" placeholder="璇疯緭鍏ユ斂娌婚潰璨�" clearable :style="{width: '100%'}" > + </el-input> + </el-form-item> + </el-form> + <h4 class="form-header"> </h4> + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitDataScope2">淇� 瀛�</el-button> + <el-button @click="cancelData">鍙� 娑�</el-button> + </div> + </el-dialog> + <!-- 鏂板鎸佹湁璇佷欢鎯呭喌淇℃伅閰嶇疆瀵硅瘽妗� --> + <el-dialog 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-input v-model="newOption" v-if="showInput" placeholder="鑻ユ湭鍦ㄤ笂杩伴�夐」涓壘鍒板搴旂被鍨嬶紝璇峰湪姝よ緭鍏ユ柊鐨勮瘉浠剁被鍨�" @change="addNewOption"></el-input> + </el-form-item> + <el-form-item label="鎸佹湁鎯呭喌" prop="ownStatus"> + <el-input v-model="formDat.ownStatus" placeholder="璇疯緭鍏ユ寔鏈夋儏鍐�" clearable :style="{width: '100%'}" > + </el-input> + </el-form-item> + <el-form-item label="璇佷欢鍙风爜" prop="idNo"> + <el-input v-model="formDat.idNo" placeholder="璇疯緭鍏ヨ瘉浠跺彿鐮�" clearable :style="{width: '100%'}" > + </el-input> + </el-form-item> + <el-form-item label="寮�濮嬫棩鏈�" prop="startTime"> + <el-date-picker v-model="formDat.startTime" type="date" placeholder="璇烽�夋嫨鏃ユ湡" + :editable="false" :clearable="false" :style="{width: '100%'}" value-format="yyyy-MM-dd" + ></el-date-picker> + </el-form-item> + <el-form-item label="缁撴潫鏃ユ湡" prop="endTime"> + <el-date-picker v-model="formDat.endTime" type="date" placeholder="璇烽�夋嫨鏃ユ湡" + :editable="false" :clearable="false" :style="{width: '100%'}" value-format="yyyy-MM-dd" + ></el-date-picker></el-form-item> + </el-form> + <h4 class="form-header"> </h4> + + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitDataScope4">淇� 瀛�</el-button> + <el-button @click="cancelData">鍙� 娑�</el-button> + </div> + </el-dialog> + <!-- 鏂板鍑哄浗锛堝锛夋儏鍐典俊鎭厤缃璇濇 --> + <el-dialog 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-date-picker v-model="formDat.startTime" type="date" placeholder="璇烽�夋嫨鏃ユ湡" + :editable="false" :clearable="false" :style="{width: '100%'}" value-format="yyyy-MM-dd" + ></el-date-picker></el-form-item> + <el-form-item label="缁撴潫鏃ユ湡" prop="endTime"> + <el-date-picker v-model="formDat.endTime" type="date" placeholder="璇烽�夋嫨鏃ユ湡" + :editable="false" :clearable="false" :style="{width: '100%'}" value-format="yyyy-MM-dd" + ></el-date-picker> + </el-form-item> + <el-form-item label="鎵�鍒板浗瀹舵垨鑰呭湴鍖�" prop="destination"> + <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"> + <el-input v-model="formDat.cause" placeholder="璇疯緭鍏ヤ簨鐢�(鏃呮父銆佽蛋璁裤�佹帰浜层�佺户鎵胯储浜с�佸叾浠�)" clearable :style="{width: '100%'}" > + </el-input> + </el-form-item> + + </el-form> + <h4 class="form-header"> </h4> + + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitDataScope5">淇� 瀛�</el-button> + <el-button @click="cancelData">鍙� 娑�</el-button> + </div> + </el-dialog> + <!--鏂板鑷紶--> + <el-dialog :title="isEdit1 ? '缂栬緫璁板綍' : '鏂板璁板綍'" :visible.sync="dialogVisible.autobiography" width="900px" append-to-body> + <el-col > + <el-form ref="elForm" :model="formDat" :rules="rules" size="medium" label-position="left" > + <el-row :span="5"> +<!-- <el-form-item label="闇�瑕佷慨鏀圭殑璁板綍锛�" prop="id">--> +<!-- <el-select v-model="formDat.id" placeholder="璇烽�夋嫨闇�瑕佷慨鏀圭殑璁板綍" clearable :style="{width: '50%'}" >--> +<!-- <el-option v-for="(item, index) in AutobiographyList" :key='item.id' :label="item.ageBegin+'~'+item.ageEnd+'宀�'+'('+item.term+')'"--> +<!-- ></el-option>--> +<!-- </el-select>--> +<!-- </el-form-item>--> + <el-form-item label="骞撮緞娈碉細" prop="ageBegin ageEnd" label-width="70px"> + <el-input v-model="formDat.ageBegin" placeholder="" clearable :style="{width: '20%'}" > + </el-input> + <span> 宀� 鈥斺��</span> + <el-input v-model="formDat.ageEnd" placeholder="" clearable :style="{width: '20%'}" > + </el-input> + <span> 宀� </span> + </el-form-item> + <el-form-item label="鏃舵湡锛�" prop="term"> +<!-- <el-select v-model="formDat.term" 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-input v-model="formDat.term" placeholder="璇疯緭鍏ユ椂鏈�" clearable :style="{width: '100%'}" > + </el-input> + </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> </div> </template> @@ -402,27 +733,27 @@ <script> import { listRole, getRole, delRole, addRole, updateRole, dataScope, changeRoleStatus, deptTreeSelect } from "@/api/system/role"; import { treeselect as menuTreeselect, roleMenuTreeselect } from "@/api/system/menu"; - - +import axios from 'axios'; //鍦╯ystem/note/index.js涓鍏ユ帴鍙e嚱鏁� --鎺ュソ浜� -import {getIndividualList, getIndividualRelation, delIndividual, updateIndividual, addIndividual,listExperience,updateExperience, - addExperience,delExperience} from "@/api/self/index"; import { - delCertificate, - getAbroadList, - getAutobiography, - getAutobiographyList, - getAutobiographyTermList, - getCertificateList -} from "@/api/self/index" + getIndividualList, addIndividual, updateIndividual, delIndividual, + listExperience, addExperience, updateExperience, delExperience, + getIndividualRelation, addRelation, updateRelation, delRelation, + getCertificateList, addCertificate, updateCertificate, delCertificate, + getAbroadList, addAbroad, updateAbroad, delAbroad, listType, + getAutobiographyList, getAutobiographyTermList, addAutobiography, updateAutobiography,delAutobiography, + getCategory, +} from "@/api/self/index"; import { delFamilyevent, uploadPic } from '../../api/bignote' import { blobValidate } from '../../utils/ruoyi' -import {getCategory} from "@/api/self/index"; + + export default { name: "show", dicts: ['sys_normal_disable'], + data() { return { // 閬僵灞� @@ -430,8 +761,13 @@ loading: true, formData:[], + componentKey: 0, // 閫変腑鏁扮粍 ids: [], + //鎬у埆 + inds:undefined, + //濠氬Щ绫诲埆 + mrs:undefined, // 闈炲崟涓鐢� single: true, // 闈炲涓鐢� @@ -443,16 +779,21 @@ //澶村儚涓婁紶 showBtnDealImg:true, noneBtnImg:false, - limitCountImg:1,//涓婁紶鍥剧墖鐨勬渶澶ф暟閲� + //涓婁紶鍥剧墖鐨勬渶澶ф暟閲� + limitCountImg:1, //涓汉淇℃伅鏁版嵁 individualList:[], - fit:['fill'], + isEditing: false, + fit:['cover'], // 涓汉缁忓巻鏁版嵁 experienceList: [], + // isEdit:true, + editStatus: {}, //瀹跺涵鎴愬憳鍏崇郴鏁版嵁 relationList:[], //鍑哄叆澧冭瘉浠舵儏鍐� certificateList:[], + typeList:[], //鍑哄浗鎯呭喌 AbroadList:[], @@ -474,11 +815,17 @@ // current: 0, //涓嬫媺瀹炵幇 - activeNames:['1'], + activeNames:'3', + dialogVisible: { + open: false, + relation1:false, + certificate:false, + abroad:false, + autobiography:false + }, // 寮瑰嚭灞傛爣棰� title: "", - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, + // open:true, // 鏄惁鏄剧ず寮瑰嚭灞傦紙鏁版嵁鏉冮檺锛� openDataScope: false, @@ -490,15 +837,13 @@ dateRange: [], // 鏁版嵁鑼冨洿閫夐」 fot:[".jpg",".jif"], - fileList:[ - ], - fileListOther:[ - - ], + fileList:[], + fileListOther:[], dsb:true, btn:false, isShow:true, isShow_2:false, + isEdit1:false, formDat: { //涓汉鍩烘湰淇℃伅 nickName:undefined, @@ -529,19 +874,32 @@ 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, //鍑哄浗锛堝锛夋儏鍐� destination:undefined, + startTime:undefined, + endTime:undefined, cause:undefined, url: undefined, + //鑷紶 + ageBegin:undefined, + ageEnd:undefined, + term:undefined, + }, // 鑿滃崟鍒楄〃 menuOptions: [], @@ -586,7 +944,7 @@ }], maritalStatus: [{ // required: true, - message: '璇疯緭鍏ユ皯鏃�', + message: '璇疯緭鍏ュ濮荤姸鍐�', trigger: 'blur' }], locationAddress: [{ @@ -626,9 +984,14 @@ message: '璇疯緭鍏ヨ捣濮嬫棩鏈�', trigger: 'blur' }], + endDate: [{ + // required: true, + message: '璇疯緭鍏ョ粨鏉熸棩鏈�', + trigger: 'blur' + }], content: [{ required: true, - message: '璇疯緭鍏ヤ富瑕佸涔犵粡鍘嗐�佸伐浣滃崟浣嶅強浠昏亴鎯呭喌', + message: '璇疯緭鍏ユ枃鏈�', trigger: 'blur' }], witness: [{ @@ -636,31 +999,87 @@ message: '璇疯緭鍏ヨ瘉鏄庝汉', trigger: 'blur' }], + //鑷紶 + term: [{ + required: true, + message: '璇疯緭鍏ユ椂鏈�', + trigger: 'blur' + }], + ageBegin: [{ + required: true, + message: '', + trigger: 'blur' + }], + ageEnd: [{ + required: true, + message: '', + trigger: 'blur' + }], }, - typeOptions: [], + selectedOption:'', + typeOptions:[], + typeOption:[], + newOption: undefined, + showInput: true }; }, created() { this.getList(); this.getAutobiographyInfor() + }, 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.isEdit1 = false; + this.reset(); + // 娓呯┖formDat瀵硅薄鐨勬暟鎹� + Object.keys(this.formDat).forEach(key => { + this.formDat[key] = ''; + }); + }, + handleUploadSuccess(response, file) { + // 澶勭悊鏂囦欢涓婁紶鎴愬姛鍚庣殑鍥炶皟 + this.individualList.img = response.url; + }, + + //涓嬫媺 + handleChange(activeNames) { + // console.log(activeNames); this.reset(); }, - //涓嬫媺 - handleChange(val) { - console.log(val); + showDialog(dialogName) { + this.dialogVisible[dialogName] = true; }, //涓汉鑷紶 handleClick(tab, event) { // console.log(tab, event); this.getAutobiographyInfor(); + // this.getSrc1(typeOptions) + }, + //涓汉鑷紶缂栬緫 + editData(data) { + this.isEdit1 = true; // 璁剧疆涓虹紪杈戞搷浣� + // 灏嗚淇敼鐨勬暟鎹~鍏呭埌formDat瀵硅薄涓� + this.formDat.ageBegin = data.ageBegin; + this.formDat.ageEnd = data.ageEnd; + this.formDat.term = data.term; + this.formDat.content = data.content; + // 鎵撳紑寮圭獥 + this.dialogVisible.autobiography = true; + }, + editAutobiography(item) { + this.isEdit1 = true; + this.dialogVisible.autobiography = true; + this.formDat = { ...item }; }, //闅旇鍙樿壊 @@ -671,8 +1090,26 @@ return "statistics-warning-row"; } }, - - + //璇佷欢绫诲埆 + getSrc(type) { + if (type === '鎶ょ収'){ + return '鎶ょ収' + }else if(type === '閫氳璇�'){ + return '閫氳璇�' + }else if(type === '韬唤璇�'){ + return '韬唤璇�' + }else { + return '鈥斺�斺�斺�斺�斺��' + } + }, +//绫诲埆 + addNewOption() { + const newOption = this.newOption.trim(); + if (newOption && !this.typeOption.includes(newOption)) { + this.typeOption.push(newOption); + this.$set(this.formDat, 'type', newOption); // 鏇存柊formDat.type鐨勫�间负鏂扮殑閫夐」 + } + }, /** 鏌ヨ瑙掕壊鍒楄〃 */ getList() { this.loading = true; @@ -683,7 +1120,7 @@ // alert(123) // console.log(response.data) this.experienceList = response.data; - this.total = response.data.total; + // this.total = response.data.total; this.loading = false; } ); @@ -692,7 +1129,7 @@ // alert(123) // console.log(response.data) this.relationList = response.data; - this.total = response.data.total; + // this.total = response.data.total; this.loading = false; } ); @@ -701,7 +1138,7 @@ // alert(123) // console.log(response.data) this.individualList = response.data; - this.total = response.data.total; + // this.total = response.data.total; this.loading = false; } ); @@ -710,7 +1147,7 @@ // alert(123) // console.log(response.data) this.certificateList = response.data; - this.total = response.data.total; + // this.total = response.data.total; this.loading = false; } ); @@ -719,7 +1156,7 @@ // alert(123) // console.log(response.data) this.AbroadList = response.data; - this.total = response.data.total; + // this.total = response.data.total; this.loading = false; } ); @@ -728,22 +1165,47 @@ // alert(123) // console.log(response.data) this.AutobiographyList = response.data; - this.total = response.data.total; + // this.total = response.data.total; this.loading = false; + }); //鏍规嵁涓嶅悓鏃舵鐨勪釜浜鸿嚜浼� - getAutobiographyTermList(this.queryParams).then(response => { - // alert(123) - // console.log(response.data) - this.AutobiographyTermList = response.data; - this.total = response.data.total; - this.loading = false; - }); + // getAutobiographyTermList(this.queryParams).then(response => { + // // alert(123) + // // console.log(response.data) + // this.AutobiographyTermList = response.data; + // this.total = response.data.total; + // this.loading = false; + // }); + listType(this.queryParams).then(response => { + this.typeList = response.data; + // this.total = response.data.total; + // console.log( this.typeList ) + // 鍦ㄥ洖璋冨嚱鏁颁腑璋冪敤 getTypeOptions() + this.getTypeOptions(); + this.loading = false; + } + ); + }, + getTypeOptions() { + const filteredOptions = this.typeList.filter(item => typeof item === 'string' && item !== ''); + // 鍒涘缓涓�涓┖瀵硅薄鐢ㄤ簬瀛樺偍鍞竴鐨勫瓧绗︿覆閫夐」 + const uniqueOptions = {}; + // 鏋勫缓涓嬫媺閫夐」鍒楄〃 + this.typeOption = filteredOptions.reduce((options, option) => { + if (!uniqueOptions[option]) { + uniqueOptions[option] = true; + options.push({ + label: option, + value: option + }); + } + return options; + }, []); }, //鍥剧墖鐨勪笂浼犲強涓婁紶鎸夐挳闅愯棌 - // 鍙栨秷鎸夐挳 cancel() { @@ -756,35 +1218,9 @@ this.reset(); }, - submitForm() { - 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) { - if (this.formDat.id != undefined) { - updateIndividual(this.formDat).then(response => { - this.$modal.msgSuccess("淇敼鎴愬姛"); - // this.open = false; - this.btn=false - }); - } else { - this.$modal.msgSuccess("淇敼澶辫触"); - - } - } - }) - }, // 琛ㄥ崟閲嶇疆 reset() { - if (this.$refs.menu != undefined) { + if (this.$refs.menu !== undefined) { this.$refs.menu.setCheckedKeys([]); } this.menuExpand = false, @@ -824,13 +1260,10 @@ this.multiple = !selection.length }, - /** 鏂板鎸夐挳鎿嶄綔 */ - // handleAdd() { - // this.reset(); - // this.open = true; - // this.title = "娣诲姞涓汉淇℃伅"; - // }, - + //涓汉璁颁簨鏈� + toMemo(){ + this.$router.push("/self/self/memo/" + this.individualList.userId); + }, /** 鏌ョ湅璇︾粏淇℃伅 */ handleCheck(row){ @@ -850,12 +1283,6 @@ }); }, - handleRemoveFile(file) { - alert(23) - }, - handleRemove(file) { - alert("323") - }, handlePictureCardPreview(file) { this.dialogImageUrl = file.url; this.dialogVisible = true; @@ -881,45 +1308,325 @@ this.btn = true this.isShow=false this.isShow_2=true + this.isEditing=true + if(this.individualList.maritalStatus == 0) + this.mrs = '鏈' + else if(this.individualList.maritalStatus == 1) + this.mrs = '宸插' + else + this.mrs = '绂诲'// this.isEdit=false }, - //淇敼鎸夐挳 - /** 淇敼鎸夐挳鎿嶄綔 */ - handleAdd() { - this.reset(); - this.open = true; - this.title = "淇敼璇︾粏淇℃伅"; - }, + /** 鏌ヨ鑷紶淇℃伅 */ getAutobiographyInfor() { let _this = this - getCategory().then(response=>{ + getCategory().then(response => { + // response.data.itemValues.replace("{","").replace("}","").split(",").map(elem=>{ + // _this.typeOptions.push({"label":elem.split(":")[0], "value":elem.split(":")[0]}) + // }) + response.data.itemValues.replace("{", "").replace("}", "").split(",").map(elem => { + const label = elem.split(":")[0].trim(); + const value = parseInt(elem.split(":")[1].trim()); - response.data.itemValues.replace("{","").replace("}","").split(",").map(elem=>{ - _this.typeOptions.push({"label":elem.split(":")[0], "value":elem.split(":")[0]}) - }) - }) + // 鍒ゆ柇 typeOptions 鏁扮粍涓槸鍚﹀凡瀛樺湪鐩稿悓鐨� value + if (!_this.typeOptions.some(option => option.value === value)) { + _this.typeOptions.push({ "label": label, "value": value }); + } + // console.log(_this.typeOptions) + // _this.getSrc1(value) + }); + }); + }, - /** 鎻愪氦鎸夐挳锛堟暟鎹潈闄愶級 */ - submitDataScope: function() { + /** 鎻愪氦鎸夐挳锛堟暟鎹潈闄愶級 */ + //鏂板涓昏缁忓巻鐨勪繚瀛� + submitDataScope: function() { + this.$refs["elForm"].validate(valid => { + if (valid) { + addExperience(this.formDat).then(response => { + this.$modal.msgSuccess("鏂板鎴愬姛"); + this.dialogVisible.open = false; + this.getList(); + }); + } + }); + // 娓呯┖formDat瀵硅薄鐨勬暟鎹� + Object.keys(this.formDat).forEach(key => { + this.formDat[key] = ''; + }); + }, + //鏂板鎴愬憳鍏崇郴鐨勪繚瀛� + submitDataScope2: function() { + 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() { + 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() { + 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() { + this.$refs["elForm"].validate(valid => { + if (valid) { + // 鏍规嵁鍊兼壘鍒伴�変腑鐨勯�夐」瀵硅薄 + // const selectedOption = this.typeOptions.find(option => option.value === this.formDat.term); + + if (this.isEdit1) { + // 鎵ц淇敼鎿嶄綔 + updateAutobiography(this.formDat).then(response => { + // 灏嗛�変腑閫夐」鐨勬枃鏈缃负"term"瀛楁鐨勫�� + // this.formDat.term = selectedOption.value; + // this.formDat.id = selectedOption.id; + console.log("1") + this.$modal.msgSuccess("淇敼鎴愬姛"); + this.dialogVisible.autobiography = false; + this.isEdit1 = false; + this.getList(); + }).catch(error => { + console.log(error); + this.isEdit1 = false; + this.dialogVisible.autobiography = false; + }); + } else { + // 鎵ц鏂板鎿嶄綔 + addAutobiography(this.formDat).then(response => { + // this.formDat.term = selectedOption.label; + this.$modal.msgSuccess("鏂板鎴愬姛"); + this.dialogVisible.autobiography = false; + this.getList(); + }).catch(error => { + console.log(error); + this.dialogVisible.autobiography = false; + }); + } + } + }); + // 娓呯┖formDat瀵硅薄鐨勬暟鎹� + Object.keys(this.formDat).forEach(key => { + this.formDat[key] = ''; + }); + // 閲嶇疆isEdit涓篺alse锛屼互渚夸笅娆$偣鍑绘柊澧炴椂涓烘柊澧炴搷浣� + this.isEdit1 = false; + }, + + editRow(row) { + this.$set(row, 'isEdit', true); + this.$set(this.editStatus, row.id, true); + }, + //淇敼鍚庣殑淇濆瓨 + //涓汉鍩烘湰淇℃伅 + submitForm() { + if(this.inds=='1') + this.individualList.sex = 1; + else + this.individualList.sex = 0; + if(this.mrs=='0') + this.individualList.maritalStatus = 0 + else if(this.mrs == '1') + this.individualList.maritalStatus = 1 + else + this.individualList.maritalStatus = 2 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) { + this.individualList.url = ul+","+uls - addIndividual(this.formDat).then(response => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); + this.$refs['elForm'].validate(valid => { + if (valid) { + if (this.individualList.userId !== undefined) { + updateIndividual(this.individualList).then(response => { + this.$modal.msgSuccess("淇敼鎴愬姛"); + // 寮哄埗鏇存柊鐩稿叧缁勪欢 + this.individualList={...this.individualList} + + // this.open = false; + this.dsb = true + this.btn=false + this.isShow_2=false + this.isShow=true + this.isEditing = false + }); + } else { + this.$modal.msgSuccess("淇敼澶辫触"); + + } + } + }) + // 鍒锋柊椤甸潰 + // window.location.reload(); + }, + //澶村儚淇敼 + uploadImage() { + const inputElement = document.createElement("input"); + inputElement.type = "file"; + inputElement.accept = "image/*"; + inputElement.style.display = "none"; + document.body.appendChild(inputElement); + + inputElement.addEventListener("change", () => { + const file = inputElement.files[0]; + if (file) { + const formData = new FormData(); + formData.append("image", file); + + // 璋冪敤uploadPic鎺ュ彛涓婁紶鍥剧墖 + axios.post("/common/upload", formData, { + headers: { + "Content-Type": "multipart/form-data" + } + }).then(response => { + // 涓婁紶鎴愬姛锛岃幏鍙栨柊鍥剧墖鐨刄RL + const newImageUrl = response.data.img; + + // 鍋囪individualList鏄竴涓璞★紝鏇存柊individualList.img + this.individualList.img = newImageUrl; + + // 鍋囪fileList鏄竴涓暟缁勶紝鏇存柊fileList涓搴旂殑鍥剧墖URL + // const index = this.fileList.findIndex(item => item.id === fileId); + // this.fileList[index].url = newImageUrl; + + // 娓呴櫎input鍏冪礌骞剁Щ闄や簨浠剁洃鍚� + document.body.removeChild(inputElement); + inputElement.removeEventListener("change", null); + }).catch(error => { + console.error("涓婁紶澶辫触:", error); + // 娓呴櫎input鍏冪礌骞剁Щ闄や簨浠剁洃鍚� + document.body.removeChild(inputElement); + inputElement.removeEventListener("change", null); }); } }); + + // 瑙﹀彂鐐瑰嚮浜嬩欢锛屾樉绀烘枃浠堕�夋嫨瀵硅瘽妗� + inputElement.click(); + }, + //涓昏缁忓巻 + saveRowExperienceList(row) { + this.$refs['elForm'].validate(valid => { + if (valid) { + const foundIndex = this.experienceList.findIndex(item => item.id === row.id); + if (foundIndex !== -1) { + const updatedData = Object.assign({}, this.experienceList[foundIndex], row); + updateExperience(updatedData).then(response => { + this.$modal.msgSuccess("淇敼鎴愬姛"); + }).catch(error => { + this.$modal.msgError("淇敼澶辫触"); + console.log(error); + }); + } else { + this.$modal.msgError("淇敼澶辫触"); + } + } + }); + this.$set(row, 'isEdit', false); + this.$set(this.editStatus, row.id, false); + }, + //鎴愬憳鍏崇郴 + saveRowRelationList(row) { + this.$refs['elForm'].validate(valid => { + if (valid) { + const foundIndex = this.relationList.findIndex(item => item.id === row.id); + if (foundIndex !== -1) { + const updatedData = Object.assign({}, this.relationList[foundIndex], row); + updateRelation(updatedData).then(response => { + this.$modal.msgSuccess("淇敼鎴愬姛"); + }).catch(error => { + this.$modal.msgError("淇敼澶辫触"); + console.log(error); + }); + } else { + this.$modal.msgError("淇敼澶辫触"); + } + } + }); + this.$set(row, 'isEdit', false); + this.$set(this.editStatus, row.id, false); + }, + //璇佷欢鎯呭喌 + saveRowCertificateList(row) { + this.$refs['elForm'].validate(valid => { + if (valid) { + const foundIndex = this.certificateList.findIndex(item => item.id === row.id); + if (foundIndex !== -1) { + const updatedData = Object.assign({}, this.certificateList[foundIndex], row); + updateCertificate(updatedData).then(response => { + this.$modal.msgSuccess("淇敼鎴愬姛"); + }).catch(error => { + this.$modal.msgError("淇敼澶辫触"); + console.log(error); + }); + } else { + this.$modal.msgError("淇敼澶辫触"); + } + } + }); + this.$set(row, 'isEdit', false); + this.$set(this.editStatus, row.id, false); + }, + //鍑哄浗鎯呭喌 + saveRowAbroadList(row) { + this.$refs['elForm'].validate(valid => { + if (valid) { + const foundIndex = this.AbroadList.findIndex(item => item.id === row.id); + if (foundIndex !== -1) { + const updatedData = Object.assign({}, this.AbroadList[foundIndex], row); + updateAbroad(updatedData).then(response => { + this.$modal.msgSuccess("淇敼鎴愬姛"); + }).catch(error => { + this.$modal.msgError("淇敼澶辫触"); + console.log(error); + }); + } else { + this.$modal.msgError("淇敼澶辫触"); + } + } + }); + this.$set(row, 'isEdit', false); + this.$set(this.editStatus, row.id, false); }, requestUpload(params) { @@ -944,11 +1651,22 @@ }) }, + /** 鍒犻櫎涓汉缁忓巻鎸夐挳鎿嶄綔 */ handleExperienceDelete(row) { const Ids = row.id || this.ids; - this.$modal.confirm('鏄惁纭鍒犻櫎搴忓彿涓�"' + Ids + '"鐨勬暟鎹」锛�').then(function() { + 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("鍒犻櫎鎴愬姛"); @@ -957,13 +1675,34 @@ /** 鍒犻櫎鎸佹湁鍑哄叆澧冭瘉浠舵儏鍐垫寜閽搷浣� */ handleCertificateDelete(row) { const Ids = row.id || this.ids; - this.$modal.confirm('鏄惁纭鍒犻櫎搴忓彿涓�"' + Ids + '"鐨勬暟鎹」锛�').then(function() { + this.$modal.confirm('鏄惁纭鍒犻櫎鏁版嵁椤癸紵').then(function() { return delCertificate(Ids); }).then(() => { this.getList(); this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); }).catch(() => {}); }, + /** 鍒犻櫎鍑哄浗锛堝锛夋儏鍐垫寜閽搷浣� */ + handleAbroadDelete(row) { + const Ids = row.id || this.ids; + this.$modal.confirm('鏄惁纭鍒犻櫎鏁版嵁椤癸紵').then(function() { + return delAbroad(Ids); + }).then(() => { + this.getList(); + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }).catch(() => {}); + }, + /** 鍒犻櫎涓汉鑷紶鎸夐挳鎿嶄綔 */ + handleAutobiography(row) { + const Ids = row.id || this.ids; + this.$modal.confirm('鏄惁纭鍒犻櫎鏁版嵁椤癸紵').then(function() { + return delAutobiography(Ids); + }).then(() => { + this.getList(); + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }).catch(() => {}); + }, + /** 瀵煎嚭鎸夐挳鎿嶄綔 */ handleExport() { this.download('/self/user/export', { @@ -974,7 +1713,7 @@ }; </script> -<style > +<style scoped=""> /*.uoloadSty {*/ /* width:110px;*/ /* height:110px;*/ @@ -998,10 +1737,47 @@ background: #FFEFF2; } -/*.co-item{*/ -/* background-color: #EBAFB4;*/ -/*}*/ + .el-collapse-item__header { background-color:#FEF7FC; + width: 100%; +} +.title-wrapper { + display: flex; + justify-content: space-between; + align-items: center; + width: calc(100% - 50px); +} +.left-content { + + width: 100%; +} +.btn_autobiography{ + background:center no-repeat url('../../assets/icons/add1.png') ; + margin-left: 76vw; +} +.btn_edit{ + background:center no-repeat url('../../assets/icons/edit.png') ; +} +.btn_del{ + background:center no-repeat url('../../assets/images/鍒犻櫎2.png') ; +} +.button-container { + text-align: right; + display: flex; + justify-content: flex-end; + align-items: center; + flex-grow: 1; +} +.button { + background:center no-repeat url('../../assets/icons/add1.png') ; + /*margin-right: -10px ;*/ + flex-shrink: 0; + width: 30px; + height: 28px; +} +.form{ + background:center/11% no-repeat url('../../assets/icons/form.png') ; + } </style> -- Gitblit v1.9.1