Blame view

src/views/baseComapnyInfo/Form.vue 5.02 KB
477ec56f   monkeyhouyi   权限
1
2
  <template>
  	<el-dialog :title="!dataForm.id ? '新建' : isDetail ? '详情' : '编辑'" :close-on-click-modal="false"
5330d757   monkeyhouyi   公司信息管理完成
3
  		:visible.sync="visible" class="NCC-dialog NCC-dialog_center" lock-scroll width="70%" v-loading="loading">
477ec56f   monkeyhouyi   权限
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
  		<el-row :gutter="15" class="">
  			<el-form ref="elForm" :model="dataForm" size="small" label-width="100px" label-position="right"
  				:disabled="!!isDetail" :rules="rules">
  				<el-col :span="24" v-if="false">
  					<el-form-item label="主键" prop="id">
  						<el-input v-model="dataForm.id" placeholder="请输入" clearable :style='{ "width": "100%" }'>
  						</el-input>
  					</el-form-item>
  				</el-col>
  				<el-col :span="24">
  					<el-form-item label="公司名称" prop="companyName">
  						<el-input v-model="dataForm.companyName" placeholder="请输入" clearable required
  							:style='{ "width": "100%" }'>
  						</el-input>
  					</el-form-item>
  				</el-col>
  				<el-col :span="24">
  					<el-form-item label="社会信用代" prop="socialCreditAgency">
  						<el-input v-model="dataForm.socialCreditAgency" placeholder="请输入" clearable
  							:style='{ "width": "100%" }'>
  						</el-input>
  					</el-form-item>
  				</el-col>
  				<el-col :span="24">
  					<el-form-item label="公司法人" prop="legalPerson">
  						<el-input v-model="dataForm.legalPerson" placeholder="请输入" clearable :style='{ "width": "100%" }'>
  						</el-input>
  					</el-form-item>
  				</el-col>
  				<el-col :span="24">
  					<el-form-item label="公司地址" prop="address">
  						<el-input v-model="dataForm.address" placeholder="请输入" clearable :style='{ "width": "100%" }'>
  						</el-input>
  					</el-form-item>
  				</el-col>
  				<el-col :span="24">
  					<el-form-item label="联系方式" prop="contactInformation">
  						<el-input v-model="dataForm.contactInformation" placeholder="请输入" clearable
  							:style='{ "width": "100%" }'>
  						</el-input>
  					</el-form-item>
  				</el-col>
  				<el-col :span="24">
  					<el-form-item label="资质证明" prop="qualificationCertificate">
  						<NCC-UploadFz v-model="dataForm.qualificationCertificate" :fileSize="5" sizeUnit="MB" :limit="9"
  							buttonText="点击上传">
  						</NCC-UploadFz>
  					</el-form-item>
  				</el-col>
  				<el-col :span="24">
  					<el-form-item label="其他信息" prop="otherInfo">
  						<NCC-Quill v-model="dataForm.otherInfo" placeholder="请输入内容...">
  						</NCC-Quill>
  					</el-form-item>
  				</el-col>
  			</el-form>
  		</el-row>
  		<span slot="footer" class="dialog-footer">
  			<el-button @click="visible = false">取 消</el-button>
  			<el-button type="primary" @click="dataFormSubmit()" v-if="!isDetail">确 定</el-button>
  		</span>
  	</el-dialog>
  </template>
  <script>
  import request from '@/utils/request'
  import { getDictionaryDataSelector } from '@/api/systemData/dictionary'
  import { previewDataInterface } from '@/api/systemData/dataInterface'
  export default {
  	components: {},
  	props: [],
  	data() {
  		return {
  			loading: false,
  			visible: false,
  			isDetail: false,
  			dataForm: {
  				id: '',
  				id: undefined,
  				companyName: undefined,
  				socialCreditAgency: undefined,
  				legalPerson: undefined,
  				address: undefined,
  				contactInformation: undefined,
  				qualificationCertificate: [],
  				otherInfo: undefined,
  			},
  			rules: {
  				companyName: [
  					{
  						required: true,
  						message: '请输入公司名称',
  						trigger: 'blur'
  					},
  				],
  				contactInformation: [
  					{
  						pattern: /^1[3456789]\d{9}$|^0\d{2,3}-?\d{7,8}$/,
  						message: '请输入正确的联系方式',
  						trigger: 'blur'
  					},
  				],
  			},
  		}
  	},
  	computed: {},
  	watch: {},
  	created() {
  	},
  	mounted() {
  	},
  	methods: {
  		goBack() {
  			this.$emit('refresh')
  		},
  		init(id, isDetail) {
  			this.dataForm.id = id || 0;
  			this.visible = true;
  			this.isDetail = isDetail || false;
  			this.$nextTick(() => {
5330d757   monkeyhouyi   公司信息管理完成
123
  				this.$refs['elForm'].resetFields();
477ec56f   monkeyhouyi   权限
124
  				if (this.dataForm.id) {
5330d757   monkeyhouyi   公司信息管理完成
125
  					this.loading = true;
477ec56f   monkeyhouyi   权限
126
  					request({
5330d757   monkeyhouyi   公司信息管理完成
127
  						url: '/Extend/BaseComapnyInfo/' + this.dataForm.id,
477ec56f   monkeyhouyi   权限
128
129
130
  						method: 'get'
  					}).then(res => {
  						this.dataForm = res.data;
5330d757   monkeyhouyi   公司信息管理完成
131
  						this.loading = false;
477ec56f   monkeyhouyi   权限
132
133
134
135
136
137
138
139
140
141
  						if (!this.dataForm.qualificationCertificate) this.dataForm.qualificationCertificate = [];
  					})
  				}
  			})
  		},
  		dataFormSubmit() {
  			this.$refs['elForm'].validate((valid) => {
  				if (valid) {
  					if (!this.dataForm.id) {
  						request({
5330d757   monkeyhouyi   公司信息管理完成
142
  							url: `/Extend/BaseComapnyInfo`,
477ec56f   monkeyhouyi   权限
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
  							method: 'post',
  							data: this.dataForm,
  						}).then((res) => {
  							this.$message({
  								message: res.msg,
  								type: 'success',
  								duration: 1000,
  								onClose: () => {
  									this.visible = false,
  										this.$emit('refresh', true)
  								}
  							})
  						})
  					} else {
  						request({
5330d757   monkeyhouyi   公司信息管理完成
158
  							url: '/Extend/BaseComapnyInfo/' + this.dataForm.id,
477ec56f   monkeyhouyi   权限
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
  							method: 'PUT',
  							data: this.dataForm
  						}).then((res) => {
  							this.$message({
  								message: res.msg,
  								type: 'success',
  								duration: 1000,
  								onClose: () => {
  									this.visible = false
  									this.$emit('refresh', true)
  								}
  							})
  						})
  					}
  				}
  			})
  		},
  	}
  }
  </script>