From 6a3a559f4ed3a38926fb2aee3101940d3927704d Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期一, 07 四月 2025 17:19:32 +0800 Subject: [PATCH] 优化 --- admin/src/components/business/OperaMemberWindow.vue | 38 ++++++++++-- admin/src/views/business/internalCompany.vue | 10 +- admin/src/views/business/relativeMember.vue | 20 +++++- admin/src/views/business/visits.vue | 12 --- admin/src/components/business/OperaInternalCompanyWindow.vue | 25 +++++--- admin/package-lock.json | 36 ++++++------ admin/src/views/business/internalMember.vue | 23 ++++++- admin/src/main.js | 4 + 8 files changed, 112 insertions(+), 56 deletions(-) diff --git a/admin/package-lock.json b/admin/package-lock.json index c094279..9c49bda 100644 --- a/admin/package-lock.json +++ b/admin/package-lock.json @@ -1203,8 +1203,8 @@ }, "@riophae/vue-treeselect": { "version": "0.4.0", - "resolved": "https://registry.npm.taobao.org/@riophae/vue-treeselect/download/@riophae/vue-treeselect-0.4.0.tgz", - "integrity": "sha1-C67Vp5TP/FgLY1kfNcEl5RwN8kE=", + "resolved": "https://registry.npmmirror.com/@riophae/vue-treeselect/-/vue-treeselect-0.4.0.tgz", + "integrity": "sha512-J4atYmBqXQmiPFK/0B5sXKjtnGc21mBJEiyKIDZwk0Q9XuynVFX6IJ4EpaLmUgL5Tve7HAS7wkiGGSti6Uaxcg==", "requires": { "@babel/runtime": "^7.3.1", "babel-helper-vue-jsx-merge-props": "^2.0.3", @@ -5015,8 +5015,8 @@ }, "easings-css": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/easings-css/download/easings-css-1.0.0.tgz", - "integrity": "sha1-3eVpADu3pKDAt3h49ds+C+VnnIE=" + "resolved": "https://registry.npmmirror.com/easings-css/-/easings-css-1.0.0.tgz", + "integrity": "sha512-7Uq7NdazNfVtr0RNmPAys8it0zKCuaqxJStYKEl72D3j4gbvXhhaM7iWNbqhA4C94ygCye6VuyhzBRQC4szeBg==" }, "easy-stack": { "version": "1.0.1", @@ -6551,8 +6551,8 @@ }, "fuzzysearch": { "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/fuzzysearch/download/fuzzysearch-1.0.3.tgz", - "integrity": "sha1-3/yA9tawQiPyImqnndGUIxCW0Ag=" + "resolved": "https://registry.npmmirror.com/fuzzysearch/-/fuzzysearch-1.0.3.tgz", + "integrity": "sha512-s+kNWQuI3mo9OALw0HJ6YGmMbLqEufCh2nX/zzV5CrICQ/y4AwPxM+6TIiF9ItFCHXFCyM/BfCCmN57NTIJuPg==" }, "gauge": { "version": "2.7.4", @@ -8888,8 +8888,8 @@ }, "material-colors": { "version": "1.2.6", - "resolved": "https://registry.npm.taobao.org/material-colors/download/material-colors-1.2.6.tgz", - "integrity": "sha1-bRlYhxEmmSzuzHL0vMTY8BCGX0Y=" + "resolved": "https://registry.npmmirror.com/material-colors/-/material-colors-1.2.6.tgz", + "integrity": "sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==" }, "md5.js": { "version": "1.3.5", @@ -13909,7 +13909,7 @@ }, "vue-loader-v16": { "version": "npm:vue-loader@16.8.3", - "resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-16.8.3.tgz", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz", "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==", "dev": true, "optional": true, @@ -13921,7 +13921,7 @@ "dependencies": { "ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "optional": true, @@ -13931,7 +13931,7 @@ }, "chalk": { "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "optional": true, @@ -13942,7 +13942,7 @@ }, "color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "optional": true, @@ -13952,21 +13952,21 @@ }, "color-name": { "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, "optional": true }, "has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "optional": true }, "loader-utils": { "version": "2.0.4", - "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dev": true, "optional": true, @@ -13978,7 +13978,7 @@ }, "supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "optional": true, @@ -14052,8 +14052,8 @@ }, "watch-size": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/watch-size/download/watch-size-2.0.0.tgz", - "integrity": "sha1-CW7ijQNlvX6gPZyL8fL1CnO+FHQ=" + "resolved": "https://registry.npmmirror.com/watch-size/-/watch-size-2.0.0.tgz", + "integrity": "sha512-M92R89dNoTPWyCD+HuUEDdhaDnh9jxPGOwlDc0u51jAgmjUvzqaEMynXSr3BaWs+QdHYk4KzibPy1TFtjLmOZQ==" }, "watchpack": { "version": "1.7.5", diff --git a/admin/src/components/business/OperaInternalCompanyWindow.vue b/admin/src/components/business/OperaInternalCompanyWindow.vue index ad001b2..13be2e4 100644 --- a/admin/src/components/business/OperaInternalCompanyWindow.vue +++ b/admin/src/components/business/OperaInternalCompanyWindow.vue @@ -15,8 +15,8 @@ <el-form-item label="缁勭粐鍚嶇О" prop="name"> <el-input v-model="form.name" placeholder="璇疯緭鍏ョ粍缁囧悕绉�" v-trim/> </el-form-item> - <el-form-item label="缁勭粐绫诲瀷" prop="type"> - <el-radio-group v-model="form.type" :disabled="form.parentType == 0"> + <el-form-item label="缁勭粐绫诲瀷" prop="type" v-if="(editType === 'edit' && parentId) || (editType === 'add')"> + <el-radio-group v-model="form.type" :disabled="(editType === 'edit') || (!!(editType === 'add' && parentId))"> <el-radio :label="0">鐩稿叧鏂圭粍缁�</el-radio> <el-radio :label="1">鍐呴儴缁勭粐</el-radio> </el-radio-group> @@ -39,12 +39,14 @@ // 琛ㄥ崟鏁版嵁 form: { id: null, - type: '0', + type: 0, name: '', parentId: null, disable: false, parentName: '' }, + editType: '', + parentId: null, // 楠岃瘉瑙勫垯 rules: { name: [ @@ -68,11 +70,16 @@ }) }, methods: { - open(title,target,row){ - this.title =title - this.visible =true - console.log(target) - this.form= { + open(title, target, row, editType){ + this.title = title + this.editType = editType + if (editType === 'edit') { + this.parentId = row.parentId + } else if (editType === 'add') { + this.parentId = target.parentId + } + this.visible = true + this.form = { id: null, type: 0, name: '', @@ -85,13 +92,13 @@ this.form.parentId = target.id this.form.parentType = target.type this.form.parentName = target.companyNamePath - } // 鏂板缓缁勭粐 if (row == null) { this.$nextTick(() => { this.$refs.form.resetFields() this.form[this.configData['field.id']] = null + this.form.type = target.type }) return } diff --git a/admin/src/components/business/OperaMemberWindow.vue b/admin/src/components/business/OperaMemberWindow.vue index cc748e7..d5ee026 100644 --- a/admin/src/components/business/OperaMemberWindow.vue +++ b/admin/src/components/business/OperaMemberWindow.vue @@ -7,13 +7,21 @@ <el-form-item label="鎵�灞炵粍缁�" prop="companyId"> <!-- <el-cascader v-model="form.company" :options="department" @change="handleChangeCompany" :show-all-levels="false" clearable filterable :props="departprops"></el-cascader>--> - <el-select v-model="form.companyId" clearable filterable placeholder="璇烽�夋嫨"> - <template v-for="item in companyList"> -<!-- v-if="item.countNum && item.countNum>0"--> - <el-option :key="item.id" :label="item.companyNamePath" :value="item.id"> - </el-option> - </template> - </el-select> +<!-- <el-select v-model="form.companyId" clearable filterable placeholder="璇烽�夋嫨">--> +<!-- <template v-for="item in companyList">--> +<!-- <el-option :key="item.id" :label="item.companyNamePath" :value="item.id">--> +<!-- </el-option>--> +<!-- </template>--> +<!-- </el-select>--> + <treeselect + v-model="form.companyId" + placeholder="璇烽�夋嫨" + :options="treeData" + :normalizer="normalizeOptions" + :default-expand-level="1" + noChildrenText="娌℃湁瀛愰�夐」" + noOptionsText="娌℃湁鍙�夐」" + noResultsText="娌℃湁鍖归厤鐨勭粨鏋�" /> <div style="font-size: 12px;color: #F56C6C"> 娉細浠呮敮鎸侀�夋嫨 銆恵{ companyType === 0 ? '鐩稿叧鏂圭粍缁�' : '鍐呴儴缁勭粐' }}銆� </div> @@ -153,6 +161,7 @@ positionId: null, faceImgFull: '' }, + treeData: [], // 楠岃瘉瑙勫垯 rules: { name: [{ required: true, message: '璇疯緭鍏ュ憳宸ュ鍚�', trigger: 'blur' }], @@ -170,6 +179,21 @@ }) }, methods: { + // 瑙勮寖鍖栭�夐」鏁版嵁鐨勬柟娉� + normalizeOptions(node) { + // node: 鍘熷鐨勯�夐」鏁版嵁 + // 鍦ㄨ繖閲屾牴鎹渶瑕佽繘琛岄�夐」鏁版嵁鐨勮鑼冨寲鎿嶄綔锛屽苟杩斿洖瑙勮寖鍖栧悗鐨勯�夐」鏁版嵁 + // 渚嬪锛屽彲浠ュ皢鍘熷鐨勯�夐」鏁版嵁杞崲涓虹鍚堟彃浠惰姹傜殑缁撴瀯 + if (node.childList && !node.childList.length) { + // 鍘绘帀children=[]鐨刢hildren灞炴�� + delete node.childList; + } + return { + id: node.id, + label: node.name, + children: node.childList, + }; + }, getCompany() { companyGetList({ model: {type:this.companyType } , diff --git a/admin/src/main.js b/admin/src/main.js index 13a6171..0cac6e7 100644 --- a/admin/src/main.js +++ b/admin/src/main.js @@ -13,6 +13,10 @@ import { mapState, mapMutations } from 'vuex' import { fetchMenuTree } from './api/system/menu' import preventReClick from '@/directives/directive' +import Treeselect from '@riophae/vue-treeselect' +import '@riophae/vue-treeselect/dist/vue-treeselect.css' +Vue.component('treeselect', Treeselect) + Vue.use(preventReClick) Vue.config.productionTip = false Vue.use(ElementUI, { diff --git a/admin/src/views/business/internalCompany.vue b/admin/src/views/business/internalCompany.vue index 0947c2b..916de54 100644 --- a/admin/src/views/business/internalCompany.vue +++ b/admin/src/views/business/internalCompany.vue @@ -17,8 +17,8 @@ <!-- 琛ㄦ牸鍜屽垎椤� --> <template v-slot:table-wrap> <ul class="toolbar" v-permissions="['business:company:create', 'business:company:sync']"> - <li><el-button type="primary" v-permissions="['business:company:create']" - @click="$refs.OperaInternalCompanyWindow.open('鏂板缓浼佷笟', null, null)">鏂板缓</el-button></li> +<!-- <li><el-button type="primary" v-permissions="['business:company:create']"--> +<!-- @click="$refs.OperaInternalCompanyWindow.open('鏂板缓浼佷笟', null, null)">鏂板缓</el-button></li>--> <li><el-button @click="sort('top')" :loading="sorting" icon="el-icon-sort-up" v-permissions="['business:company:sort']">涓婄Щ</el-button></li> <li><el-button @click="sort('bottom')" :loading="sorting" icon="el-icon-sort-down" @@ -43,12 +43,12 @@ <el-table-column label="鎿嶄綔" width="230" fixed="right"> <template slot-scope="{row}"> <el-button type="text" - @click="$refs.OperaInternalCompanyWindow.open('缂栬緫浼佷笟淇℃伅', { id: row.parentId, name: row.parentName, type: row.parentType, companyPath: row.parentCompanyPath }, row)" + @click="$refs.OperaInternalCompanyWindow.open('缂栬緫浼佷笟淇℃伅', { id: row.parentId, name: row.parentName, type: row.parentType, companyPath: row.parentCompanyPath }, row, 'edit')" icon="el-icon-edit" v-permissions="['business:company:update']">缂栬緫</el-button> - <el-button type="text" @click="$refs.OperaInternalCompanyWindow.open('鏂板缓瀛愮骇', row, null)" + <el-button type="text" @click="$refs.OperaInternalCompanyWindow.open('鏂板缓瀛愮骇', row, null, 'add')" icon="el-icon-plus">鏂板缓瀛愮骇</el-button> <el-button type="text" @click="deleteById(row)" style="color: red" icon="el-icon-delete" - v-permissions="['business:company:delete']">鍒犻櫎</el-button> + v-permissions="['business:company:delete']" v-if="row.type !== -1">鍒犻櫎</el-button> </template> </el-table-column> </el-table> diff --git a/admin/src/views/business/internalMember.vue b/admin/src/views/business/internalMember.vue index e2f2ba6..4e46d32 100644 --- a/admin/src/views/business/internalMember.vue +++ b/admin/src/views/business/internalMember.vue @@ -18,6 +18,12 @@ <el-option label="鏈�" value="1"></el-option> </el-select> </el-form-item> + <el-form-item label="" prop="authStatus"> + <el-select v-model="searchForm.authStatus" @keypress.enter.native="search" clearable placeholder="鏄惁鎺堟潈"> + <el-option label="鍚�" value="0"></el-option> + <el-option label="鏄�" value="1"></el-option> + </el-select> + </el-form-item> <el-form-item label="" prop="canVisit"> <el-select v-model="searchForm.canVisit" clearable @keypress.enter.native="search" placeholder="鍙嫓璁�"> <el-option label="鏄�" value="1"></el-option> @@ -59,7 +65,7 @@ <li><el-button type="primary" v-permissions="['business:member:sync']" :loading="loading" @click="synchronous()">鍚屾</el-button></li> <li><el-button type="primary" - @click="$refs.OperaMemberWindow.open('鏂板缓鍛樺伐', null, department, searchForm.companyType)" icon="el-icon-plus" + @click="add" icon="el-icon-plus" v-permissions="['business:member:create']">鏂板缓鍛樺伐</el-button></li> <li><el-button type="primary" @click="$refs.OperaMemberImportWindow.open('浜哄憳瀵煎叆', searchForm.companyType)" icon="el-icon-plus" v-permissions="['business:member:create']">浜哄憳瀵煎叆</el-button></li> @@ -175,7 +181,7 @@ v-if="containPermissions(['business:member:update', 'business:member:delete', 'business:empower:create'])" label="鎿嶄綔" min-width="280"> <template slot-scope="{row}"> - <el-button type="text" icon="el-icon-edit" @click="$refs.OperaMemberWindow.open('缂栬緫鍛樺伐淇℃伅', row, department,searchForm.companyType)" + <el-button type="text" icon="el-icon-edit" @click="edit(row)" v-permissions="['business:empower:update']">缂栬緫</el-button> <el-button type="text" icon="el-icon-plus" @click="empower(row.id)" v-permissions="['business:empower:create']">閲嶆柊鎺堟潈</el-button> @@ -233,7 +239,8 @@ workStatus: '', positionId: '', companyId: '', - hasFace: '' + hasFace: '', + authStatus: '' }, loading: false, heading: false, @@ -261,6 +268,14 @@ // }) }, methods: { + edit(row) { + this.$refs.OperaMemberWindow.treeData = this.companyTree + this.$refs.OperaMemberWindow.open('缂栬緫鍛樺伐淇℃伅', row, this.department, this.searchForm.companyType) + }, + add() { + this.$refs.OperaMemberWindow.treeData = this.companyTree + this.$refs.OperaMemberWindow.open('鏂板缓鍛樺伐', null, this.department, this.searchForm.companyType) + }, startEmpowerBatch() { if (this.tableData.selectedRows.length === 0) { this.$tip.warning('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�') @@ -298,7 +313,7 @@ }, // 鑾峰彇缁勭粐鏍� getfindCompanyTreePage() { - fetchList() + fetchList(1) .then(res => { if (res && res.length > 0) { res[0].fsStatus = 1 diff --git a/admin/src/views/business/relativeMember.vue b/admin/src/views/business/relativeMember.vue index a773a79..15bfb90 100644 --- a/admin/src/views/business/relativeMember.vue +++ b/admin/src/views/business/relativeMember.vue @@ -18,6 +18,12 @@ <el-option label="鏈�" value="1"></el-option> </el-select> </el-form-item> + <el-form-item label="" prop="authStatus"> + <el-select v-model="searchForm.authStatus" @keypress.enter.native="search" clearable placeholder="鏄惁鎺堟潈"> + <el-option label="鍚�" value="0"></el-option> + <el-option label="鏄�" value="1"></el-option> + </el-select> + </el-form-item> <el-form-item label="" prop="canVisit"> <el-select v-model="searchForm.canVisit" @keypress.enter.native="search" placeholder="鍙嫓璁�"> <el-option label="鏄�" value="1"></el-option> @@ -63,7 +69,7 @@ <li><el-button type="primary" v-permissions="['business:member:sync']" :loading="loading" @click="synchronous()">鍚屾</el-button></li> --> <li><el-button type="primary" - @click="$refs.OperaMemberWindow.open('鏂板缓鍛樺伐', null, department, searchForm.companyType)" icon="el-icon-plus" + @click="add" icon="el-icon-plus" v-permissions="['business:member:create']">鏂板缓鍛樺伐</el-button></li> <li><el-button type="primary" @click="$refs.OperaMemberImportWindow.open('浜哄憳瀵煎叆', searchForm.companyType)" icon="el-icon-plus" v-permissions="['business:member:create']">浜哄憳瀵煎叆</el-button></li> @@ -188,7 +194,7 @@ v-if="containPermissions(['business:member:update', 'business:member:delete', 'business:empower:create'])" label="鎿嶄綔" min-width="280"> <template slot-scope="{row}"> - <el-button type="text" icon="el-icon-edit" @click="$refs.OperaMemberWindow.open('缂栬緫鍛樺伐淇℃伅', row, department,searchForm.companyType)" + <el-button type="text" icon="el-icon-edit" @click="edit(row)" v-permissions="['business:empower:update']">缂栬緫</el-button> <el-button type="text" icon="el-icon-plus" @click="empower(row.id)" v-permissions="['business:empower:create']">閲嶆柊鎺堟潈</el-button> @@ -276,6 +282,14 @@ })*/ }, methods: { + edit(row) { + this.$refs.OperaMemberWindow.treeData = this.companyTree + this.$refs.OperaMemberWindow.open('缂栬緫鍛樺伐淇℃伅', row, this.department, this.searchForm.companyType) + }, + add() { + this.$refs.OperaMemberWindow.treeData = this.companyTree + this.$refs.OperaMemberWindow.open('鏂板缓鍛樺伐', null, this.department, this.searchForm.companyType) + }, startEmpowerBatch() { if (this.tableData.selectedRows.length === 0) { this.$tip.warning('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�') @@ -313,7 +327,7 @@ }, // 鑾峰彇缁勭粐鏍� getfindCompanyTreePage() { - fetchList() + fetchList(0) .then(res => { if (res && res.length > 0) { res[0].fsStatus = 1 diff --git a/admin/src/views/business/visits.vue b/admin/src/views/business/visits.vue index 2282edb..1b59993 100644 --- a/admin/src/views/business/visits.vue +++ b/admin/src/views/business/visits.vue @@ -50,19 +50,10 @@ <el-table-column prop="companyName" label="璁垮鍗曚綅" min-width="100px"></el-table-column> <el-table-column prop="receptMemberName" label="琚浜�" min-width="100px"></el-table-column> <el-table-column prop="reason" label="鎷滆浜嬬敱" min-width="100px"></el-table-column> - <el-table-column label="棰勭害鏃堕棿" min-width="170px"> + <el-table-column label="鎷滆鏃堕棿" min-width="170px"> <template slot-scope="{row}"> <span>璧凤細{{ row.starttime }}</span><br /> <span>姝細{{ row.endtime }}</span> - </template> - </el-table-column> - <el-table-column label="绛惧埌鏃堕棿" min-width="170px"> - <template slot-scope="{row}"> - <div v-if="row.inDate && row.outDate"> - <span>璧凤細{{ row.inDate }}</span><br /> - <span>姝細{{ row.outDate }}</span> - </div> - <span v-else>-</span> </template> </el-table-column> <el-table-column label="鏂藉伐浜哄憳" min-width="100px"> @@ -91,6 +82,7 @@ </template> </el-table-column> <el-table-column prop="remark" label="涓嬪彂澶囨敞" min-width="100px"></el-table-column> + <el-table-column prop="createDate" label="鍒涘缓鏃堕棿" min-width="170px"></el-table-column> <el-table-column label="鎿嶄綔" min-width="200" fixed="right"> <template slot-scope="{row}"> -- Gitblit v1.9.3