Commit c8753517239080adc20dbc37b6080b7cece3d9f0

Authored by monkeyhouyi
1 parent 93186f57

前端页面整改

src/assets/style/common.scss
@@ -64,3 +64,18 @@ a { @@ -64,3 +64,18 @@ a {
64 64
65 } 65 }
66 66
  67 +.form-item {
  68 + display: flex;
  69 + justify-content: flex-start;
  70 + align-items: center;
  71 + flex-direction: row;
  72 + color: #C0C4CC;
  73 + line-height: 30px;
  74 + .label {
  75 + color: #000;
  76 + &.w-100 {
  77 + width: 100px;
  78 + }
  79 + }
  80 +}
  81 +
src/components/CompanyForm/index.vue
@@ -58,13 +58,6 @@ @@ -58,13 +58,6 @@
58 </el-form-item> 58 </el-form-item>
59 </el-col> 59 </el-col>
60 <el-col :span="24"> 60 <el-col :span="24">
61 - <el-form-item label="资质证明" prop="qualificationCertificate">  
62 - <NCC-UploadFz v-model="dataForm.qualificationCertificate" :fileSize="5" sizeUnit="MB" :limit="9"  
63 - buttonText="点击上传">  
64 - </NCC-UploadFz>  
65 - </el-form-item>  
66 - </el-col>  
67 - <el-col :span="24">  
68 <el-form-item label="其他信息" prop="otherInfo"> 61 <el-form-item label="其他信息" prop="otherInfo">
69 <NCC-Quill v-model="dataForm.otherInfo" placeholder="请输入内容..."> 62 <NCC-Quill v-model="dataForm.otherInfo" placeholder="请输入内容...">
70 </NCC-Quill> 63 </NCC-Quill>
src/components/InfoEditRecord/index.vue
@@ -27,97 +27,27 @@ @@ -27,97 +27,27 @@
27 v-loading="infoForm_loading" 27 v-loading="infoForm_loading"
28 > 28 >
29 <el-row :gutter="20"> 29 <el-row :gutter="20">
30 - <el-col :span="24">  
31 - <el-col :span="12">  
32 - <el-form-item label="主体企业" prop="companyId">  
33 - <el-select  
34 - v-model="infoForm.companyId"  
35 - placeholder="请选择主体企业"  
36 - clearable  
37 - v-loadMore="nextCompanyList"  
38 - style="width: 100%"  
39 - @change="companyChange"  
40 - >  
41 - <el-option  
42 - v-for="item in companyOptions"  
43 - :key="item.id"  
44 - :label="item.companyName"  
45 - :value="item.id"  
46 - >  
47 - </el-option>  
48 - </el-select>  
49 - </el-form-item>  
50 - </el-col>  
51 - </el-col>  
52 - <el-col :span="24" v-if="isShowCompanyInfo">  
53 - <div class="company-info">  
54 - <div class="company-info-items">  
55 - <div :span="12">  
56 - 企业归属:{{ companyInfo.areaName || "--" }}  
57 - </div>  
58 - <div :span="12">  
59 - 联系人:{{ companyInfo.contactUser || "--" }}  
60 - </div>  
61 - <div :span="12">  
62 - 公司地址:{{ companyInfo.address || "--" }}  
63 - </div>  
64 - </div>  
65 - <div class="company-info-items">  
66 - <div :span="12">  
67 - 社会信用代码:{{ companyInfo.socialCreditAgency || "--" }}  
68 - </div>  
69 - <div :span="12">  
70 - 联系电话:{{ companyInfo.contactPhone || "--" }}  
71 - </div>  
72 - </div>  
73 - </div>  
74 - </el-col>  
75 - <el-col :span="24"> 30 + <el-col :span="12">
76 <el-form-item label="系统类型" prop="systemType"> 31 <el-form-item label="系统类型" prop="systemType">
77 - <el-radio-group v-model="infoForm.systemType">  
78 - <el-radio  
79 - v-for="v in systemTypeOptions"  
80 - :key="v.Id"  
81 - :label="v.Id"  
82 - @change="initSystemClassList"  
83 - >{{ v.FullName }}</el-radio  
84 - >  
85 - </el-radio-group> 32 + <el-input
  33 + v-model="infoForm.systemTypeName"
  34 + placeholder="--"
  35 + ></el-input>
