提交 4402f209 authored 作者: 王鹏飞's avatar 王鹏飞

优化表单校验规则

上级 19a977a9
...@@ -1119,9 +1119,9 @@ ...@@ -1119,9 +1119,9 @@
} }
}, },
"@ezijing/vue-form": { "@ezijing/vue-form": {
"version": "2.0.12", "version": "2.1.9",
"resolved": "https://registry.npm.taobao.org/@ezijing/vue-form/download/@ezijing/vue-form-2.0.12.tgz?cache=0&sync_timestamp=1605677851023&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40ezijing%2Fvue-form%2Fdownload%2F%40ezijing%2Fvue-form-2.0.12.tgz", "resolved": "https://registry.npmjs.org/@ezijing/vue-form/-/vue-form-2.1.9.tgz",
"integrity": "sha1-9QpfqfgJhmVzJPKoS3Vl9YeAOBQ=", "integrity": "sha512-ArYeLbLM+OGWJ/tGvFR1Jb0lebOAKWMM90TcyCqzwrikJklSp4pbLQ8V9VmPpX6MZWL/q8H4amTXnUKnGllDzg==",
"requires": { "requires": {
"@vue/babel-helper-vue-jsx-merge-props": "^1.0.0", "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0",
"@vue/babel-preset-jsx": "^1.1.2", "@vue/babel-preset-jsx": "^1.1.2",
...@@ -1134,16 +1134,16 @@ ...@@ -1134,16 +1134,16 @@
"dependencies": { "dependencies": {
"axios": { "axios": {
"version": "0.20.0", "version": "0.20.0",
"resolved": "https://registry.npm.taobao.org/axios/download/axios-0.20.0.tgz?cache=0&sync_timestamp=1603468826655&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faxios%2Fdownload%2Faxios-0.20.0.tgz", "resolved": "https://registry.npmjs.org/axios/-/axios-0.20.0.tgz",
"integrity": "sha1-BXujDwSIRpSZOozQf6OUz/EcUL0=", "integrity": "sha512-ANA4rr2BDcmmAQLOKft2fufrtuvlqR+cXNNinUmvfeSNCOF98PZL+7M/v1zIdGo7OLjEA9J2gXJL+j4zGsl0bA==",
"requires": { "requires": {
"follow-redirects": "^1.10.0" "follow-redirects": "^1.10.0"
} }
}, },
"element-ui": { "element-ui": {
"version": "2.14.1", "version": "2.14.1",
"resolved": "https://registry.npm.taobao.org/element-ui/download/element-ui-2.14.1.tgz", "resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.14.1.tgz",
"integrity": "sha1-i1dFxzZsHBpgO7bAIShupxh+KqI=", "integrity": "sha512-Uje0J12dBaXdyvt/EtuDA8diFbYTdO7uI4QCfl7zmEJmE1WxgCSVKhlRRoL8MDonO8pyNVhB4n0AFAR14g56nw==",
"requires": { "requires": {
"async-validator": "~1.8.1", "async-validator": "~1.8.1",
"babel-helper-vue-jsx-merge-props": "^2.0.0", "babel-helper-vue-jsx-merge-props": "^2.0.0",
...@@ -1257,13 +1257,13 @@ ...@@ -1257,13 +1257,13 @@
}, },
"@vue/babel-helper-vue-jsx-merge-props": { "@vue/babel-helper-vue-jsx-merge-props": {
"version": "1.2.1", "version": "1.2.1",
"resolved": "https://registry.npm.taobao.org/@vue/babel-helper-vue-jsx-merge-props/download/@vue/babel-helper-vue-jsx-merge-props-1.2.1.tgz?cache=0&sync_timestamp=1602851211699&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-helper-vue-jsx-merge-props%2Fdownload%2F%40vue%2Fbabel-helper-vue-jsx-merge-props-1.2.1.tgz", "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz",
"integrity": "sha1-MWJKelBfsU2h1YAjclpMXycOaoE=" "integrity": "sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA=="
}, },
"@vue/babel-plugin-transform-vue-jsx": { "@vue/babel-plugin-transform-vue-jsx": {
"version": "1.2.1", "version": "1.2.1",
"resolved": "https://registry.npm.taobao.org/@vue/babel-plugin-transform-vue-jsx/download/@vue/babel-plugin-transform-vue-jsx-1.2.1.tgz?cache=0&sync_timestamp=1602851123835&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-plugin-transform-vue-jsx%2Fdownload%2F%40vue%2Fbabel-plugin-transform-vue-jsx-1.2.1.tgz", "resolved": "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.2.1.tgz",
"integrity": "sha1-ZGBGxlLC8CQnJ/NFGdkXsGQEHtc=", "integrity": "sha512-HJuqwACYehQwh1fNT8f4kyzqlNMpBuUK4rSiSES5D4QsYncv5fxFsLyrxFPG2ksO7t5WP+Vgix6tt6yKClwPzA==",
"requires": { "requires": {
"@babel/helper-module-imports": "^7.0.0", "@babel/helper-module-imports": "^7.0.0",
"@babel/plugin-syntax-jsx": "^7.2.0", "@babel/plugin-syntax-jsx": "^7.2.0",
...@@ -1275,8 +1275,8 @@ ...@@ -1275,8 +1275,8 @@
}, },
"@vue/babel-preset-jsx": { "@vue/babel-preset-jsx": {
"version": "1.2.4", "version": "1.2.4",
"resolved": "https://registry.npm.taobao.org/@vue/babel-preset-jsx/download/@vue/babel-preset-jsx-1.2.4.tgz?cache=0&sync_timestamp=1603806765718&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-preset-jsx%2Fdownload%2F%40vue%2Fbabel-preset-jsx-1.2.4.tgz", "resolved": "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.2.4.tgz",
"integrity": "sha1-kv6nnbbxOwHoDToAmeKSS9y+Toc=", "integrity": "sha512-oRVnmN2a77bYDJzeGSt92AuHXbkIxbf/XXSE3klINnh9AXBmVS1DGa1f0d+dDYpLfsAKElMnqKTQfKn7obcL4w==",
"requires": { "requires": {
"@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1",
"@vue/babel-plugin-transform-vue-jsx": "^1.2.1", "@vue/babel-plugin-transform-vue-jsx": "^1.2.1",
...@@ -1290,40 +1290,40 @@ ...@@ -1290,40 +1290,40 @@
}, },
"@vue/babel-sugar-composition-api-inject-h": { "@vue/babel-sugar-composition-api-inject-h": {
"version": "1.2.1", "version": "1.2.1",
"resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-composition-api-inject-h/download/@vue/babel-sugar-composition-api-inject-h-1.2.1.tgz?cache=0&sync_timestamp=1602851123492&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-sugar-composition-api-inject-h%2Fdownload%2F%40vue%2Fbabel-sugar-composition-api-inject-h-1.2.1.tgz", "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.2.1.tgz",
"integrity": "sha1-BdbgxDJxDjdYKyvppgSbaJtvA+s=", "integrity": "sha512-4B3L5Z2G+7s+9Bwbf+zPIifkFNcKth7fQwekVbnOA3cr3Pq71q71goWr97sk4/yyzH8phfe5ODVzEjX7HU7ItQ==",
"requires": { "requires": {
"@babel/plugin-syntax-jsx": "^7.2.0" "@babel/plugin-syntax-jsx": "^7.2.0"
} }
}, },
"@vue/babel-sugar-composition-api-render-instance": { "@vue/babel-sugar-composition-api-render-instance": {
"version": "1.2.4", "version": "1.2.4",
"resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-composition-api-render-instance/download/@vue/babel-sugar-composition-api-render-instance-1.2.4.tgz?cache=0&sync_timestamp=1603806768498&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-sugar-composition-api-render-instance%2Fdownload%2F%40vue%2Fbabel-sugar-composition-api-render-instance-1.2.4.tgz", "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.2.4.tgz",
"integrity": "sha1-5MvGmXw0T6wnF4WteikyXFHWjRk=", "integrity": "sha512-joha4PZznQMsxQYXtR3MnTgCASC9u3zt9KfBxIeuI5g2gscpTsSKRDzWQt4aqNIpx6cv8On7/m6zmmovlNsG7Q==",
"requires": { "requires": {
"@babel/plugin-syntax-jsx": "^7.2.0" "@babel/plugin-syntax-jsx": "^7.2.0"
} }
}, },
"@vue/babel-sugar-functional-vue": { "@vue/babel-sugar-functional-vue": {
"version": "1.2.2", "version": "1.2.2",
"resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-functional-vue/download/@vue/babel-sugar-functional-vue-1.2.2.tgz?cache=0&sync_timestamp=1602929625505&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-sugar-functional-vue%2Fdownload%2F%40vue%2Fbabel-sugar-functional-vue-1.2.2.tgz", "resolved": "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.2.2.tgz",
"integrity": "sha1-JnqayNeHyW7b8Dzj85LEnam9Jlg=", "integrity": "sha512-JvbgGn1bjCLByIAU1VOoepHQ1vFsroSA/QkzdiSs657V79q6OwEWLCQtQnEXD/rLTA8rRit4rMOhFpbjRFm82w==",
"requires": { "requires": {
"@babel/plugin-syntax-jsx": "^7.2.0" "@babel/plugin-syntax-jsx": "^7.2.0"
} }
}, },
"@vue/babel-sugar-inject-h": { "@vue/babel-sugar-inject-h": {
"version": "1.2.2", "version": "1.2.2",
"resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-inject-h/download/@vue/babel-sugar-inject-h-1.2.2.tgz?cache=0&sync_timestamp=1602929625678&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-sugar-inject-h%2Fdownload%2F%40vue%2Fbabel-sugar-inject-h-1.2.2.tgz", "resolved": "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.2.2.tgz",
"integrity": "sha1-1zjTyJM2fshJHcu2abAAkZKT46o=", "integrity": "sha512-y8vTo00oRkzQTgufeotjCLPAvlhnpSkcHFEp60+LJUwygGcd5Chrpn5480AQp/thrxVm8m2ifAk0LyFel9oCnw==",
"requires": { "requires": {
"@babel/plugin-syntax-jsx": "^7.2.0" "@babel/plugin-syntax-jsx": "^7.2.0"
} }
}, },
"@vue/babel-sugar-v-model": { "@vue/babel-sugar-v-model": {
"version": "1.2.3", "version": "1.2.3",
"resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-v-model/download/@vue/babel-sugar-v-model-1.2.3.tgz?cache=0&sync_timestamp=1603184320789&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-sugar-v-model%2Fdownload%2F%40vue%2Fbabel-sugar-v-model-1.2.3.tgz", "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.2.3.tgz",
"integrity": "sha1-+h8pulHr8KoabDX6ZtU5vEWaGPI=", "integrity": "sha512-A2jxx87mySr/ulAsSSyYE8un6SIH0NWHiLaCWpodPCVOlQVODCaSpiR4+IMsmBr73haG+oeCuSvMOM+ttWUqRQ==",
"requires": { "requires": {
"@babel/plugin-syntax-jsx": "^7.2.0", "@babel/plugin-syntax-jsx": "^7.2.0",
"@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1",
...@@ -1335,15 +1335,15 @@ ...@@ -1335,15 +1335,15 @@
"dependencies": { "dependencies": {
"camelcase": { "camelcase": {
"version": "5.3.1", "version": "5.3.1",
"resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz?cache=0&sync_timestamp=1603921799543&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-5.3.1.tgz", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
"integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=" "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="
} }
} }
}, },
"@vue/babel-sugar-v-on": { "@vue/babel-sugar-v-on": {
"version": "1.2.3", "version": "1.2.3",
"resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-v-on/download/@vue/babel-sugar-v-on-1.2.3.tgz?cache=0&sync_timestamp=1603181880042&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-sugar-v-on%2Fdownload%2F%40vue%2Fbabel-sugar-v-on-1.2.3.tgz", "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.2.3.tgz",
"integrity": "sha1-NCNnF4WGpp85LwS/ujICHQKROto=", "integrity": "sha512-kt12VJdz/37D3N3eglBywV8GStKNUhNrsxChXIV+o0MwVXORYuhDTHJRKPgLJRb/EY3vM2aRFQdxJBp9CLikjw==",
"requires": { "requires": {
"@babel/plugin-syntax-jsx": "^7.2.0", "@babel/plugin-syntax-jsx": "^7.2.0",
"@vue/babel-plugin-transform-vue-jsx": "^1.2.1", "@vue/babel-plugin-transform-vue-jsx": "^1.2.1",
...@@ -1352,8 +1352,8 @@ ...@@ -1352,8 +1352,8 @@
"dependencies": { "dependencies": {
"camelcase": { "camelcase": {
"version": "5.3.1", "version": "5.3.1",
"resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz?cache=0&sync_timestamp=1603921799543&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-5.3.1.tgz", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
"integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=" "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="
} }
} }
}, },
...@@ -5743,7 +5743,7 @@ ...@@ -5743,7 +5743,7 @@
}, },
"html-tags": { "html-tags": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npm.taobao.org/html-tags/download/html-tags-2.0.0.tgz", "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz",
"integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=" "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos="
}, },
"html-webpack-plugin": { "html-webpack-plugin": {
...@@ -6708,7 +6708,7 @@ ...@@ -6708,7 +6708,7 @@
}, },
"lodash.kebabcase": { "lodash.kebabcase": {
"version": "4.1.1", "version": "4.1.1",
"resolved": "https://registry.npm.taobao.org/lodash.kebabcase/download/lodash.kebabcase-4.1.1.tgz", "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz",
"integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=" "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY="
}, },
"loglevel": { "loglevel": {
...@@ -13580,7 +13580,7 @@ ...@@ -13580,7 +13580,7 @@
}, },
"svg-tags": { "svg-tags": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npm.taobao.org/svg-tags/download/svg-tags-1.0.0.tgz", "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz",
"integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=" "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q="
}, },
"swiper": { "swiper": {
......
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
"semver": "^1.1.4" "semver": "^1.1.4"
}, },
"dependencies": { "dependencies": {
"@ezijing/vue-form": "^2.0.12", "@ezijing/vue-form": "^2.1.9",
"animate.css": "^4.1.0", "animate.css": "^4.1.0",
"axios": "^0.19.2", "axios": "^0.19.2",
"cross-env": "^7.0.2", "cross-env": "^7.0.2",
......
...@@ -21,19 +21,24 @@ ...@@ -21,19 +21,24 @@
style="max-width: 680px" style="max-width: 680px"
> >
<el-form-item label="姓名" prop="provider_name"> <el-form-item label="姓名" prop="provider_name">
<el-input v-model.trim="ruleForm.provider_name"></el-input> <el-input v-model="ruleForm.provider_name" @blur="onBlur('provider_name')"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="推荐信内容" prop="letter_content"> <el-form-item label="推荐信内容" prop="letter_content">
<el-input type="textarea" :autosize="{ minRows: 6 }" v-model.trim="ruleForm.letter_content"></el-input> <el-input
type="textarea"
:autosize="{ minRows: 6 }"
v-model="ruleForm.letter_content"
@blur="onBlur('letter_content')"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="手机号" prop="provider_phone_number"> <el-form-item label="手机号" prop="provider_phone_number">
<el-input v-model.trim="ruleForm.provider_phone_number"></el-input> <el-input v-model="ruleForm.provider_phone_number"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="工作单位" prop="provider_company_name"> <el-form-item label="工作单位" prop="provider_company_name">
<el-input v-model.trim="ruleForm.provider_company_name"></el-input> <el-input v-model="ruleForm.provider_company_name" @blur="onBlur('provider_company_name')"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="职务" prop="provider_job_title"> <el-form-item label="职务" prop="provider_job_title">
<el-input v-model.trim="ruleForm.provider_job_title"></el-input> <el-input v-model="ruleForm.provider_job_title" @blur="onBlur('provider_job_title')"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="buttons"> <div class="buttons">
...@@ -67,7 +72,7 @@ export default { ...@@ -67,7 +72,7 @@ export default {
rules: { rules: {
provider_name: [{ required: true, message: '请输入姓名', trigger: 'blur' }], provider_name: [{ required: true, message: '请输入姓名', trigger: 'blur' }],
letter_content: [{ required: true, message: '请输入推荐信内容', trigger: 'blur' }], letter_content: [{ required: true, message: '请输入推荐信内容', trigger: 'blur' }],
provider_phone_number: [{ required: true, message: '请输入手机号', trigger: 'blur' }], provider_phone_number: [{ required: true, pattern: /^1[3-9]\d{9}$/, message: '请输入手机号', trigger: 'blur' }],
provider_company_name: [{ required: true, message: '请输入工作单位', trigger: 'blur' }], provider_company_name: [{ required: true, message: '请输入工作单位', trigger: 'blur' }],
provider_job_title: [{ required: true, message: '请输入职务', trigger: 'blur' }] provider_job_title: [{ required: true, message: '请输入职务', trigger: 'blur' }]
}, },
...@@ -110,6 +115,11 @@ export default { ...@@ -110,6 +115,11 @@ export default {
}, },
getClientWidth() { getClientWidth() {
this.clientWidth = document.body.clientWidth this.clientWidth = document.body.clientWidth
},
onBlur(key) {
if (this.ruleForm[key]) {
this.ruleForm[key] = this.ruleForm[key].trim()
}
} }
}, },
mounted() { mounted() {
......
...@@ -22,7 +22,7 @@ export default function(_this) { ...@@ -22,7 +22,7 @@ export default function(_this) {
beforeRequest(data) { beforeRequest(data) {
const honors = data.map(item => { const honors = data.map(item => {
return ['time', 'title', 'institution_cn'].reduce((result, key) => { return ['time', 'title', 'institution_cn'].reduce((result, key) => {
result[key] = item[key] result[key] = item[key] || ''
return result return result
}, {}) }, {})
}) })
...@@ -39,21 +39,21 @@ export default function(_this) { ...@@ -39,21 +39,21 @@ export default function(_this) {
type: 'v-datepicker', type: 'v-datepicker',
label: '获取时间', label: '获取时间',
model: 'time', model: 'time',
attrs: { type: 'date', valueFormat: 'yyyy-MM-dd', placeholder: '请选择获取时间' }, attrs: { type: 'date', valueFormat: 'yyyy-MM-dd', placeholder: '请选择获取时间' }
rules: [{ required: true, message: '请选择获取时间', trigger: 'blur' }] // rules: [{ required: true, message: '请选择获取时间', trigger: 'blur' }]
}, },
{ {
type: 'v-input', type: 'v-input',
label: '荣誉奖励', label: '荣誉奖励',
model: 'title', model: 'title',
attrs: { placeholder: '请输入荣誉奖励' }, attrs: { placeholder: '请输入荣誉奖励' }
rules: [{ required: true, message: '请输入荣誉奖励', trigger: 'blur' }] // rules: [{ required: true, message: '请输入荣誉奖励', trigger: 'blur' }]
}, },
{ {
type: 'v-input', type: 'v-input',
label: '证书颁发机构', label: '证书颁发机构',
model: 'institution_cn', model: 'institution_cn'
rules: [{ required: true, message: '请输入证书颁发机构', trigger: 'blur' }] // rules: [{ required: true, message: '请输入证书颁发机构', trigger: 'blur' }]
} }
] ]
} }
......
...@@ -22,7 +22,7 @@ export default function(_this) { ...@@ -22,7 +22,7 @@ export default function(_this) {
beforeRequest(data) { beforeRequest(data) {
const trainings = data.map(item => { const trainings = data.map(item => {
return ['start_date', 'end_date', 'institution_cn', 'course_cn'].reduce((result, key) => { return ['start_date', 'end_date', 'institution_cn', 'course_cn'].reduce((result, key) => {
result[key] = item[key] result[key] = item[key] || ''
return result return result
}, {}) }, {})
}) })
...@@ -43,8 +43,8 @@ export default function(_this) { ...@@ -43,8 +43,8 @@ export default function(_this) {
type: 'month', type: 'month',
placeholder: '请选择培训开始时间', placeholder: '请选择培训开始时间',
valueFormat: 'yyyy-MM' valueFormat: 'yyyy-MM'
}, }
rules: [{ required: true, message: '请选择培训开始时间', trigger: 'blur' }] // rules: [{ required: true, message: '请选择培训开始时间', trigger: 'blur' }]
}, },
{ {
type: 'v-datepicker', type: 'v-datepicker',
...@@ -54,20 +54,20 @@ export default function(_this) { ...@@ -54,20 +54,20 @@ export default function(_this) {
type: 'month', type: 'month',
placeholder: '请选择培训结束时间', placeholder: '请选择培训结束时间',
valueFormat: 'yyyy-MM' valueFormat: 'yyyy-MM'
}, }
rules: [{ required: true, message: '请选择培训结束时间', trigger: 'blur' }] // rules: [{ required: true, message: '请选择培训结束时间', trigger: 'blur' }]
}, },
{ {
type: 'v-input', type: 'v-input',
label: '培训机构', label: '培训机构',
model: 'institution_cn', model: 'institution_cn'
rules: [{ required: true, message: '请输入培训机构', trigger: 'blur' }] // rules: [{ required: true, message: '请输入培训机构', trigger: 'blur' }]
}, },
{ {
type: 'v-input', type: 'v-input',
label: '课程名称', label: '课程名称',
model: 'course_cn', model: 'course_cn'
rules: [{ required: true, message: '请输入课程名称', trigger: 'blur' }] // rules: [{ required: true, message: '请输入课程名称', trigger: 'blur' }]
} }
] ]
} }
......
...@@ -76,11 +76,11 @@ ...@@ -76,11 +76,11 @@
<a class="inner" :href="item.oss_sign_url" target="_blank"> <a class="inner" :href="item.oss_sign_url" target="_blank">
<div class="pic"><img :src="item.oss_sign_url" /></div> <div class="pic"><img :src="item.oss_sign_url" /></div>
<div class="name">{{ item.file_type_label }}</div> <div class="name">{{ item.file_type_label }}</div>
<div style="margin-right: 40px" v-if="item.status_desc"> <div v-if="item.status_desc">
<el-tag size="mini">{{ item.status_desc }}</el-tag> <el-tag size="mini">{{ item.status_desc }}</el-tag>
</div> </div>
</a> </a>
<el-button-group> <el-button-group v-if="hasButton" style="margin-left: 40px">
<el-button size="mini" :disabled="item.status === 'INACTIVE'" @click="handleRemove(item)" <el-button size="mini" :disabled="item.status === 'INACTIVE'" @click="handleRemove(item)"
>删除</el-button >删除</el-button
> >
...@@ -327,9 +327,12 @@ export default { ...@@ -327,9 +327,12 @@ export default {
} }
}, },
computed: { computed: {
watermark() { right() {
const { watermark = '清控紫荆教育' } = this.$route.query const { right = '' } = this.$route.query
return watermark return right
},
hasButton() {
return this.right.includes('x')
} }
}, },
methods: { methods: {
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
<el-form-item label="手机号" prop="phone_number"> <el-form-item label="手机号" prop="phone_number">
<el-input v-model="ruleForm.phone_number" :maxlength="11"></el-input> <el-input v-model="ruleForm.phone_number" :maxlength="11"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="邮" prop="email"> <el-form-item label="邮" prop="email">
<el-input v-model="ruleForm.email"></el-input> <el-input v-model="ruleForm.email"></el-input>
</el-form-item> </el-form-item>
<div class="buttons"> <div class="buttons">
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论