| | |
| | | "big.js": { |
| | | "version": "5.2.2", |
| | | "resolved": "https://registry.nlark.com/big.js/download/big.js-5.2.2.tgz?cache=0&sync_timestamp=1620132748267&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbig.js%2Fdownload%2Fbig.js-5.2.2.tgz", |
| | | "integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=", |
| | | "dev": true |
| | | "integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=" |
| | | }, |
| | | "binary-extensions": { |
| | | "version": "2.2.0", |
| | |
| | | "integrity": "sha1-LnG/CxGRU9u0zE6I2epaz7UNwFw=", |
| | | "dev": true |
| | | }, |
| | | "dayjs": { |
| | | "version": "1.11.11", |
| | | "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.11.tgz", |
| | | "integrity": "sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==" |
| | | }, |
| | | "de-indent": { |
| | | "version": "1.0.2", |
| | | "resolved": "https://registry.npm.taobao.org/de-indent/download/de-indent-1.0.2.tgz", |
| | |
| | | "resolved": "https://registry.npm.taobao.org/ejs/download/ejs-2.7.4.tgz?cache=0&sync_timestamp=1612643435705&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fejs%2Fdownload%2Fejs-2.7.4.tgz", |
| | | "integrity": "sha1-SGYSh1c9zFPjZsehrlLDoSDuybo=", |
| | | "dev": true |
| | | }, |
| | | "el-tree-transfer": { |
| | | "version": "2.4.7", |
| | | "resolved": "https://registry.npmjs.org/el-tree-transfer/-/el-tree-transfer-2.4.7.tgz", |
| | | "integrity": "sha512-wcjQyqzmiJMDhF3qHR1NcqXp27Q65Td1EsMOVkqqOo9Z2mkVC+cGJEu3V4L90x8c1XgEciQL7tMuSjCP7/8G4g==", |
| | | "requires": { |
| | | "lodash": "^4.17.20", |
| | | "wl-core": "^1.1.4" |
| | | } |
| | | }, |
| | | "electron-to-chromium": { |
| | | "version": "1.3.728", |
| | |
| | | "resolved": "https://registry.npmmirror.com/wildcard/-/wildcard-1.1.2.tgz", |
| | | "integrity": "sha512-DXukZJxpHA8LuotRwL0pP1+rS6CS7FF2qStDDE1C7DDg2rLud2PXRMuEDYIPhgEezwnlHNL4c+N6MfMTjCGTng==" |
| | | }, |
| | | "wl-core": { |
| | | "version": "1.1.9", |
| | | "resolved": "https://registry.npmjs.org/wl-core/-/wl-core-1.1.9.tgz", |
| | | "integrity": "sha512-7L83qEnrVW3YmPVqSwnlagoWJyVq/uSXkCFzND64nwtSdDm7o1RZQWiVgQcEilZxE0qLrRQKmjuAihNT6fWCjA==", |
| | | "requires": { |
| | | "big.js": "^5.2.2", |
| | | "dayjs": "^1.8.25" |
| | | } |
| | | }, |
| | | "word-wrap": { |
| | | "version": "1.2.3", |
| | | "resolved": "https://registry.npm.taobao.org/word-wrap/download/word-wrap-1.2.3.tgz", |
| | |
| | | "axios": "^0.21.1", |
| | | "core-js": "^3.6.5", |
| | | "echarts": "^5.4.3", |
| | | "el-tree-transfer": "^2.4.7", |
| | | "element-tiptap": "^1.27.1", |
| | | "element-ui": "^2.3.6", |
| | | "js-cookie": "^2.2.1", |
| | |
| | | .mb20 { |
| | | margin-bottom: 20px; |
| | | } |
| | | |
| | | .red{ |
| | | color: red !important; |
| | | } |
| | | .table_btns{ |
| | | border-bottom: 1px solid #eee; |
| | | padding-bottom: 10px; |
| | | } |
| | | .ml20 { |
| | | margin-left: 20px; |
| | | } |
| | |
| | | <template> |
| | | <TableLayout> |
| | | <template v-slot:table-wrap> |
| | | <el-tabs v-model="activeName"> |
| | | <el-tab-pane label="æ®é访客" name="first"></el-tab-pane> |
| | | <el-tab-pane label="æ½å·¥è®¿å®¢" name="second"></el-tab-pane> |
| | | </el-tabs> |
| | | <div class="config"> |
| | | <div class="config_list"> |
| | | <div class="config_list_head"> |
| | | <span>é
ç½®æµç¨</span> |
| | | <el-button style="background: #435EBE;" type="primary">åå¸</el-button> |
| | | <el-button style="background: #435ebe" type="primary" |
| | | >åå¸</el-button |
| | | > |
| | | </div> |
| | | <div class="config_list_list"> |
| | | <div class="item"> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div :class="item.active ? 'item yellow active' : 'item yellow'" v-for="(item, index) in list" :key="index" @click="seleItem(index)"> |
| | | <div |
| | | :class="item.active ? 'item yellow active' : 'item yellow'" |
| | | v-for="(item, index) in list" |
| | | :key="index" |
| | | @click="seleItem(index)" |
| | | > |
| | | <div class="item_label">审æ¹äºº</div> |
| | | <div class="item_child" style="cursor: pointer;"> |
| | | <img class="item_child_right" src="@/assets/images/ar_more@2x.png" /> |
| | | <div class="item_child" style="cursor: pointer"> |
| | | <img |
| | | class="item_child_right" |
| | | src="@/assets/images/ar_more@2x.png" |
| | | /> |
| | | <div class="item_child_label">被访人</div> |
| | | <div class="item_child_val">访客</div> |
| | | </div> |
| | | <div class="item_down"> |
| | | <img class="item_down_add" v-if="list.length - 1 === index" src="@/assets/images/peizhi_add@2x.png" @click.stop="add" /> |
| | | <!-- <img |
| | | class="item_down_add" |
| | | v-if="list.length - 1 === index" |
| | | src="@/assets/images/peizhi_add@2x.png" |
| | | @click.stop="add" |
| | | /> --> |
| | | <div class="item_down_x"> |
| | | <img src="@/assets/images/peizhi_ar@2x.png" alt="" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="item blue" style="height: 81px;"> |
| | | <div class="item blue" style="height: 81px"> |
| | | <div class="item_label">æé人</div> |
| | | <div class="item_child" style="cursor: pointer;height: 40px;"> |
| | | <img class="item_child_right" src="@/assets/images/ar_more@2x.png" /> |
| | | <div class="item_child_val" style="margin-top: 3px;">请设置æé人</div> |
| | | <div class="item_child" style="cursor: pointer; height: 40px"> |
| | | <img |
| | | class="item_child_right" |
| | | src="@/assets/images/ar_more@2x.png" |
| | | /> |
| | | <div class="item_child_val" style="margin-top: 3px"> |
| | | 请设置æé人 |
| | | </div> |
| | | </div> |
| | | <div class="item_down"> |
| | | <div class="item_down_x"> |
| | |
| | | </div> |
| | | <div class="config_data"> |
| | | <div class="config_data_item"> |
| | | <div class="config_data_item_label"> |
| | | éæ©è¯¥èç¹ç审æ¹äºº |
| | | </div> |
| | | <div class="config_data_item_label">éæ©è¯¥èç¹ç审æ¹äºº</div> |
| | | <el-radio-group v-model="radio"> |
| | | <el-radio :label="0">被访人</el-radio> |
| | | <el-radio :label="1">æå®äººå</el-radio> |
| | |
| | | <span>æ åå¥</span> |
| | | <i class="el-icon-close"></i> |
| | | </div> |
| | | <span class="add">+æ·»å </span> |
| | | <span class="add" @click="selStaff">+æ·»å </span> |
| | | </div> |
| | | </div> |
| | | <div class="config_data_item_reviewed" v-if="radio === 2"> |
| | |
| | | </div> |
| | | <div class="config_data_item_reviewed_r"> |
| | | <span>被访人ç</span> |
| | | <el-select v-model="value" placeholder="è¯·éæ©" style="margin: 0 20px 0 10px;"> |
| | | <el-select |
| | | v-model="value" |
| | | placeholder="è¯·éæ©" |
| | | style="margin: 0 20px 0 10px" |
| | | > |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | <el-checkbox v-model="checked">æ¾ä¸å°ä¸»ç®¡æ¶ï¼ç±ä¸çº§ä¸»ç®¡ä»£å®¡æ ¸</el-checkbox> |
| | | <el-checkbox v-model="checked" |
| | | >æ¾ä¸å°ä¸»ç®¡æ¶ï¼ç±ä¸çº§ä¸»ç®¡ä»£å®¡æ ¸</el-checkbox |
| | | > |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | å®¡æ¹æ¹å¼ |
| | | <span>审æ¹äººä¸ºå¤ä¸ªæ¶ï¼éç¨çå®¡æ¹æ¹å¼</span> |
| | | </div> |
| | | <el-radio-group v-model="radio1" style="display: flex; flex-direction: column;"> |
| | | <el-radio :label="0" style="margin-bottom: 20px;">æç¾ï¼å
¶ä¸ä¸å审æ¹äººåæææç»å³å¯ï¼</el-radio> |
| | | <el-radio-group |
| | | v-model="radio1" |
| | | style="display: flex; flex-direction: column" |
| | | > |
| | | <el-radio :label="0" style="margin-bottom: 20px" |
| | | >æç¾ï¼å
¶ä¸ä¸å审æ¹äººåæææç»å³å¯ï¼</el-radio |
| | | > |
| | | <el-radio :label="1">ä¼ç¾ï¼ææå®¡æ¹äººé½åææå¯éè¿ï¼</el-radio> |
| | | </el-radio-group> |
| | | </div> |
| | | <div class="config_data_item" v-if="radio === 2"> |
| | | <div class="config_data_item_label"> |
| | | 审æ¹äººä¸ºç©ºæ¶ |
| | | </div> |
| | | <el-checkbox-group v-model="checkList" style="display: flex; flex-direction: column;"> |
| | | <el-checkbox label="å¤éæ¡ A" style="margin-bottom: 20px;"></el-checkbox> |
| | | <el-checkbox label="å¤éæ¡ B" style="margin-bottom: 20px;"></el-checkbox> |
| | | <div class="config_data_item_label">审æ¹äººä¸ºç©ºæ¶</div> |
| | | <el-checkbox-group |
| | | v-model="checkList" |
| | | style="display: flex; flex-direction: column" |
| | | > |
| | | <el-checkbox |
| | | label="å¤éæ¡ A" |
| | | style="margin-bottom: 20px" |
| | | ></el-checkbox> |
| | | <el-checkbox |
| | | label="å¤éæ¡ B" |
| | | style="margin-bottom: 20px" |
| | | ></el-checkbox> |
| | | <el-checkbox label="å¤éæ¡ C"></el-checkbox> |
| | | </el-checkbox-group> |
| | | </div> |
| | | <div class="config_data_submit" v-if="radio !== 0"> |
| | | <el-button style="background: #435EBE;" type="primary">ä¿æé
置项</el-button> |
| | | <el-button style="background: #435ebe" type="primary" |
| | | >ä¿æé
置项</el-button |
| | | > |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <!-- --> |
| | | <el-dialog title="éæ©åå·¥" :visible.sync="isShowTransfer" width="800px"> |
| | | <tree-transfer |
| | | v-model="param.menuIds" |
| | | :title="['æªé', 'å·²é']" |
| | | :from_data="fromData" |
| | | :to_data="selData" |
| | | :defaultProps="{ label: 'label' }" |
| | | mode="transfer" |
| | | height="500px" |
| | | filter |
| | | openAll |
| | | ref="treeTransfer" |
| | | > |
| | | </tree-transfer> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="isShowTransfer = false">å æ¶</el-button> |
| | | <el-button type="primary" @click="isShowTransfer = false" |
| | | >ç¡® å®</el-button |
| | | > |
| | | </span> |
| | | </el-dialog> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import treeTransfer from 'el-tree-transfer' |
| | | export default { |
| | | name: 'config', |
| | | components: { TableLayout }, |
| | | components: { |
| | | TableLayout, |
| | | treeTransfer |
| | | }, |
| | | data () { |
| | | return { |
| | | list: [ |
| | |
| | | radio: 0, |
| | | radio1: 0, |
| | | checked: '', |
| | | checkList: [] |
| | | checkList: [], |
| | | |
| | | param: {}, |
| | | activeName: 'first', |
| | | isShowTransfer: false, |
| | | fromData: [ |
| | | { |
| | | id: '1', |
| | | pid: 0, |
| | | label: 'ä¸çº§ 1', |
| | | children: [ |
| | | { |
| | | id: '1-1', |
| | | pid: '1', |
| | | label: 'äºçº§ 1-1', |
| | | disabled: true, |
| | | children: [] |
| | | }, |
| | | { |
| | | id: '1-2', |
| | | pid: '1', |
| | | label: 'äºçº§ 1-2', |
| | | children: [ |
| | | { |
| | | id: '1-2-1', |
| | | pid: '1-2', |
| | | children: [], |
| | | label: 'äºçº§ 1-2-1' |
| | | }, |
| | | { |
| | | id: '1-2-2', |
| | | pid: '1-2', |
| | | children: [], |
| | | label: 'äºçº§ 1-2-2' |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | } |
| | | ], |
| | | selData: [] |
| | | } |
| | | }, |
| | | methods: { |
| | |
| | | name: '', |
| | | active: false |
| | | }) |
| | | }, |
| | | selStaff() { |
| | | this.isShowTransfer = true |
| | | }, |
| | | seleItem (i) { |
| | | this.list.forEach((item, index) => { |
| | |
| | | border-radius: 2px; |
| | | padding: 20px; |
| | | box-sizing: border-box; |
| | | border: 1px solid #EEEEEE; |
| | | background: #F7F7F7; |
| | | border: 1px solid #eeeeee; |
| | | background: #f7f7f7; |
| | | .config_list_head { |
| | | width: 100%; |
| | | height: 40px; |
| | |
| | | width: 0; |
| | | } |
| | | .active { |
| | | border: 2px solid #E84A08 !important; |
| | | border: 2px solid #e84a08 !important; |
| | | } |
| | | .yellow { |
| | | background: #EE8921 !important; |
| | | background: #ee8921 !important; |
| | | } |
| | | .blue { |
| | | background: #435EBE !important; |
| | | background: #435ebe !important; |
| | | } |
| | | .footer { |
| | | width: 106px; |
| | | height: 41px; |
| | | background: #FFFFFF; |
| | | background: #ffffff; |
| | | box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.1); |
| | | border-radius: 25px; |
| | | display: flex; |
| | |
| | | .item { |
| | | width: 200px; |
| | | height: 102px; |
| | | background: #7999D9; |
| | | background: #7999d9; |
| | | box-shadow: 0 0 8px 0 rgba(0,0,0,0.1); |
| | | border-radius: 4px; |
| | | padding: 4px; |
| | |
| | | .item_down_x { |
| | | width: 1px; |
| | | height: 60px; |
| | | background: #B2B2B2; |
| | | background: #b2b2b2; |
| | | position: relative; |
| | | img { |
| | | position: absolute; |
| | |
| | | align-items: center; |
| | | font-size: 15px; |
| | | font-weight: 400; |
| | | color: #FFFFFF; |
| | | color: #ffffff; |
| | | } |
| | | .item_child { |
| | | width: 100%; |
| | | height: 61px; |
| | | padding: 10px; |
| | | box-sizing: border-box; |
| | | background: #FFFFFF; |
| | | background: #ffffff; |
| | | border-radius: 4px; |
| | | position: relative; |
| | | .item_child_right { |
| | |
| | | padding: 12px; |
| | | box-sizing: border-box; |
| | | border-radius: 2px; |
| | | border: 1px solid #DFE2E8; |
| | | border: 1px solid #dfe2e8; |
| | | display: flex; |
| | | align-items: flex-start; |
| | | flex-wrap: wrap; |
| | | .add { |
| | | font-size: 12px; |
| | | font-weight: 400; |
| | | color: #435EBE; |
| | | color: #435ebe; |
| | | cursor: pointer; |
| | | margin-top: 3px; |
| | | } |
| | | .config_data_item_reviewed_content_item { |
| | | padding: 3px 5px; |
| | | background: #F4F7FC; |
| | | background: #f4f7fc; |
| | | border-radius: 2px; |
| | | box-sizing: border-box; |
| | | margin-right: 10px; |
| | |
| | | color: #333333; |
| | | } |
| | | i { |
| | | color: #949BA2; |
| | | color: #949ba2; |
| | | margin-left: 10px; |
| | | cursor: pointer; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | :title="title" |
| | | text="åæ" |
| | | backText="æç»" |
| | | :visible.sync="isShowModal" |
| | | @confirm="confirm" |
| | | @close="reject" |
| | | > |
| | | <div class="modal_wrap"> |
| | | <div class="modal_content"> |
| | | <div class="header"> |
| | | <div class="left"> |
| | | <div class="h1">访客é¢çº¦</div> |
| | | <div class="time">æäº¤æ¶é´ï¼</div> |
| | | </div> |
| | | <div class="right">å¾
å®¡æ ¸</div> |
| | | </div> |
| | | <div class="info"> |
| | | <div class="title">访客æ¥å¤è¯¦æ
</div> |
| | | <div class="list"> |
| | | <div class="item"> |
| | | <div class="label">被访人</div> |
| | | <div class="value"></div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">æè®¿æ¶é´</div> |
| | | <div class="value"></div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">å
¥å车è¾</div> |
| | | <div class="value"></div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">æ¥è®¿åä½</div> |
| | | <div class="value"></div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">è系人</div> |
| | | <div class="value"></div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">é车人æ°</div> |
| | | <div class="value"></div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">æ¥è®¿äºç±</div> |
| | | <div class="value"></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="table_info"> |
| | | <div class="title">访客信æ¯</div> |
| | | <el-table :data="detail.datalist" border fit> |
| | | <el-table-column label="å§å" prop="" min-width="150"> |
| | | <template slot-scope="{ row }"> |
| | | <div class="name_wrap"> |
| | | <image src="" class="avatar" mode="" /> |
| | | <div class="content"> |
| | | <div class="line"> |
| | | <div class="name">æä¸</div> |
| | | <div class="tag">ç³è¯·äºº</div> |
| | | </div> |
| | | <div class="line placeholder9">1888888</div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="æ§å«" prop="" min-width="40" /> |
| | | <el-table-column label="è¯ä»¶ç±»å" prop="" min-width="80" /> |
| | | <el-table-column label="è¯ä»¶å·ç " prop="" min-width="120" /> |
| | | <el-table-column label="å
¬å¸åç§°" prop="" min-width="120" /> |
| | | <el-table-column label="人è¸ç
§ç" prop="" min-width="80"> |
| | | <template slot-scope="{ row }"> |
| | | <el-image :src="row.url" :preview-src-list="[row.url]"> |
| | | </el-image> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | | <div class="side"> |
| | | <div class="side_title">å®¡æ¹æµç¨</div> |
| | | <div class="list"> |
| | | <div class="item"> |
| | | <div class="separate"></div> |
| | | <div class="info"> |
| | | <i class="el-icon-success icon"></i> |
| | | <img src="" class="avatar" alt="" /> |
| | | <div class="content"> |
| | | <div class="line"> |
| | | <div class="name">åæåæ</div> |
| | | <div class="time">2020-02-02 12:20</div> |
| | | </div> |
| | | <div class="line"> |
| | | <div class="company">ä¸å½ç§»å¨æéå
¬å¸</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="item"> |
| | | <!-- <div v-if="" class="separate"></div> --> |
| | | <div class="info"> |
| | | <i class="el-icon-success icon"></i> |
| | | <img src="" class="avatar" alt="" /> |
| | | <div class="content"> |
| | | <div class="line"> |
| | | <div class="name">åæåæ</div> |
| | | <div class="time">2020-02-02 12:20</div> |
| | | </div> |
| | | <div class="line"> |
| | | <div class="company"> |
| | | ä¸å½ç§»å¨æéå
¬å¸( <span class="status">å·²åæ</span> ) |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="remark">æäº¤çº¦å¥½ç</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- --> |
| | | <template #btns> |
| | | <el-button type="primary" plain @click="handleTransfer">转交</el-button> |
| | | </template> |
| | | <!-- åæ/æç» --> |
| | | <el-dialog |
| | | append-to-body |
| | | :title="apprTitle" |
| | | :visible.sync="isShowAppr" |
| | | width="480px" |
| | | > |
| | | <el-input |
| | | type="textarea" |
| | | :placeholder="apprTitle + '说æï¼éå¿
å¡«'" |
| | | :rows="4" |
| | | v-model="param.explain" |
| | | /> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="isShowAppr = false">åæ¶</el-button> |
| | | <el-button type="primary" @click="isShowAppr = false">ç¡®å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <!-- 鿣 --> |
| | | <el-dialog |
| | | append-to-body |
| | | title="鿣" |
| | | :visible.sync="isShowProblem" |
| | | width="480px" |
| | | > |
| | | <el-form :model="param" :rules="rules" ref="ruleForm" label-width="100px"> |
| | | <el-form-item label="éåæ¶é´"> |
| | | <el-date-picker |
| | | class="w300" |
| | | value-format="yyyy-MM-dd" |
| | | type="date" |
| | | placeholder="éæ©æ¥æ" |
| | | v-model="param.date" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="æ´æ¹å"> |
| | | <div class="df_ac"> |
| | | <img src="@/assets/avatar/man.png" /> |
| | | <el-upload |
| | | class="avatar-uploader" |
| | | action="https://jsonplaceholder.typicode.com/posts/" |
| | | :show-file-list="false" |
| | | :on-success="handleAvatarSuccess" |
| | | :before-upload="beforeAvatarUpload" |
| | | > |
| | | <img v-if="param.url" :src="param.url" class="avatar" /> |
| | | <div v-else class="upload_box"> |
| | | <el-icon class="el-icon-plus icon" /> |
| | | <div class="text">å¾ç/è§é¢</div> |
| | | </div> |
| | | </el-upload> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="éå说æ"> |
| | | <el-input |
| | | type="textarea" |
| | | placeholder="请填å说æ" |
| | | :rows="4" |
| | | v-model="param.explain" |
| | | /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="isShowProblem = false">åæ¶</el-button> |
| | | <el-button type="primary" @click="isShowProblem = false" |
| | | >ç¡®å®</el-button |
| | | > |
| | | </span> |
| | | </el-dialog> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | export default { |
| | | components: { GlobalWindow }, |
| | | data() { |
| | | return { |
| | | title: '访客é¢çº¦è¯¦æ
', |
| | | isShowModal: false, |
| | | detail: { |
| | | datalist: [{}] |
| | | }, |
| | | |
| | | isShowAppr: false, |
| | | apprTitle: 'åæ', |
| | | param: {}, |
| | | |
| | | isShowProblem: false, |
| | | rules: {} |
| | | } |
| | | }, |
| | | methods: { |
| | | confirm() { |
| | | console.log('--') |
| | | }, |
| | | handleTransfer() { |
| | | this.isShowProblem = true |
| | | }, |
| | | reject() { }, |
| | | handleAvatarSuccess() { }, |
| | | beforeAvatarUpload() { } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .upload_box { |
| | | width: 84px; |
| | | height: 84px; |
| | | border-radius: 4px; |
| | | background-color: #f7f7f7; |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: center; |
| | | align-items: center; |
| | | color: #999999; |
| | | border: 1px solid #e4e4e4; |
| | | .icon { |
| | | font-size: 24px; |
| | | } |
| | | .text { |
| | | font-size: 12px; |
| | | } |
| | | } |
| | | .modal_wrap { |
| | | display: flex; |
| | | height: 100%; |
| | | .modal_content { |
| | | flex: 1; |
| | | padding: 0px 30px; |
| | | border-radius: 8px; |
| | | overflow: hidden; |
| | | height: 100%; |
| | | |
| | | .title { |
| | | font-weight: 600; |
| | | font-size: 18px; |
| | | color: #333333; |
| | | margin-bottom: 20px; |
| | | margin-top: 30px; |
| | | } |
| | | |
| | | .info { |
| | | .list { |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | |
| | | .item { |
| | | display: flex; |
| | | width: 40%; |
| | | margin-bottom: 20px; |
| | | &:nth-of-type(2n) { |
| | | width: 60%; |
| | | } |
| | | |
| | | .label { |
| | | color: #888888; |
| | | width: 68px; |
| | | } |
| | | |
| | | .value { |
| | | color: #111111; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .header { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | padding: 20px 30px; |
| | | margin: 0 -30px; |
| | | border-radius: 8px 8px 0 0; |
| | | background: linear-gradient(to right, #f2f6fe, #cadffa); |
| | | |
| | | .h1 { |
| | | font-weight: 600; |
| | | font-size: 22px; |
| | | color: #111111; |
| | | margin-bottom: 8px; |
| | | } |
| | | |
| | | .time { |
| | | font-size: 14px; |
| | | color: #999999; |
| | | } |
| | | |
| | | .right { |
| | | height: 40px; |
| | | font-size: 16px; |
| | | color: #ffffff; |
| | | line-height: 40px; |
| | | padding: 0 20px; |
| | | background: #207ff7; |
| | | box-shadow: 4px 4px 0px 0px rgba(32, 127, 247, 0.16); |
| | | border-radius: 16px 0px 16px 0px; |
| | | } |
| | | } |
| | | .table_info { |
| | | .name_wrap { |
| | | display: flex; |
| | | align-items: center; |
| | | .avatar { |
| | | width: 40px; |
| | | height: 40px; |
| | | border-radius: 50%; |
| | | margin-right: 12px; |
| | | } |
| | | .content { |
| | | .line { |
| | | display: flex; |
| | | } |
| | | .tag { |
| | | color: #b2cbf9; |
| | | border: 1px solid #b2cbf9; |
| | | padding: 0px 4px; |
| | | border-radius: 4px; |
| | | margin-left: 6px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .side { |
| | | height: 100%; |
| | | width: 420px; |
| | | background: #ffffff; |
| | | border-left: 20px solid #f7f7f7; |
| | | .list { |
| | | .item { |
| | | padding: 8px 0; |
| | | position: relative; |
| | | .separate { |
| | | position: absolute; |
| | | border-left: 2px dashed #cccccc; |
| | | left: 51px; |
| | | height: calc(100% - 24px); |
| | | top: 46px; |
| | | } |
| | | .info { |
| | | display: flex; |
| | | align-items: center; |
| | | margin-left: 40px; |
| | | .icon { |
| | | position: relative; |
| | | z-index: 11; |
| | | color: #53b76f; |
| | | font-size: 24px; |
| | | } |
| | | .avatar { |
| | | width: 40px; |
| | | height: 40px; |
| | | border-radius: 50%; |
| | | margin: 0 12px 0 16px; |
| | | border: 1px solid; |
| | | } |
| | | .content { |
| | | flex: 1; |
| | | .line { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-content: center; |
| | | margin-bottom: 6px; |
| | | .name { |
| | | font-weight: 600; |
| | | font-size: 16px; |
| | | color: #111111; |
| | | } |
| | | .time { |
| | | color: #888888; |
| | | } |
| | | .company { |
| | | font-size: 13px; |
| | | color: #888888; |
| | | .status { |
| | | color: #00ba67; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .remark { |
| | | background: #f7f7f7; |
| | | border-radius: 4px; |
| | | padding: 13px 15px; |
| | | color: #666666; |
| | | margin-left: 120px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="main_app"> |
| | | <QueryForm v-model="filters" :query-form-config="queryFormConfig" @handleQuery="getList(1)" @clear="clear" /> |
| | | <el-table v-loading="loading" :data="list" stripe row-key="id" default-expand-all> |
| | | <el-table-column prop="" label="å
¥å车è¾" min-width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="" label="å
¬å¸åç§°" min-width="120" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="" label="è系人信æ¯" min-width="100" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="" label="ææºå·" min-width="120" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="" label="被访人" min-width="120" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="" label="æè®¿æ¶é´" min-width="120" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="" label="æè®¿äºç±" min-width="80" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="" fixed="right" label="ç¶æ" min-width="100"></el-table-column> |
| | | <el-table-column label="æä½" width="230" fixed="right"> |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="handleDetail(row)" v-permissions="['business:company:update']">æ¥ç详æ
</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination" /> |
| | | <ReportDetail v-if="isShowDetail" ref="DetailRef" /> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import Pagination from '@/components/common/Pagination' |
| | | import QueryForm from '@/components/common/QueryForm' |
| | | import ReportDetail from './page-components/ReportDetail.vue' |
| | | export default { |
| | | components: { |
| | | ReportDetail, |
| | | QueryForm, |
| | | Pagination |
| | | }, |
| | | data () { |
| | | return { |
| | | isShowDetail: false, |
| | | activeTab: '0', |
| | | filters: {}, |
| | | queryFormConfig: { |
| | | formItems: [ |
| | | { |
| | | filed: 'idCard', |
| | | type: 'input', |
| | | label: '车çå·' |
| | | }, |
| | | { |
| | | filed: 'name', |
| | | type: 'input', |
| | | label: 'å
¬å¸åç§°' |
| | | } |
| | | ], |
| | | online: true |
| | | }, |
| | | loading: false, |
| | | sorting: false, |
| | | searchForm: { |
| | | // type: 1 |
| | | }, |
| | | pagination: { |
| | | capacity: 10, |
| | | page: 1 |
| | | }, |
| | | list: [{}], |
| | | total: 0 |
| | | } |
| | | }, |
| | | methods: { |
| | | handleDetail () { |
| | | this.isShowDetail = true |
| | | this.$nextTick(() => { |
| | | this.$refs.DetailRef.isShowModal = true |
| | | }) |
| | | }, |
| | | getList (page) {}, |
| | | clear () { }, |
| | | handleSizeChange (capacity) { |
| | | this.pagination.capacity = capacity |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | |
| | | </style> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="main_app"> |
| | | <div class="table_btns"> |
| | | <el-button icon="el-icon-plus" @click="handleEdit()" type="primary" |
| | | >æ°å»º</el-button |
| | | > |
| | | </div> |
| | | <el-table v-loading="loading" :data="list" stripe> |
| | | <el-table-column |
| | | prop="name" |
| | | label="æè®¿äºç±" |
| | | min-width="100" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | label="æåºç " |
| | | min-width="80" |
| | | ></el-table-column> |
| | | <el-table-column label="æä½" width="230" fixed="right"> |
| | | <!-- v-permissions="['business:company:update']" --> |
| | | <template slot-scope="{ row }"> |
| | | <el-button type="text" icon="el-icon-edit" @click="handleEdit(row)" |
| | | >ç¼è¾</el-button |
| | | > |
| | | <el-button |
| | | type="text" |
| | | icon="el-icon-delete" |
| | | @click="handleDetail(row)" |
| | | class="red" |
| | | >å é¤</el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="getList" |
| | | :pagination="pagination" |
| | | /> |
| | | <!-- --> |
| | | <el-dialog title="æè®¿äºç±" :visible.sync="isShowEdit" width="480px"> |
| | | <el-form :model="param" :rules="rules" ref="ruleForm" label-width="100px"> |
| | | <el-form-item label="æè®¿äºç±"> |
| | | <el-input type="text" placeholder="请è¾å
¥" v-model="param.explain" /> |
| | | </el-form-item> |
| | | <el-form-item label="æåºç "> |
| | | <el-input |
| | | type="text" |
| | | placeholder="请è¾å
¥" |
| | | oninput="value=value.replace(/^(0+)|[^\d]+/g, '').slice(0, 6)" |
| | | v-model="param.sortNum" |
| | | /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="isShowEdit = false">åæ¶</el-button> |
| | | <el-button type="primary" @click="handleSub">ç¡®å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import Pagination from '@/components/common/Pagination' |
| | | export default { |
| | | components: { |
| | | Pagination |
| | | }, |
| | | data() { |
| | | return { |
| | | loading: false, |
| | | pagination: { |
| | | capacity: 10, |
| | | page: 1 |
| | | }, |
| | | list: [{}], |
| | | total: 0, |
| | | |
| | | isShowEdit: false, |
| | | param: {}, |
| | | rules: {} |
| | | } |
| | | }, |
| | | methods: { |
| | | handleSub() { |
| | | this.$refs.ruleForm.validate((valid) => { |
| | | if (valid) { |
| | | alert('submit!') |
| | | } |
| | | }) |
| | | }, |
| | | handleEdit() { |
| | | this.isShowEdit = true |
| | | }, |
| | | getList(page) { }, |
| | | clear() { }, |
| | | handleSizeChange(capacity) { |
| | | this.pagination.capacity = capacity |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style> |
| | | </style> |