86 </el-form-item> 36 </el-form-item>
87 </el-col> 37 </el-col>
88 <el-col :span="12"> 38 <el-col :span="12">
89 <el-form-item label="系统名称" prop="systemName"> 39 <el-form-item label="系统名称" prop="systemName">
90 <el-input 40 <el-input
91 v-model="infoForm.systemName" 41 v-model="infoForm.systemName"
92 - placeholder="请输入系统名称"  
93 - maxlength="50" 42 + placeholder="--"
94 ></el-input> 43 ></el-input>
95 </el-form-item> 44 </el-form-item>
96 </el-col> 45 </el-col>
97 <el-col :span="12"> 46 <el-col :span="12">
98 <el-form-item label="系统分类" prop="systemClass"> 47 <el-form-item label="系统分类" prop="systemClass">
99 - <el-select  
100 - v-model="infoForm.systemClass"  
101 - placeholder="请选择系统分类"  
102 - :disabled="!infoForm.systemType"  
103 - style="width: 100%"  
104 - >  
105 - <el-option  
106 - v-for="item in systemClassOptions"  
107 - :key="item.Id"  
108 - :label="item.ClassName"  
109 - :value="item.Id"  
110 - >  
111 - </el-option>  
112 - </el-select>  
113 - </el-form-item>  
114 - </el-col>  
115 - <el-col :span="12">  
116 - <el-form-item label="备案号" prop="systemRecordNumber">  
117 <el-input 48 <el-input
118 - v-model="infoForm.systemRecordNumber"  
119 - placeholder="请输入备案号"  
120 - maxlength="200" 49 + v-model="infoForm.systemClassName"
  50 + placeholder="--"
