|
@@ -0,0 +1,161 @@
|
|
|
+<template>
|
|
|
+ <div class="common-form-container">
|
|
|
+ <van-form>
|
|
|
+ <div class="form-item">
|
|
|
+ <div class="common-form-content">
|
|
|
+ <div class="common-form-item">
|
|
|
+ <div class="item">
|
|
|
+ <div class="label-box">
|
|
|
+ <i class="icon-name" />
|
|
|
+ <div>姓名:</div>
|
|
|
+ </div>
|
|
|
+ <van-field
|
|
|
+ v-model="form.name"
|
|
|
+ class="common-field"
|
|
|
+ readonly
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ <div class="item">
|
|
|
+ <div class="label-box">
|
|
|
+ <i class="icon-phone" />
|
|
|
+ <div>手机号码:</div>
|
|
|
+ </div>
|
|
|
+ <van-field
|
|
|
+ v-model="form.phone"
|
|
|
+ class="common-field"
|
|
|
+ readonly
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ <div class="item">
|
|
|
+ <div class="label-box">
|
|
|
+ <i class="icon-area" />
|
|
|
+ <div>行政区划:</div>
|
|
|
+ </div>
|
|
|
+ <van-field
|
|
|
+ v-model="areaText"
|
|
|
+ class="common-field"
|
|
|
+ :right-icon="selectIcon"
|
|
|
+ readonly
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ <div class="item">
|
|
|
+ <div class="label-box">
|
|
|
+ <i class="icon-dept" />
|
|
|
+ <div>所属单位:</div>
|
|
|
+ </div>
|
|
|
+ <van-field
|
|
|
+ v-model="form.dept"
|
|
|
+ class="common-field"
|
|
|
+ readonly
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ <div class="item">
|
|
|
+ <div class="label-box">
|
|
|
+ <i class="icon-duty" />
|
|
|
+ <div>职务:</div>
|
|
|
+ </div>
|
|
|
+ <van-field
|
|
|
+ v-model="form.duty"
|
|
|
+ class="common-field"
|
|
|
+ readonly
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ <div class="item">
|
|
|
+ <div class="label-box">
|
|
|
+ <i class="icon-officePhone" />
|
|
|
+ <div>办公电话:</div>
|
|
|
+ </div>
|
|
|
+ <van-field
|
|
|
+ v-model="form.officePhone"
|
|
|
+ class="common-field"
|
|
|
+ readonly
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ <div class="item">
|
|
|
+ <div class="label-box">
|
|
|
+ <i class="icon-responsibility" />
|
|
|
+ <div>责任类别:</div>
|
|
|
+ </div>
|
|
|
+ <div class="common-input">
|
|
|
+ <div v-for="(item, index) in responsibilityType" :key="index" class="text-box">
|
|
|
+ <div class="text1">{{ item.parentName }}</div>
|
|
|
+ <div class="text2">{{ getTypeLabel(item) }}</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="common-form-footer">
|
|
|
+ <van-button class="btn primary-btn" type="primary" @click="handleEdit">编辑</van-button>
|
|
|
+ </div>
|
|
|
+ </van-form>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script lang="ts" setup>
|
|
|
+import selectIcon from "@/assets/images/selectIcon.png";
|
|
|
+
|
|
|
+const emits = defineEmits(['confirm']);
|
|
|
+// 表单数据
|
|
|
+const form = ref({
|
|
|
+ name: '',
|
|
|
+ phone: '',
|
|
|
+ area: '',
|
|
|
+ dept: '',
|
|
|
+ duty: '',
|
|
|
+ officePhone: '',
|
|
|
+ responsibilityType: ''
|
|
|
+});
|
|
|
+let responsibilityType = ref([]);
|
|
|
+let areaText = ref('');
|
|
|
+const getTypeLabel = (item) => {
|
|
|
+ let str = item.labelData.toString();
|
|
|
+ if (!!item.name) {
|
|
|
+ str += `(${item.name})`
|
|
|
+ }
|
|
|
+ if (!!item.tagData && item.tagData.length > 0) {
|
|
|
+ str += '('
|
|
|
+ item.tagData.forEach((item2, index2) => {
|
|
|
+ if (index2 > 0) {
|
|
|
+ str += '、';
|
|
|
+ }
|
|
|
+ str += item2.label;
|
|
|
+ })
|
|
|
+ };
|
|
|
+ return str;
|
|
|
+};
|
|
|
+const handleEdit = () => {
|
|
|
+ emits('confirm');
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+.common-form-footer {
|
|
|
+ bottom: 60px;
|
|
|
+}
|
|
|
+.common-form-container {
|
|
|
+ height: calc(100vh - 89px);
|
|
|
+ padding: 0;
|
|
|
+}
|
|
|
+.common-input {
|
|
|
+ border: 1px solid #DCE0EE;
|
|
|
+ border-radius: 2px;
|
|
|
+ min-height: 30px;
|
|
|
+ line-height: 30px;
|
|
|
+ width: 100%;
|
|
|
+ padding: 0 18px 0 5px;
|
|
|
+ position: relative;
|
|
|
+ &::after {
|
|
|
+ content: '';
|
|
|
+ position: absolute;
|
|
|
+ top: 50%;
|
|
|
+ right: 0;
|
|
|
+ transform: translateY(-50%);
|
|
|
+ background: url("@/assets/images/selectIcon.png") no-repeat;
|
|
|
+ background-size: 100% 100%;
|
|
|
+ width: 13px;
|
|
|
+ height: 16px;
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|