121 ></el-input> 51 ></el-input>
122 </el-form-item> 52 </el-form-item>
123 </el-col> 53 </el-col>
@@ -125,8 +55,7 @@ @@ -125,8 +55,7 @@
125 <el-form-item label="备案许可证" prop="recordLicense"> 55 <el-form-item label="备案许可证" prop="recordLicense">
126 <el-input 56 <el-input
127 v-model="infoForm.recordLicense" 57 v-model="infoForm.recordLicense"
128 - placeholder="请输入备案许可证"  
129 - maxlength="200" 58 + placeholder="--"
130 ></el-input> 59 ></el-input>
131 </el-form-item> 60 </el-form-item>
132 </el-col> 61 </el-col>
@@ -134,8 +63,7 @@ @@ -134,8 +63,7 @@
134 <el-form-item label="归属平台" prop="platform"> 63 <el-form-item label="归属平台" prop="platform">
135 <el-input 64 <el-input
136 v-model="infoForm.platform" 65 v-model="infoForm.platform"
137 - placeholder="请输入归属平台"  
138 - maxlength="200" 66 + placeholder="--"
139 ></el-input> 67 ></el-input>
140 </el-form-item> 68 </el-form-item>
141 </el-col> 69 </el-col>
@@ -143,8 +71,7 @@ @@ -143,8 +71,7 @@
143 <el-form-item label="域名" prop="domain"> 71 <el-form-item label="域名" prop="domain">
144 <el-input 72 <el-input
145 v-model="infoForm.domain" 73 v-model="infoForm.domain"
146 - placeholder="请输入域名"  
147 - maxlength="200" 74 + placeholder="--"
148 ></el-input> 75 ></el-input>
149 </el-form-item> 76 </el-form-item>
150 </el-col> 77 </el-col>
@@ -152,8 +79,7 @@ @@ -152,8 +79,7 @@
152 <el-form-item label="下载量" prop="systemDownloadVolume"> 79 <el-form-item label="下载量" prop="systemDownloadVolume">
153 <el-input 80 <el-input
154 v-model.number="infoForm.systemDownloadVolume" 81 v-model.number="infoForm.systemDownloadVolume"
155 - maxlength="200"  
156 - placeholder="请输入下载量" 82 + placeholder="--"
157 ></el-input> 83 ></el-input>
158 </el-form-item> 84 </el-form-item>
159 </el-col> 85 </el-col>
@@ -161,8 +87,7 @@ @@ -161,8 +87,7 @@
161 <el-form-item label="版本" prop="version"> 87 <el-form-item label="版本" prop="version">
162 <el-input 88 <el-input
163 v-model="infoForm.version" 89 v-model="infoForm.version"
164 - maxlength="200"  
165 - placeholder="请输入版本" 90 + placeholder="--"
166 ></el-input> 91 ></el-input>
167 </el-form-item> 92 </el-form-item>
168 </el-col> 93 </el-col>
@@ -170,8 +95,7 @@ @@ -170,8 +95,7 @@
170 <el-form-item label="负责人姓名" prop="principalName"> 95 <el-form-item label="负责人姓名" prop="principalName">
171 <el-input 96 <el-input
172 v-model="infoForm.principalName" 97 v-model="infoForm.principalName"
173 - maxlength="50"  
174 - placeholder="请输入负责人姓名" 98 + placeholder="--"
175 ></el-input> 99 ></el-input>
176 </el-form-item> 100 </el-form-item>
177 </el-col> 101 </el-col>
@@ -179,8 +103,7 @@ @@ -179,8 +103,7 @@
179 <el-form-item label="负责人电话" prop="principalPhone"> 103 <el-form-item label="负责人电话" prop="principalPhone">
180 <el-input 104 <el-input
181 v-model="infoForm.principalPhone" 105 v-model="infoForm.principalPhone"
182 - maxlength="20"  
183 - placeholder="请输入负责人电话" 106 + placeholder="--"
184 ></el-input> 107 ></el-input>
185 </el-form-item> 108 </el-form-item>
186 </el-col> 109 </el-col>
@@ -188,8 +111,7 @@ @@ -188,8 +111,7 @@
188 <el-form-item label="办公地址" prop="officeAddress"> 111 <el-form-item label="办公地址" prop="officeAddress">
189 <el-input 112 <el-input
190 v-model="infoForm.officeAddress" 113 v-model="infoForm.officeAddress"
191 - maxlength="200"  
192 - placeholder="请输入办公地址" 114 + placeholder="--"
193 ></el-input> 115 ></el-input>
194 </el-form-item> 116 </el-form-item>
195 </el-col> 117 </el-col>
@@ -212,29 +134,52 @@ @@ -212,29 +134,52 @@
212 </el-upload> 134 </el-upload>
213 </el-form-item> 135 </el-form-item>
214 </el-col> 136 </el-col>
215 - <el-col :span="24"> 137 + <el-col :span="12">
216 <el-form-item label="所属区县" prop="areaId"> 138 <el-form-item label="所属区县" prop="areaId">
217 - <el-radio-group  
218 - v-model="infoForm.areaId"  
219 - placeholder="请选择所属区县"  
220 - style="line-height: 22px"  
221 - >  
222 - <el-radio  
223 - v-for="v in areaOptions"  
224 - :key="v.id"  
225 - :label="v.id"  
226 - >{{ v.fullName }}</el-radio  
227 - >  
228 - </el-radio-group> 139 + <el-input
  140 + v-model="infoForm.areaName"
  141 + placeholder="--"
  142 + ></el-input>
  143 + </el-form-item>
  144 + </el-col>
  145 + <el-col :span="12">
  146 + <el-form-item label="主体企业" prop="companyId">
  147 + <el-input
  148 + v-model="infoForm.companyName"
  149 + placeholder="--"
  150 + ></el-input>
229 </el-form-item> 151 </el-form-item>
230 </el-col> 152 </el-col>
  153 + <el-col :span="24" v-if="isShowCompanyInfo">
  154 + <div class="company-info">
  155 + <div class="company-info-items">
  156 + <div :span="12">
  157 + 企业归属:{{ companyInfo.areaName || "--" }}
  158 + </div>
  159 + <div :span="12">
  160 + 联系人:{{ companyInfo.contactUser || "--" }}
  161 + </div>
  162 + <div :span="12">
  163 + 公司地址:{{ companyInfo.address || "--" }}
  164 + </div>
  165 + </div>
  166 + <div class="company-info-items">
  167 + <div :span="12">
  168 + 社会信用代码:{{ companyInfo.socialCreditAgency || "--" }}
  169 + </div>
  170 + <div :span="12">
  171 + 联系电话:{{ companyInfo.contactPhone || "--" }}
  172 + </div>
  173 + </div>
  174 + </div>
  175 + </el-col>
231 </el-row> 176 </el-row>
232 </el-form> 177 </el-form>
233 </el-col> 178 </el-col>
234 <el-col :span="10"> 179 <el-col :span="10">
235 <el-col :span="24"> 修改记录: </el-col> 180 <el-col :span="24"> 修改记录: </el-col>
236 <el-col :span="24"> 181 <el-col :span="24">
237 - <el-timeline v-loading="record_loading"> 182 + <el-timeline v-loading="record_loading" style="max-height: 570px; overflow-y: scroll">
238 <template v-if="updataRecordList.length"> 183 <template v-if="updataRecordList.length">
239 <el-timeline-item 184 <el-timeline-item
240 placement="top" 185 placement="top"
@@ -245,9 +190,9 @@ @@ -245,9 +190,9 @@
245 <h4 v-if="v.content"> 190 <h4 v-if="v.content">
246 更新 191 更新
247 <p v-for="(item, index) in v.updataList" :key="index"> 192 <p v-for="(item, index) in v.updataList" :key="index">
248 - 将“{{ item.PropertyName }}”从“{{ item.OldValue }}”改为“{{  
249 - item.NewValue  
250 - }}” 193 + 将“{{ item.PropertyName }}”从“{{
  194 + item.OldValue
  195 + }}”改为“{{ item.NewValue }}”
251 </p> 196 </p>
252 </h4> 197 </h4>
253 <h4 v-else> 198 <h4 v-else>
@@ -310,39 +255,9 @@ export default { @@ -310,39 +255,9 @@ export default {
310 officeAddress: "", 255 officeAddress: "",
311 systemIcon: "", 256 systemIcon: "",
312 areaId: "", 257 areaId: "",
  258 + systemClassName: '',
313 }, 259 },
314 - infoRules: {  
315 - systemName: {  
316 - required: true,  
317 - message: "请输入系统名称",  
318 - trigger: "blur",  
319 - },  
320 - systemClass: {  
321 - required: true,  
322 - message: "请输入系统分类",  
323 - trigger: "change",  
324 - },  
325 - systemType: {  
326 - required: true,  
327 - message: "请输入系统类型",  
328 - trigger: "change",  
329 - },  
330 - companyId: {  
331 - required: true,  
332 - message: "请输入主体企业",  
333 - trigger: "change",  
334 - },  
335 - areaId: {  
336 - required: true,  
337 - message: "请输入所属区县",  
338 - trigger: "change",  
339 - },  
340 - pincipalPhone: {  
341 - pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,  
342 - message: "请输入正确的手机号码",  
343 - trigger: "blur",  
344 - },  
345 - }, 260 + infoRules: {},
346 value: "", 261 value: "",
347 companyOptions: [], 262 companyOptions: [],
348 listQuery_company: { 263 listQuery_company: {
@@ -378,6 +293,7 @@ export default { @@ -378,6 +293,7 @@ export default {
378 async companyChange(val) { 293 async companyChange(val) {
379 // 公司信息 294 // 公司信息
380 let { data } = await getCompanyInfoById(val); 295 let { data } = await getCompanyInfoById(val);
  296 + this.infoForm.companyName = data.companyName;
381 this.companyInfo = data; 297 this.companyInfo = data;
382 this.isShowCompanyInfo = true; 298 this.isShowCompanyInfo = true;
383 }, 299 },
@@ -436,10 +352,15 @@ export default { @@ -436,10 +352,15 @@ export default {
436 }, 352 },
437 async initForm() { 353 async initForm() {
438 let { data } = await getSystemDetail(this.systemId); 354 let { data } = await getSystemDetail(this.systemId);
  355 + data.systemTypeName = this.systemTypeOptions.find(v => v.Id == data.systemType).FullName;
  356 + data.areaName = this.areaOptions.find(v => v.id == data.areaId).fullName;
439 this.infoForm = data; 357 this.infoForm = data;
440 this.initSystemClassList(data.systemType); 358 this.initSystemClassList(data.systemType);
441 await this.companyChange(data.companyId); 359 await this.companyChange(data.companyId);
442 - this.$forceUpdate(); 360 + this.$nextTick(() => {
  361 + this.infoForm.systemClassName = this.systemClassOptions.find(v => v.Id == this.infoForm.systemClass).ClassName;
  362 + this.$forceUpdate();
  363 + })
443 }, 364 },
444 }, 365 },
445 }; 366 };
src/components/InfoForm/index.vue
@@ -23,7 +23,7 @@ @@ -23,7 +23,7 @@
23 v-loading="infoForm_loading" 23 v-loading="infoForm_loading"
24 label-width="100px" 24 label-width="100px"
25 > 25 >
26 - <el-row :gutter="20"> 26 + <el-row :gutter="20" style="margin: unset;">
27 <el-col :span="24"> 27 <el-col :span="24">
28 <el-col :span="12"> 28 <el-col :span="12">
29 <el-form-item label="主体企业" prop="companyId"> 29 <el-form-item label="主体企业" prop="companyId">
@@ -113,15 +113,6 @@ @@ -113,15 +113,6 @@
113 </el-form-item> 113 </el-form-item>
114 </el-col> 114 </el-col>
115 <el-col :span="12"> 115 <el-col :span="12">
116 - <el-form-item label="备案号" prop="systemRecordNumber">  
117 - <el-input  
118 - v-model="infoForm.systemRecordNumber"  
119 - placeholder="请输入备案号"  
120 - maxlength="200"  
121 - ></el-input>  
122 - </el-form-item>  
123 - </el-col>  
124 - <el-col :span="12">  
125 <el-form-item label="备案许可证" prop="recordLicense"> 116 <el-form-item label="备案许可证" prop="recordLicense">
126 <el-input 117 <el-input
127 v-model="infoForm.recordLicense" 118 v-model="infoForm.recordLicense"
vue.config.js
@@ -6,6 +6,7 @@ function resolve(dir) { @@ -6,6 +6,7 @@ function resolve(dir) {
6 const CompressionPlugin = require('compression-webpack-plugin') 6 const CompressionPlugin = require('compression-webpack-plugin')
7 7
8 module.exports = defineConfig({ 8 module.exports = defineConfig({
  9 +
9 // 如果你不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建。 10 // 如果你不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建。
10 productionSourceMap: false, 11 productionSourceMap: false,
11 transpileDependencies: true, 12 transpileDependencies: true,
@@ -48,6 +49,33 @@ module.exports = defineConfig({ @@ -48,6 +49,33 @@ module.exports = defineConfig({
48 }) 49 })
49 ], 50 ],
50 }, 51 },
  52 + chainWebpack(config) {
  53 + config.externals({
  54 + // 'monaco-editor': 'monaco-editor',
  55 + 'echarts': 'echarts'
  56 + })
  57 +
  58 + // when there are many pages, it will cause too many meaningless requests
  59 + config.plugins.delete('prefetch')
  60 +
  61 + // set svg-sprite-loader
  62 + config.module
  63 + .rule('svg')
  64 + .exclude.add(resolve('src/icons'))
  65 + .end()
  66 + config.module
  67 + .rule('icons')
  68 + .test(/\.svg$/)
  69 + .include.add(resolve('src/icons'))
  70 + .end()
  71 + .use('svg-sprite-loader')
  72 + .loader('svg-sprite-loader')
  73 + .options({
  74 + symbolId: 'icon-[name]'
  75 + })
  76 + .end()
  77 +
  78 + },
51 // 在npm run build 或 yarn build 时 ,生成文件的目录名称(要和baseUrl的生产环境路径一致)(默认dist) 79 // 在npm run build 或 yarn build 时 ,生成文件的目录名称(要和baseUrl的生产环境路径一致)(默认dist)
52 outputDir: 'dist', 80 outputDir: 'dist',
53 // 用于放置生成的静态资源 (js、css、img、fonts) 的;(项目打包之后,静态资源会放在这个文件夹下) 81 // 用于放置生成的静态资源 (js、css、img、fonts) 的;(项目打包之后,静态资源会放在这个文件夹下)