正在显示
3 个修改的文件
包含
626 行增加
和
368 行删除
| 1 | <template> | 1 | <template> |
| 2 | <div class="app-container"> | 2 | <div class="app-container"> |
| 3 | - <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> | 3 | + <el-form |
| 4 | + :model="queryParams" | ||
| 5 | + ref="queryForm" | ||
| 6 | + size="small" | ||
| 7 | + :inline="true" | ||
| 8 | + v-show="showSearch" | ||
| 9 | + label-width="68px" | ||
| 10 | + > | ||
| 4 | <el-form-item label="合同编号" prop="contractno"> | 11 | <el-form-item label="合同编号" prop="contractno"> |
| 5 | <el-input | 12 | <el-input |
| 6 | v-model="queryParams.contractno" | 13 | v-model="queryParams.contractno" |
| @@ -18,8 +25,16 @@ | @@ -18,8 +25,16 @@ | ||
| 18 | /> | 25 | /> |
| 19 | </el-form-item> | 26 | </el-form-item> |
| 20 | <el-form-item> | 27 | <el-form-item> |
| 21 | - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> | ||
| 22 | - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> | 28 | + <el-button |
| 29 | + type="primary" | ||
| 30 | + icon="el-icon-search" | ||
| 31 | + size="mini" | ||
| 32 | + @click="handleQuery" | ||
| 33 | + >搜索</el-button | ||
| 34 | + > | ||
| 35 | + <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" | ||
| 36 | + >重置</el-button | ||
| 37 | + > | ||
| 23 | </el-form-item> | 38 | </el-form-item> |
| 24 | </el-form> | 39 | </el-form> |
| 25 | 40 | ||
| @@ -54,7 +69,8 @@ | @@ -54,7 +69,8 @@ | ||
| 54 | :disabled="multiple" | 69 | :disabled="multiple" |
| 55 | @click="handleDelete" | 70 | @click="handleDelete" |
| 56 | v-hasPermi="['system:contract:remove']" | 71 | v-hasPermi="['system:contract:remove']" |
| 57 | - >删除</el-button> | 72 | + >删除</el-button |
| 73 | + > | ||
| 58 | </el-col> | 74 | </el-col> |
| 59 | <el-col :span="1.5"> | 75 | <el-col :span="1.5"> |
| 60 | <el-button | 76 | <el-button |
| @@ -64,46 +80,120 @@ | @@ -64,46 +80,120 @@ | ||
| 64 | size="mini" | 80 | size="mini" |
| 65 | @click="handleExport" | 81 | @click="handleExport" |
| 66 | v-hasPermi="['system:contract:export']" | 82 | v-hasPermi="['system:contract:export']" |
| 67 | - >导出</el-button> | 83 | + >导出</el-button |
| 84 | + > | ||
| 68 | </el-col> | 85 | </el-col> |
| 69 | - <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> | 86 | + <right-toolbar |
| 87 | + :showSearch.sync="showSearch" | ||
| 88 | + @queryTable="getList" | ||
| 89 | + ></right-toolbar> | ||
| 70 | </el-row> | 90 | </el-row> |
| 71 | 91 | ||
| 72 | - <el-table v-loading="loading" :data="contractList" @selection-change="handleSelectionChange"> | 92 | + <el-table |
| 93 | + v-loading="loading" | ||
| 94 | + :data="contractList" | ||
| 95 | + @selection-change="handleSelectionChange" | ||
| 96 | + > | ||
| 73 | <el-table-column type="selection" width="55" align="center" /> | 97 | <el-table-column type="selection" width="55" align="center" /> |
| 74 | - <el-table-column label="合同编号" align="center" prop="contractno" width="100"/> | ||
| 75 | - <el-table-column label="合同名称" align="center" prop="contractName" width="200"/> | ||
| 76 | - <el-table-column label="合同类型" align="center" prop="contractType" width="100"/> | ||
| 77 | - <el-table-column label="合同金额" align="center" prop="contractAmount" width="100"/> | ||
| 78 | - <el-table-column label="生效日期" align="center" prop="effectiveDate" width="100"> | 98 | + <el-table-column |
| 99 | + label="合同编号" | ||
| 100 | + align="center" | ||
| 101 | + prop="contractno" | ||
| 102 | + width="100" | ||
| 103 | + /> | ||
| 104 | + <el-table-column | ||
| 105 | + label="合同名称" | ||
| 106 | + align="center" | ||
| 107 | + prop="contractName" | ||
| 108 | + width="200" | ||
| 109 | + /> | ||
| 110 | + <el-table-column | ||
| 111 | + label="合同类型" | ||
| 112 | + align="center" | ||
| 113 | + prop="contractType" | ||
| 114 | + width="100" | ||
| 115 | + /> | ||
| 116 | + <el-table-column | ||
| 117 | + label="合同金额" | ||
| 118 | + align="center" | ||
| 119 | + prop="contractAmount" | ||
| 120 | + width="100" | ||
| 121 | + /> | ||
| 122 | + <el-table-column | ||
| 123 | + label="生效日期" | ||
| 124 | + align="center" | ||
| 125 | + prop="effectiveDate" | ||
| 126 | + width="100" | ||
| 127 | + > | ||
| 79 | <template slot-scope="scope"> | 128 | <template slot-scope="scope"> |
| 80 | - <span>{{ parseTime(scope.row.effectiveDate, '{y}-{m}-{d}') }}</span> | 129 | + <span>{{ parseTime(scope.row.effectiveDate, "{y}-{m}-{d}") }}</span> |
| 81 | </template> | 130 | </template> |
| 82 | </el-table-column> | 131 | </el-table-column> |
| 83 | - <el-table-column label="到期日期" align="center" prop="expirationDate" width="100"> | 132 | + <el-table-column |
| 133 | + label="到期日期" | ||
| 134 | + align="center" | ||
| 135 | + prop="expirationDate" | ||
| 136 | + width="100" | ||
| 137 | + > | ||
| 84 | <template slot-scope="scope"> | 138 | <template slot-scope="scope"> |
| 85 | - <span>{{ parseTime(scope.row.expirationDate, '{y}-{m}-{d}') }}</span> | 139 | + <span>{{ parseTime(scope.row.expirationDate, "{y}-{m}-{d}") }}</span> |
| 86 | </template> | 140 | </template> |
| 87 | </el-table-column> | 141 | </el-table-column> |
| 88 | <el-table-column label="甲方" align="center" prop="partyA" width="200"> | 142 | <el-table-column label="甲方" align="center" prop="partyA" width="200"> |
| 89 | <template slot-scope="scope"> | 143 | <template slot-scope="scope"> |
| 90 | - <a :href="scope.row.partyAAddress" target="_blank" style="color: blue;">{{ scope.row.partyA }}</a> | ||
| 91 | - </template> | 144 | + <a |
| 145 | + :href="scope.row.partyAAddress" | ||
| 146 | + target="_blank" | ||
| 147 | + style="color: blue" | ||
| 148 | + >{{ scope.row.partyA }}</a | ||
| 149 | + > | ||
| 150 | + </template> | ||
| 92 | </el-table-column> | 151 | </el-table-column> |
| 93 | <el-table-column label="乙方" align="center" prop="partyB" width="200"> | 152 | <el-table-column label="乙方" align="center" prop="partyB" width="200"> |
| 94 | <template slot-scope="scope"> | 153 | <template slot-scope="scope"> |
| 95 | - <a :href="scope.row.partyBAddress" target="_blank" style="color: blue;">{{ scope.row.partyB }}</a> | ||
| 96 | - </template> | 154 | + <a |
| 155 | + :href="scope.row.partyBAddress" | ||
| 156 | + target="_blank" | ||
| 157 | + style="color: blue" | ||
| 158 | + >{{ scope.row.partyB }}</a | ||
| 159 | + > | ||
| 160 | + </template> | ||
| 97 | </el-table-column> | 161 | </el-table-column> |
| 98 | - <el-table-column label="付款方式" align="center" prop="paymentMethod" width="200"/> | ||
| 99 | - <el-table-column label="签订日期" align="center" prop="signingDate" width="100"> | 162 | + <el-table-column |
| 163 | + label="付款方式" | ||
| 164 | + align="center" | ||
| 165 | + prop="paymentMethod" | ||
| 166 | + width="200" | ||
| 167 | + /> | ||
| 168 | + <el-table-column | ||
| 169 | + label="签订日期" | ||
| 170 | + align="center" | ||
| 171 | + prop="signingDate" | ||
| 172 | + width="100" | ||
| 173 | + > | ||
| 100 | <template slot-scope="scope"> | 174 | <template slot-scope="scope"> |
| 101 | - <span>{{ parseTime(scope.row.signingDate, '{y}-{m}-{d}') }}</span> | 175 | + <span>{{ parseTime(scope.row.signingDate, "{y}-{m}-{d}") }}</span> |
| 102 | </template> | 176 | </template> |
| 103 | </el-table-column> | 177 | </el-table-column> |
| 104 | - <el-table-column label="标的物信息" align="center" prop="subjectInformation" width="200" /> | ||
| 105 | - <el-table-column label="附件" align="center" prop="attachments" width="100"/> | ||
| 106 | - <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="200"> | 178 | + <el-table-column |
| 179 | + label="标的物信息" | ||
| 180 | + align="center" | ||
| 181 | + prop="subjectInformation" | ||
| 182 | + width="200" | ||
| 183 | + /> | ||
| 184 | + <el-table-column | ||
| 185 | + label="附件" | ||
| 186 | + align="center" | ||
| 187 | + prop="attachments" | ||
| 188 | + width="100" | ||
| 189 | + /> | ||
| 190 | + <el-table-column | ||
| 191 | + label="操作" | ||
| 192 | + align="center" | ||
| 193 | + class-name="small-padding fixed-width" | ||
| 194 | + fixed="right" | ||
| 195 | + width="200" | ||
| 196 | + > | ||
| 107 | <template slot-scope="scope"> | 197 | <template slot-scope="scope"> |
| 108 | <el-button | 198 | <el-button |
| 109 | type="text" | 199 | type="text" |
| @@ -111,7 +201,8 @@ | @@ -111,7 +201,8 @@ | ||
| 111 | icon="el-icon-tickets" | 201 | icon="el-icon-tickets" |
| 112 | @click="handleFlowRecord(scope.row)" | 202 | @click="handleFlowRecord(scope.row)" |
| 113 | v-hasPermi="['workflow:process:query']" | 203 | v-hasPermi="['workflow:process:query']" |
| 114 | - >详情</el-button> | 204 | + >详情</el-button |
| 205 | + > | ||
| 115 | <el-button | 206 | <el-button |
| 116 | type="text" | 207 | type="text" |
| 117 | size="mini" | 208 | size="mini" |
| @@ -119,27 +210,37 @@ | @@ -119,27 +210,37 @@ | ||
| 119 | @click="handleDelete(scope.row)" | 210 | @click="handleDelete(scope.row)" |
| 120 | v-if="scope.row.finishTime" | 211 | v-if="scope.row.finishTime" |
| 121 | v-hasPermi="['workflow:process:remove']" | 212 | v-hasPermi="['workflow:process:remove']" |
| 122 | - >删除</el-button> | 213 | + >删除</el-button |
| 214 | + > | ||
| 123 | <el-button | 215 | <el-button |
| 124 | type="text" | 216 | type="text" |
| 125 | size="mini" | 217 | size="mini" |
| 126 | icon="el-icon-circle-close" | 218 | icon="el-icon-circle-close" |
| 127 | @click="handleStop(scope.row)" | 219 | @click="handleStop(scope.row)" |
| 128 | v-hasPermi="['workflow:process:cancel']" | 220 | v-hasPermi="['workflow:process:cancel']" |
| 129 | - >取消</el-button> | 221 | + >取消</el-button |
| 222 | + > | ||
| 130 | <el-button | 223 | <el-button |
| 131 | type="text" | 224 | type="text" |
| 132 | size="mini" | 225 | size="mini" |
| 133 | icon="el-icon-refresh-right" | 226 | icon="el-icon-refresh-right" |
| 134 | v-hasPermi="['workflow:process:start']" | 227 | v-hasPermi="['workflow:process:start']" |
| 135 | @click="handleAgain(scope.row)" | 228 | @click="handleAgain(scope.row)" |
| 136 | - >重新发起</el-button> | 229 | + >重新发起</el-button |
| 230 | + > | ||
| 231 | + <el-button | ||
| 232 | + type="text" | ||
| 233 | + size="mini" | ||
| 234 | + icon="el-icon-edit-outline" | ||
| 235 | + @click="handleEdit(scope.row)" | ||
| 236 | + >合同变更</el-button | ||
| 237 | + > | ||
| 137 | </template> | 238 | </template> |
| 138 | </el-table-column> | 239 | </el-table-column> |
| 139 | </el-table> | 240 | </el-table> |
| 140 | 241 | ||
| 141 | <pagination | 242 | <pagination |
| 142 | - v-show="total>0" | 243 | + v-show="total > 0" |
| 143 | :total="total" | 244 | :total="total" |
| 144 | :page.sync="queryParams.pageNum" | 245 | :page.sync="queryParams.pageNum" |
| 145 | :limit.sync="queryParams.pageSize" | 246 | :limit.sync="queryParams.pageSize" |
| @@ -159,13 +260,22 @@ | @@ -159,13 +260,22 @@ | ||
| 159 | <el-input v-model="form.contractType" placeholder="请输入合同类型" /> | 260 | <el-input v-model="form.contractType" placeholder="请输入合同类型" /> |
| 160 | </el-form-item> | 261 | </el-form-item> |
| 161 | <el-form-item label="合同金额" prop="contractAmount"> | 262 | <el-form-item label="合同金额" prop="contractAmount"> |
| 162 | - <el-input v-model="form.contractAmount" placeholder="请输入合同金额" /> | 263 | + <el-input |
| 264 | + v-model="form.contractAmount" | ||
| 265 | + placeholder="请输入合同金额" | ||
| 266 | + /> | ||
| 163 | </el-form-item> | 267 | </el-form-item> |
| 164 | <el-form-item label="生效日期" prop="effectiveDate"> | 268 | <el-form-item label="生效日期" prop="effectiveDate"> |
| 165 | - <el-date-picker v-model="form.effectiveDate" placeholder="请输入生效日期" /> | 269 | + <el-date-picker |
| 270 | + v-model="form.effectiveDate" | ||
| 271 | + placeholder="请输入生效日期" | ||
| 272 | + /> | ||
| 166 | </el-form-item> | 273 | </el-form-item> |
| 167 | <el-form-item label="到期日期" prop="expirationDate"> | 274 | <el-form-item label="到期日期" prop="expirationDate"> |
| 168 | - <el-date-picker v-model="form.expirationDate" placeholder="请输入到期日期" /> | 275 | + <el-date-picker |
| 276 | + v-model="form.expirationDate" | ||
| 277 | + placeholder="请输入到期日期" | ||
| 278 | + /> | ||
| 169 | </el-form-item> | 279 | </el-form-item> |
| 170 | <el-form-item label="甲方" prop="partyA"> | 280 | <el-form-item label="甲方" prop="partyA"> |
| 171 | <el-input v-model="form.partyA" placeholder="请输入甲方" /> | 281 | <el-input v-model="form.partyA" placeholder="请输入甲方" /> |
| @@ -177,17 +287,25 @@ | @@ -177,17 +287,25 @@ | ||
| 177 | <el-input v-model="form.paymentMethod" placeholder="请输入付款方式" /> | 287 | <el-input v-model="form.paymentMethod" placeholder="请输入付款方式" /> |
| 178 | </el-form-item> | 288 | </el-form-item> |
| 179 | <el-form-item label="签订日期" prop="signingDate"> | 289 | <el-form-item label="签订日期" prop="signingDate"> |
| 180 | - <el-date-picker v-model="form.signingDate" placeholder="请输入签订日期" /> | 290 | + <el-date-picker |
| 291 | + v-model="form.signingDate" | ||
| 292 | + placeholder="请输入签订日期" | ||
| 293 | + /> | ||
| 181 | </el-form-item> | 294 | </el-form-item> |
| 182 | <el-form-item label="标的物信息" prop="subjectInformation"> | 295 | <el-form-item label="标的物信息" prop="subjectInformation"> |
| 183 | - <el-input v-model="form.subjectInformation" placeholder="请输入标的物信息" /> | 296 | + <el-input |
| 297 | + v-model="form.subjectInformation" | ||
| 298 | + placeholder="请输入标的物信息" | ||
| 299 | + /> | ||
| 184 | </el-form-item> | 300 | </el-form-item> |
| 185 | <el-form-item label="附件" prop="attachments"> | 301 | <el-form-item label="附件" prop="attachments"> |
| 186 | <el-input v-model="form.attachments" placeholder="请输入附件" /> | 302 | <el-input v-model="form.attachments" placeholder="请输入附件" /> |
| 187 | </el-form-item> | 303 | </el-form-item> |
| 188 | </el-form> | 304 | </el-form> |
| 189 | <div slot="footer" class="dialog-footer"> | 305 | <div slot="footer" class="dialog-footer"> |
| 190 | - <el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button> | 306 | + <el-button :loading="buttonLoading" type="primary" @click="submitForm" |
| 307 | + >确 定</el-button | ||
| 308 | + > | ||
| 191 | <el-button @click="cancel">取 消</el-button> | 309 | <el-button @click="cancel">取 消</el-button> |
| 192 | </div> | 310 | </div> |
| 193 | </el-dialog> | 311 | </el-dialog> |
| @@ -195,12 +313,18 @@ | @@ -195,12 +313,18 @@ | ||
| 195 | </template> | 313 | </template> |
| 196 | 314 | ||
| 197 | <script> | 315 | <script> |
| 198 | -import { listContract, getContract, delContract, addContract, updateContract } from "@/api/compliancemanagement/contract"; | ||
| 199 | -import FileUpload from '@/components/FileUpload'; | 316 | +import { |
| 317 | + listContract, | ||
| 318 | + getContract, | ||
| 319 | + delContract, | ||
| 320 | + addContract, | ||
| 321 | + updateContract, | ||
| 322 | +} from "@/api/compliancemanagement/contract"; | ||
| 323 | +import FileUpload from "@/components/FileUpload"; | ||
| 200 | export default { | 324 | export default { |
| 201 | name: "Contract", | 325 | name: "Contract", |
| 202 | components: { | 326 | components: { |
| 203 | - FileUpload | 327 | + FileUpload, |
| 204 | }, | 328 | }, |
| 205 | data() { | 329 | data() { |
| 206 | return { | 330 | return { |
| @@ -243,49 +367,43 @@ export default { | @@ -243,49 +367,43 @@ export default { | ||
| 243 | }, | 367 | }, |
| 244 | // 表单参数 | 368 | // 表单参数 |
| 245 | form: {}, | 369 | form: {}, |
| 246 | - | 370 | + |
| 247 | // 表单校验 | 371 | // 表单校验 |
| 248 | rules: { | 372 | rules: { |
| 249 | contractno: [ | 373 | contractno: [ |
| 250 | - { required: true, message: "合同编号不能为空", trigger: "blur" } | 374 | + { required: true, message: "合同编号不能为空", trigger: "blur" }, |
| 251 | ], | 375 | ], |
| 252 | contractName: [ | 376 | contractName: [ |
| 253 | - { required: true, message: "合同名称不能为空", trigger: "blur" } | 377 | + { required: true, message: "合同名称不能为空", trigger: "blur" }, |
| 254 | ], | 378 | ], |
| 255 | contractType: [ | 379 | contractType: [ |
| 256 | - { required: true, message: "合同类型不能为空", trigger: "change" } | 380 | + { required: true, message: "合同类型不能为空", trigger: "change" }, |
| 257 | ], | 381 | ], |
| 258 | contractAmount: [ | 382 | contractAmount: [ |
| 259 | - { required: true, message: "合同金额不能为空", trigger: "blur" } | 383 | + { required: true, message: "合同金额不能为空", trigger: "blur" }, |
| 260 | ], | 384 | ], |
| 261 | effectiveDate: [ | 385 | effectiveDate: [ |
| 262 | - { required: true, message: "生效日期不能为空", trigger: "blur" } | 386 | + { required: true, message: "生效日期不能为空", trigger: "blur" }, |
| 263 | ], | 387 | ], |
| 264 | expirationDate: [ | 388 | expirationDate: [ |
| 265 | - { required: true, message: "到期日期不能为空", trigger: "blur" } | ||
| 266 | - ], | ||
| 267 | - partyA: [ | ||
| 268 | - { required: true, message: "甲方不能为空", trigger: "blur" } | ||
| 269 | - ], | ||
| 270 | - partyB: [ | ||
| 271 | - { required: true, message: "乙方不能为空", trigger: "blur" } | 389 | + { required: true, message: "到期日期不能为空", trigger: "blur" }, |
| 272 | ], | 390 | ], |
| 391 | + partyA: [{ required: true, message: "甲方不能为空", trigger: "blur" }], | ||
| 392 | + partyB: [{ required: true, message: "乙方不能为空", trigger: "blur" }], | ||
| 273 | paymentMethod: [ | 393 | paymentMethod: [ |
| 274 | - { required: true, message: "付款方式不能为空", trigger: "blur" } | 394 | + { required: true, message: "付款方式不能为空", trigger: "blur" }, |
| 275 | ], | 395 | ], |
| 276 | signingDate: [ | 396 | signingDate: [ |
| 277 | - { required: true, message: "签订日期不能为空", trigger: "blur" } | 397 | + { required: true, message: "签订日期不能为空", trigger: "blur" }, |
| 278 | ], | 398 | ], |
| 279 | subjectInformation: [ | 399 | subjectInformation: [ |
| 280 | - { required: true, message: "标的物信息不能为空", trigger: "blur" } | 400 | + { required: true, message: "标的物信息不能为空", trigger: "blur" }, |
| 281 | ], | 401 | ], |
| 282 | attachments: [ | 402 | attachments: [ |
| 283 | - { required: true, message: "附件不能为空", trigger: "blur" } | 403 | + { required: true, message: "附件不能为空", trigger: "blur" }, |
| 284 | ], | 404 | ], |
| 285 | - id: [ | ||
| 286 | - { required: true, message: "不能为空", trigger: "blur" } | ||
| 287 | - ] | ||
| 288 | - } | 405 | + id: [{ required: true, message: "不能为空", trigger: "blur" }], |
| 406 | + }, | ||
| 289 | }; | 407 | }; |
| 290 | }, | 408 | }, |
| 291 | created() { | 409 | created() { |
| @@ -295,11 +413,11 @@ export default { | @@ -295,11 +413,11 @@ export default { | ||
| 295 | /** 查询【请填写功能名称】列表 */ | 413 | /** 查询【请填写功能名称】列表 */ |
| 296 | getList() { | 414 | getList() { |
| 297 | this.loading = true; | 415 | this.loading = true; |
| 298 | - listContract(this.queryParams).then(response => { | 416 | + listContract(this.queryParams).then((response) => { |
| 299 | this.contractList = response.rows; | 417 | this.contractList = response.rows; |
| 300 | this.total = response.total; | 418 | this.total = response.total; |
| 301 | this.loading = false; | 419 | this.loading = false; |
| 302 | - console.log(this.contractList) | 420 | + console.log(this.contractList); |
| 303 | }); | 421 | }); |
| 304 | }, | 422 | }, |
| 305 | // 取消按钮 | 423 | // 取消按钮 |
| @@ -322,7 +440,7 @@ export default { | @@ -322,7 +440,7 @@ export default { | ||
| 322 | signingDate: undefined, | 440 | signingDate: undefined, |
| 323 | subjectInformation: undefined, | 441 | subjectInformation: undefined, |
| 324 | attachments: undefined, | 442 | attachments: undefined, |
| 325 | - id: undefined | 443 | + id: undefined, |
| 326 | }; | 444 | }; |
| 327 | this.resetForm("form"); | 445 | this.resetForm("form"); |
| 328 | }, | 446 | }, |
| @@ -338,9 +456,9 @@ export default { | @@ -338,9 +456,9 @@ export default { | ||
| 338 | }, | 456 | }, |
| 339 | // 多选框选中数据 | 457 | // 多选框选中数据 |
| 340 | handleSelectionChange(selection) { | 458 | handleSelectionChange(selection) { |
| 341 | - this.ids = selection.map(item => item.id) | ||
| 342 | - this.single = selection.length!==1 | ||
| 343 | - this.multiple = !selection.length | 459 | + this.ids = selection.map((item) => item.id); |
| 460 | + this.single = selection.length !== 1; | ||
| 461 | + this.multiple = !selection.length; | ||
| 344 | }, | 462 | }, |
| 345 | /** 新增按钮操作 */ | 463 | /** 新增按钮操作 */ |
| 346 | // handleAdd() { | 464 | // handleAdd() { |
| @@ -362,25 +480,29 @@ export default { | @@ -362,25 +480,29 @@ export default { | ||
| 362 | // }, | 480 | // }, |
| 363 | /** 提交按钮 */ | 481 | /** 提交按钮 */ |
| 364 | submitForm() { | 482 | submitForm() { |
| 365 | - this.$refs["form"].validate(valid => { | 483 | + this.$refs["form"].validate((valid) => { |
| 366 | if (valid) { | 484 | if (valid) { |
| 367 | this.buttonLoading = true; | 485 | this.buttonLoading = true; |
| 368 | if (this.form.id != null) { | 486 | if (this.form.id != null) { |
| 369 | - updateContract(this.form).then(response => { | ||
| 370 | - this.$modal.msgSuccess("修改成功"); | ||
| 371 | - this.open = false; | ||
| 372 | - this.getList(); | ||
| 373 | - }).finally(() => { | ||
| 374 | - this.buttonLoading = false; | ||
| 375 | - }); | 487 | + updateContract(this.form) |
| 488 | + .then((response) => { | ||
| 489 | + this.$modal.msgSuccess("修改成功"); | ||
| 490 | + this.open = false; | ||
| 491 | + this.getList(); | ||
| 492 | + }) | ||
| 493 | + .finally(() => { | ||
| 494 | + this.buttonLoading = false; | ||
| 495 | + }); | ||
| 376 | } else { | 496 | } else { |
| 377 | - addContract(this.form).then(response => { | ||
| 378 | - this.$modal.msgSuccess("新增成功"); | ||
| 379 | - this.open = false; | ||
| 380 | - this.getList(); | ||
| 381 | - }).finally(() => { | ||
| 382 | - this.buttonLoading = false; | ||
| 383 | - }); | 497 | + addContract(this.form) |
| 498 | + .then((response) => { | ||
| 499 | + this.$modal.msgSuccess("新增成功"); | ||
| 500 | + this.open = false; | ||
| 501 | + this.getList(); | ||
| 502 | + }) | ||
| 503 | + .finally(() => { | ||
| 504 | + this.buttonLoading = false; | ||
| 505 | + }); | ||
| 384 | } | 506 | } |
| 385 | } | 507 | } |
| 386 | }); | 508 | }); |
| @@ -388,53 +510,64 @@ export default { | @@ -388,53 +510,64 @@ export default { | ||
| 388 | /** 删除按钮操作 */ | 510 | /** 删除按钮操作 */ |
| 389 | handleDelete(row) { | 511 | handleDelete(row) { |
| 390 | const ids = row.id || this.ids; | 512 | const ids = row.id || this.ids; |
| 391 | - this.$modal.confirm('是否确认删除【请填写功能名称】编号为"' + ids + '"的数据项?').then(() => { | ||
| 392 | - this.loading = true; | ||
| 393 | - return delContract(ids); | ||
| 394 | - }).then(() => { | ||
| 395 | - this.loading = false; | ||
| 396 | - this.getList(); | ||
| 397 | - this.$modal.msgSuccess("删除成功"); | ||
| 398 | - }).catch(() => { | ||
| 399 | - }).finally(() => { | ||
| 400 | - this.loading = false; | ||
| 401 | - }); | 513 | + this.$modal |
| 514 | + .confirm('是否确认删除【请填写功能名称】编号为"' + ids + '"的数据项?') | ||
| 515 | + .then(() => { | ||
| 516 | + this.loading = true; | ||
| 517 | + return delContract(ids); | ||
| 518 | + }) | ||
| 519 | + .then(() => { | ||
| 520 | + this.loading = false; | ||
| 521 | + this.getList(); | ||
| 522 | + this.$modal.msgSuccess("删除成功"); | ||
| 523 | + }) | ||
| 524 | + .catch(() => {}) | ||
| 525 | + .finally(() => { | ||
| 526 | + this.loading = false; | ||
| 527 | + }); | ||
| 402 | }, | 528 | }, |
| 403 | /** 导出按钮操作 */ | 529 | /** 导出按钮操作 */ |
| 404 | handleExport() { | 530 | handleExport() { |
| 405 | - this.download('system/contract/export', { | ||
| 406 | - ...this.queryParams | ||
| 407 | - }, `contract_${new Date().getTime()}.xlsx`) | 531 | + this.download( |
| 532 | + "system/contract/export", | ||
| 533 | + { | ||
| 534 | + ...this.queryParams, | ||
| 535 | + }, | ||
| 536 | + `contract_${new Date().getTime()}.xlsx` | ||
| 537 | + ); | ||
| 408 | }, | 538 | }, |
| 409 | - /** 流程流转记录 */ | ||
| 410 | - handleFlowRecord(row) { | 539 | + /** 流程流转记录 */ |
| 540 | + handleFlowRecord(row) { | ||
| 411 | this.$router.push({ | 541 | this.$router.push({ |
| 412 | - path: '/workflow/process/detail/' + row.procInsId, | 542 | + path: "/workflow/process/detail/" + row.procInsId, |
| 413 | query: { | 543 | query: { |
| 414 | - processed: false | ||
| 415 | - } | ||
| 416 | - }) | 544 | + processed: false, |
| 545 | + }, | ||
| 546 | + }); | ||
| 417 | }, | 547 | }, |
| 418 | /** 取消流程申请 */ | 548 | /** 取消流程申请 */ |
| 419 | - handleStop(row){ | 549 | + handleStop(row) { |
| 420 | const params = { | 550 | const params = { |
| 421 | - procInsId: row.procInsId | ||
| 422 | - } | ||
| 423 | - stopProcess(params).then( res => { | 551 | + procInsId: row.procInsId, |
| 552 | + }; | ||
| 553 | + stopProcess(params).then((res) => { | ||
| 424 | this.$modal.msgSuccess(res.msg); | 554 | this.$modal.msgSuccess(res.msg); |
| 425 | this.getList(); | 555 | this.getList(); |
| 426 | }); | 556 | }); |
| 427 | }, | 557 | }, |
| 428 | handleAgain(row) { | 558 | handleAgain(row) { |
| 429 | this.$router.push({ | 559 | this.$router.push({ |
| 430 | - path: '/workflow/process/start/' + row.deployId, | 560 | + path: "/workflow/process/start/" + row.deployId, |
| 431 | query: { | 561 | query: { |
| 432 | definitionId: row.procDefId, | 562 | definitionId: row.procDefId, |
| 433 | - procInsId: row.procInsId | ||
| 434 | - } | ||
| 435 | - }) | 563 | + procInsId: row.procInsId, |
| 564 | + }, | ||
| 565 | + }); | ||
| 436 | console.log(row); | 566 | console.log(row); |
| 437 | }, | 567 | }, |
| 438 | - } | 568 | + handleEdit(row){ |
| 569 | + | ||
| 570 | + } | ||
| 571 | + }, | ||
| 439 | }; | 572 | }; |
| 440 | </script> | 573 | </script> |
| 1 | <template> | 1 | <template> |
| 2 | - <div> | ||
| 3 | - <el-row :gutter="15"> | ||
| 4 | - <el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="100px"> | ||
| 5 | - <el-col :span="24"> | ||
| 6 | - <el-form-item label="合同编号" prop="contractno"> | ||
| 7 | - <el-input v-model="formData.contractno" placeholder="请输入合同编号" clearable :style="{width: '50%'}"> | ||
| 8 | - </el-input> | ||
| 9 | - </el-form-item> | ||
| 10 | - </el-col> | ||
| 11 | - <el-col :span="24"> | ||
| 12 | - <el-form-item label="合同名称" prop="contractName"> | ||
| 13 | - <el-input v-model="formData.contractName" placeholder="请输入合同名称" clearable | ||
| 14 | - :style="{width: '50%'}"></el-input> | ||
| 15 | - </el-form-item> | ||
| 16 | - </el-col> | ||
| 17 | - <el-col :span="24"> | ||
| 18 | - <el-form-item label="合同类型" prop="contractType"> | ||
| 19 | - <el-input v-model="formData.contractType" placeholder="请输入合同类型" clearable | ||
| 20 | - :style="{width: '50%'}"></el-input> | ||
| 21 | - </el-form-item> | ||
| 22 | - </el-col> | ||
| 23 | - <el-col :span="24"> | ||
| 24 | - <el-form-item label="合同金额" prop="contractAmount"> | ||
| 25 | - <el-input v-model="formData.contractAmount" placeholder="请输入合同金额" clearable | ||
| 26 | - :style="{width: '50%'}"></el-input> | ||
| 27 | - </el-form-item> | ||
| 28 | - </el-col> | ||
| 29 | - <el-col :span="24"> | ||
| 30 | - <el-form-item label="生效日期" prop="effectiveDate"> | ||
| 31 | - <el-date-picker v-model="formData.effectiveDate" format="yyyy-MM-dd" value-format="yyyy-MM-dd" | ||
| 32 | - :style="{width: '50%'}" placeholder="请选择生效日期" clearable></el-date-picker> | ||
| 33 | - </el-form-item> | ||
| 34 | - </el-col> | ||
| 35 | - <el-col :span="24"> | ||
| 36 | - <el-form-item label="到期日期" prop="expirationDate"> | ||
| 37 | - <el-date-picker v-model="formData.expirationDate" format="yyyy-MM-dd" value-format="yyyy-MM-dd" | ||
| 38 | - :style="{width: '50%'}" placeholder="请选择到期日期" clearable></el-date-picker> | ||
| 39 | - </el-form-item> | ||
| 40 | - </el-col> | ||
| 41 | - <el-col :span="24"> | ||
| 42 | - <el-form-item label="甲方" prop="partyA"> | ||
| 43 | - <el-input v-model="formData.partyA" placeholder="请输入甲方" clearable :style="{width: '50%'}"> | ||
| 44 | - </el-input> | ||
| 45 | - </el-form-item> | ||
| 46 | - </el-col> | ||
| 47 | - <el-col :span="24"> | ||
| 48 | - <el-form-item label="甲方链接地址" prop="partyAAddress"> | ||
| 49 | - <el-input v-model="formData.partyAAddress" placeholder="请输入甲方链接地址" clearable :style="{width: '50%'}"> | ||
| 50 | - </el-input> | ||
| 51 | - </el-form-item> | ||
| 52 | - </el-col> | ||
| 53 | - <el-col :span="24"> | ||
| 54 | - <el-form-item label="乙方" prop="partyB"> | ||
| 55 | - <el-input v-model="formData.partyB" placeholder="请输入乙方" clearable :style="{width: '50%'}"> | ||
| 56 | - </el-input> | ||
| 57 | - </el-form-item> | ||
| 58 | - </el-col> | ||
| 59 | - <el-col :span="24"> | ||
| 60 | - <el-form-item label="乙方链接地址" prop="partyBAddress"> | ||
| 61 | - <el-input v-model="formData.partyBAddress" placeholder="请输入乙方链接地址" clearable :style="{width: '50%'}"> | ||
| 62 | - </el-input> | ||
| 63 | - </el-form-item> | ||
| 64 | - </el-col> | ||
| 65 | - <el-col :span="24"> | ||
| 66 | - <el-form-item label="付款方式" prop="paymentMethod"> | ||
| 67 | - <el-input v-model="formData.paymentMethod" placeholder="请输入付款方式" clearable | ||
| 68 | - :style="{width: '50%'}"></el-input> | ||
| 69 | - </el-form-item> | ||
| 70 | - </el-col> | ||
| 71 | - <el-col :span="24"> | ||
| 72 | - <el-form-item label="签订日期" prop="signingDate"> | ||
| 73 | - <el-date-picker v-model="formData.signingDate" format="yyyy-MM-dd" value-format="yyyy-MM-dd" | ||
| 74 | - :style="{width: '50%'}" placeholder="请选择签订日期" clearable></el-date-picker> | ||
| 75 | - </el-form-item> | ||
| 76 | - </el-col> | ||
| 77 | - <el-col :span="24"> | ||
| 78 | - <el-form-item label="标的物信息" prop="subjectInformation"> | ||
| 79 | - <el-input v-model="formData.subjectInformation" placeholder="请输入标的物信息" clearable | ||
| 80 | - :style="{width: '50%'}"></el-input> | ||
| 81 | - </el-form-item> | ||
| 82 | - </el-col> | ||
| 83 | - <el-col :span="24"> | ||
| 84 | - <el-form-item label="附件" prop="attachments"> | ||
| 85 | - <!-- <el-input v-model="formData.attachments" placeholder="请输入附件" clearable :style="{width: '50%'}" /> --> | ||
| 86 | - <el-upload | ||
| 87 | - multiple | ||
| 88 | - :action="uploadFileUrl" | ||
| 89 | - :before-upload="handleBeforeUpload" | ||
| 90 | - :file-list="fileList" | ||
| 91 | - :limit="limit" | ||
| 92 | - :on-error="handleUploadError" | ||
| 93 | - :on-exceed="handleExceed" | ||
| 94 | - :on-success="handleUploadSuccess" | ||
| 95 | - :show-file-list="false" | ||
| 96 | - :headers="headers" | ||
| 97 | - class="upload-file-uploader" | ||
| 98 | - ref="fileUpload" | 2 | + <div> |
| 3 | + <el-row :gutter="15"> | ||
| 4 | + <el-form | ||
| 5 | + ref="elForm" | ||
| 6 | + :model="formData" | ||
| 7 | + :rules="rules" | ||
| 8 | + size="medium" | ||
| 9 | + label-width="100px" | ||
| 10 | + > | ||
| 11 | + <el-col :span="24"> | ||
| 12 | + <el-form-item label="合同编号" prop="contractno"> | ||
| 13 | + <el-input | ||
| 14 | + v-model="formData.contractno" | ||
| 15 | + placeholder="请输入合同编号" | ||
| 16 | + clearable | ||
| 17 | + :style="{ width: '50%' }" | ||
| 18 | + > | ||
| 19 | + </el-input> | ||
| 20 | + </el-form-item> | ||
| 21 | + </el-col> | ||
| 22 | + <el-col :span="24"> | ||
| 23 | + <el-form-item label="合同名称" prop="contractName"> | ||
| 24 | + <el-input | ||
| 25 | + v-model="formData.contractName" | ||
| 26 | + placeholder="请输入合同名称" | ||
| 27 | + clearable | ||
| 28 | + :style="{ width: '50%' }" | ||
| 29 | + ></el-input> | ||
| 30 | + </el-form-item> | ||
| 31 | + </el-col> | ||
| 32 | + <el-col :span="24"> | ||
| 33 | + <el-form-item label="合同类型" prop="contractType"> | ||
| 34 | + <el-input | ||
| 35 | + v-model="formData.contractType" | ||
| 36 | + placeholder="请输入合同类型" | ||
| 37 | + clearable | ||
| 38 | + :style="{ width: '50%' }" | ||
| 39 | + ></el-input> | ||
| 40 | + </el-form-item> | ||
| 41 | + </el-col> | ||
| 42 | + <el-col :span="24"> | ||
| 43 | + <el-form-item label="合同金额" prop="contractAmount"> | ||
| 44 | + <el-input | ||
| 45 | + v-model="formData.contractAmount" | ||
| 46 | + placeholder="请输入合同金额" | ||
| 47 | + clearable | ||
| 48 | + :style="{ width: '50%' }" | ||
| 49 | + ></el-input> | ||
| 50 | + </el-form-item> | ||
| 51 | + </el-col> | ||
| 52 | + <el-col :span="24"> | ||
| 53 | + <el-form-item label="生效日期" prop="effectiveDate"> | ||
| 54 | + <el-date-picker | ||
| 55 | + v-model="formData.effectiveDate" | ||
| 56 | + format="yyyy-MM-dd" | ||
| 57 | + value-format="yyyy-MM-dd" | ||
| 58 | + :style="{ width: '50%' }" | ||
| 59 | + placeholder="请选择生效日期" | ||
| 60 | + clearable | ||
| 61 | + ></el-date-picker> | ||
| 62 | + </el-form-item> | ||
| 63 | + </el-col> | ||
| 64 | + <el-col :span="24"> | ||
| 65 | + <el-form-item label="到期日期" prop="expirationDate"> | ||
| 66 | + <el-date-picker | ||
| 67 | + v-model="formData.expirationDate" | ||
| 68 | + format="yyyy-MM-dd" | ||
| 69 | + value-format="yyyy-MM-dd" | ||
| 70 | + :style="{ width: '50%' }" | ||
| 71 | + placeholder="请选择到期日期" | ||
| 72 | + clearable | ||
| 73 | + ></el-date-picker> | ||
| 74 | + </el-form-item> | ||
| 75 | + </el-col> | ||
| 76 | + <el-col :span="24"> | ||
| 77 | + <el-form-item label="甲方" prop="partyA"> | ||
| 78 | + <el-input | ||
| 79 | + v-model="formData.partyA" | ||
| 80 | + placeholder="请输入甲方" | ||
| 81 | + clearable | ||
| 82 | + :style="{ width: '50%' }" | ||
| 83 | + > | ||
| 84 | + </el-input> | ||
| 85 | + </el-form-item> | ||
| 86 | + </el-col> | ||
| 87 | + <el-col :span="24"> | ||
| 88 | + <el-form-item label="甲方链接地址" prop="partyAAddress"> | ||
| 89 | + <el-input | ||
| 90 | + v-model="formData.partyAAddress" | ||
| 91 | + placeholder="请输入甲方链接地址" | ||
| 92 | + clearable | ||
| 93 | + :style="{ width: '50%' }" | ||
| 94 | + > | ||
| 95 | + </el-input> | ||
| 96 | + </el-form-item> | ||
| 97 | + </el-col> | ||
| 98 | + <el-col :span="24"> | ||
| 99 | + <el-form-item label="乙方" prop="partyB"> | ||
| 100 | + <el-input | ||
| 101 | + v-model="formData.partyB" | ||
| 102 | + placeholder="请输入乙方" | ||
| 103 | + clearable | ||
| 104 | + :style="{ width: '50%' }" | ||
| 105 | + > | ||
| 106 | + </el-input> | ||
| 107 | + </el-form-item> | ||
| 108 | + </el-col> | ||
| 109 | + <el-col :span="24"> | ||
| 110 | + <el-form-item label="乙方链接地址" prop="partyBAddress"> | ||
| 111 | + <el-input | ||
| 112 | + v-model="formData.partyBAddress" | ||
| 113 | + placeholder="请输入乙方链接地址" | ||
| 114 | + clearable | ||
| 115 | + :style="{ width: '50%' }" | ||
| 116 | + > | ||
| 117 | + </el-input> | ||
| 118 | + </el-form-item> | ||
| 119 | + </el-col> | ||
| 120 | + <el-col :span="24"> | ||
| 121 | + <el-form-item label="付款方式" prop="paymentMethod"> | ||
| 122 | + <el-input | ||
| 123 | + v-model="formData.paymentMethod" | ||
| 124 | + placeholder="请输入付款方式" | ||
| 125 | + clearable | ||
| 126 | + :style="{ width: '50%' }" | ||
| 127 | + ></el-input> | ||
| 128 | + </el-form-item> | ||
| 129 | + </el-col> | ||
| 130 | + <el-col :span="24"> | ||
| 131 | + <el-form-item label="签订日期" prop="signingDate"> | ||
| 132 | + <el-date-picker | ||
| 133 | + v-model="formData.signingDate" | ||
| 134 | + format="yyyy-MM-dd" | ||
| 135 | + value-format="yyyy-MM-dd" | ||
| 136 | + :style="{ width: '50%' }" | ||
| 137 | + placeholder="请选择签订日期" | ||
| 138 | + clearable | ||
| 139 | + ></el-date-picker> | ||
| 140 | + </el-form-item> | ||
| 141 | + </el-col> | ||
| 142 | + <el-col :span="24"> | ||
| 143 | + <el-form-item label="标的物信息" prop="subjectInformation"> | ||
| 144 | + <el-input | ||
| 145 | + v-model="formData.subjectInformation" | ||
| 146 | + placeholder="请输入标的物信息" | ||
| 147 | + clearable | ||
| 148 | + :style="{ width: '50%' }" | ||
| 149 | + ></el-input> | ||
| 150 | + </el-form-item> | ||
| 151 | + </el-col> | ||
| 152 | + <el-col :span="24"> | ||
| 153 | + <el-form-item label="附件" prop="attachments"> | ||
| 154 | + <!-- <el-input v-model="formData.attachments" placeholder="请输入附件" clearable :style="{width: '50%'}" /> --> | ||
| 155 | + <el-upload | ||
| 156 | + multiple | ||
| 157 | + :action="uploadFileUrl" | ||
| 158 | + :before-upload="handleBeforeUpload" | ||
| 159 | + :file-list="fileList" | ||
| 160 | + :limit="limit" | ||
| 161 | + :on-error="handleUploadError" | ||
| 162 | + :on-exceed="handleExceed" | ||
| 163 | + :on-success="handleUploadSuccess" | ||
| 164 | + :show-file-list="false" | ||
| 165 | + :headers="headers" | ||
| 166 | + class="upload-file-uploader" | ||
| 167 | + ref="fileUpload" | ||
| 168 | + > | ||
| 169 | + <!-- :auto-upload="false" --> | ||
| 170 | + <!-- 上传按钮 --> | ||
| 171 | + <el-button size="mini" type="primary">选取文件</el-button> | ||
| 172 | + <!-- <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button> --> | ||
| 173 | + <!-- 上传提示 --> | ||
| 174 | + <div class="el-upload__tip" slot="tip"> | ||
| 175 | + 请上传 | ||
| 176 | + <template v-if="fileSize"> | ||
| 177 | + 大小不超过 <b style="color: #f56c6c">{{ fileSize }}MB</b> | ||
| 178 | + </template> | ||
| 179 | + <template v-if="fileType"> | ||
| 180 | + 格式为 <b style="color: #f56c6c">{{ fileType.join("/") }}</b> | ||
| 181 | + </template> | ||
| 182 | + 的文件 | ||
| 183 | + </div> | ||
| 184 | + </el-upload> | ||
| 185 | + <!-- 文件列表 --> | ||
| 186 | + <transition-group | ||
| 187 | + class="upload-file-list el-upload-list el-upload-list--text" | ||
| 188 | + name="el-fade-in-linear" | ||
| 189 | + tag="ul" | ||
| 190 | + > | ||
| 191 | + <li | ||
| 192 | + :key="file.url" | ||
| 193 | + class="el-upload-list__item ele-upload-list__item-content" | ||
| 194 | + v-for="(file, index) in fileList" | ||
| 195 | + > | ||
| 196 | + <el-link | ||
| 197 | + :href="`${file.url}`" | ||
| 198 | + :underline="false" | ||
| 199 | + target="_blank" | ||
| 99 | > | 200 | > |
| 100 | - <!-- :auto-upload="false" --> | ||
| 101 | - <!-- 上传按钮 --> | ||
| 102 | - <el-button size="mini" type="primary">选取文件</el-button> | ||
| 103 | - <!-- <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button> --> | ||
| 104 | - <!-- 上传提示 --> | ||
| 105 | - <div class="el-upload__tip" slot="tip"> | ||
| 106 | - 请上传 | ||
| 107 | - <template v-if="fileSize"> 大小不超过 <b style="color: #f56c6c">{{ fileSize }}MB</b> </template> | ||
| 108 | - <template v-if="fileType"> 格式为 <b style="color: #f56c6c">{{ fileType.join("/") }}</b> </template> | ||
| 109 | - 的文件 | ||
| 110 | - </div> | ||
| 111 | - </el-upload> | ||
| 112 | - <!-- 文件列表 --> | ||
| 113 | - <transition-group class="upload-file-list el-upload-list el-upload-list--text" name="el-fade-in-linear" tag="ul"> | ||
| 114 | - <li :key="file.url" class="el-upload-list__item ele-upload-list__item-content" v-for="(file, index) in fileList"> | ||
| 115 | - <el-link :href="`${file.url}`" :underline="false" target="_blank"> | ||
| 116 | - <span class="el-icon-document"> {{ getFileName(file.name) }} </span> | ||
| 117 | - </el-link> | ||
| 118 | - <div class="ele-upload-list__item-content-action"> | ||
| 119 | - <el-link :underline="false" @click="handleDelete(index)" type="danger">删除</el-link> | ||
| 120 | - </div> | ||
| 121 | - </li> | ||
| 122 | - </transition-group> | ||
| 123 | - </el-form-item> | ||
| 124 | - </el-col> | ||
| 125 | - <el-col :span="24"> | ||
| 126 | - <el-form-item size="large"> | ||
| 127 | - <el-button type="primary" @click="submitForm">提交</el-button> | ||
| 128 | - <el-button @click="resetForm">重置</el-button> | ||
| 129 | - </el-form-item> | ||
| 130 | - </el-col> | ||
| 131 | - </el-form> | ||
| 132 | - </el-row> | ||
| 133 | - </div> | ||
| 134 | - </template> | 201 | + <span class="el-icon-document"> |
| 202 | + {{ getFileName(file.name) }} | ||
| 203 | + </span> | ||
| 204 | + </el-link> | ||
| 205 | + <div class="ele-upload-list__item-content-action"> | ||
| 206 | + <el-link | ||
| 207 | + :underline="false" | ||
| 208 | + @click="handleDelete(index)" | ||
| 209 | + type="danger" | ||
| 210 | + >删除</el-link | ||
| 211 | + > | ||
| 212 | + </div> | ||
| 213 | + </li> | ||
| 214 | + </transition-group> | ||
| 215 | + </el-form-item> | ||
| 216 | + </el-col> | ||
| 217 | + <el-col :span="24"> | ||
| 218 | + <el-form-item size="large"> | ||
| 219 | + <el-button type="primary" @click="submitForm">提交</el-button> | ||
| 220 | + <el-button @click="resetForm">重置</el-button> | ||
| 221 | + </el-form-item> | ||
| 222 | + </el-col> | ||
| 223 | + </el-form> | ||
| 224 | + </el-row> | ||
| 225 | + </div> | ||
| 226 | +</template> | ||
| 135 | <script> | 227 | <script> |
| 136 | - import { listContract, getContract, delContract, addAndStart, updateContract } from "@/api/compliancemanagement/contract"; | ||
| 137 | - import { getToken } from "@/utils/auth"; | ||
| 138 | - export default { | ||
| 139 | - components: {}, | ||
| 140 | - props: { | ||
| 141 | - // 数量限制 | 228 | +import { |
| 229 | + listContract, | ||
| 230 | + getContract, | ||
| 231 | + delContract, | ||
| 232 | + addAndStart, | ||
| 233 | + updateContract, | ||
| 234 | +} from "@/api/compliancemanagement/contract"; | ||
| 235 | +import { getToken } from "@/utils/auth"; | ||
| 236 | +export default { | ||
| 237 | + components: {}, | ||
| 238 | + props: { | ||
| 239 | + // 数量限制 | ||
| 142 | limit: { | 240 | limit: { |
| 143 | type: Number, | 241 | type: Number, |
| 144 | default: 1, | 242 | default: 1, |
| 145 | }, | 243 | }, |
| 146 | - // 大小限制(MB) | 244 | + // 大小限制(MB) |
| 147 | fileSize: { | 245 | fileSize: { |
| 148 | type: Number, | 246 | type: Number, |
| 149 | default: 5, | 247 | default: 5, |
| @@ -153,144 +251,168 @@ | @@ -153,144 +251,168 @@ | ||
| 153 | type: Array, | 251 | type: Array, |
| 154 | default: () => ["pdf"], | 252 | default: () => ["pdf"], |
| 155 | }, | 253 | }, |
| 156 | - }, | ||
| 157 | - data() { | ||
| 158 | - const validatAttachments = (rule, value, callback) => { | ||
| 159 | - console.log('this.fileList',this.fileList) | ||
| 160 | - if (this.fileList.length <=0 ) { | 254 | + }, |
| 255 | + data() { | ||
| 256 | + const validatAttachments = (rule, value, callback) => { | ||
| 257 | + console.log("this.fileList", this.fileList); | ||
| 258 | + if (this.fileList.length <= 0) { | ||
| 161 | callback(new Error("请上传附件!")); | 259 | callback(new Error("请上传附件!")); |
| 162 | } else { | 260 | } else { |
| 163 | callback(); | 261 | callback(); |
| 164 | } | 262 | } |
| 165 | }; | 263 | }; |
| 166 | - return { | ||
| 167 | - fileList:[], | ||
| 168 | - uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 上传文件服务器地址 | ||
| 169 | - headers: { | ||
| 170 | - Authorization: "Bearer " + getToken(), | ||
| 171 | - }, | ||
| 172 | - uploadList: [], | ||
| 173 | - number: 0, | ||
| 174 | - procDefId:null, | ||
| 175 | - formData: { | ||
| 176 | - contractno: undefined, | ||
| 177 | - contractName: undefined, | ||
| 178 | - contractType: undefined, | ||
| 179 | - contractAmount: undefined, | ||
| 180 | - effectiveDate: null, | ||
| 181 | - expirationDate: null, | ||
| 182 | - partyA: undefined, | ||
| 183 | - partyAAddress:undefined, | ||
| 184 | - partyB: undefined, | ||
| 185 | - partyBAddress:undefined, | ||
| 186 | - paymentMethod: undefined, | ||
| 187 | - signingDate: null, | ||
| 188 | - subjectInformation: undefined, | ||
| 189 | - attachments: undefined, | ||
| 190 | - }, | ||
| 191 | - rules: { | ||
| 192 | - contractno: [{ | 264 | + return { |
| 265 | + fileList: [], | ||
| 266 | + uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 上传文件服务器地址 | ||
| 267 | + headers: { | ||
| 268 | + Authorization: "Bearer " + getToken(), | ||
| 269 | + }, | ||
| 270 | + uploadList: [], | ||
| 271 | + number: 0, | ||
| 272 | + procDefId: null, | ||
| 273 | + formData: { | ||
| 274 | + contractno: undefined, | ||
| 275 | + contractName: undefined, | ||
| 276 | + contractType: undefined, | ||
| 277 | + contractAmount: undefined, | ||
| 278 | + effectiveDate: null, | ||
| 279 | + expirationDate: null, | ||
| 280 | + partyA: undefined, | ||
| 281 | + partyAAddress: undefined, | ||
| 282 | + partyB: undefined, | ||
| 283 | + partyBAddress: undefined, | ||
| 284 | + paymentMethod: undefined, | ||
| 285 | + signingDate: null, | ||
| 286 | + subjectInformation: undefined, | ||
| 287 | + attachments: undefined, | ||
| 288 | + }, | ||
| 289 | + rules: { | ||
| 290 | + contractno: [ | ||
| 291 | + { | ||
| 193 | required: true, | 292 | required: true, |
| 194 | - message: '请输入合同编号', | ||
| 195 | - trigger: 'blur' | ||
| 196 | - }], | ||
| 197 | - contractName: [{ | 293 | + message: "请输入合同编号", |
| 294 | + trigger: "blur", | ||
| 295 | + }, | ||
| 296 | + ], | ||
| 297 | + contractName: [ | ||
| 298 | + { | ||
| 198 | required: true, | 299 | required: true, |
| 199 | - message: '请输入合同名称', | ||
| 200 | - trigger: 'blur' | ||
| 201 | - }], | ||
| 202 | - contractType: [{ | 300 | + message: "请输入合同名称", |
| 301 | + trigger: "blur", | ||
| 302 | + }, | ||
| 303 | + ], | ||
| 304 | + contractType: [ | ||
| 305 | + { | ||
| 203 | required: true, | 306 | required: true, |
| 204 | - message: '请输入合同类型', | ||
| 205 | - trigger: 'blur' | ||
| 206 | - }], | ||
| 207 | - contractAmount: [{ | 307 | + message: "请输入合同类型", |
| 308 | + trigger: "blur", | ||
| 309 | + }, | ||
| 310 | + ], | ||
| 311 | + contractAmount: [ | ||
| 312 | + { | ||
| 208 | required: true, | 313 | required: true, |
| 209 | - message: '请输入合同金额', | ||
| 210 | - trigger: 'blur' | ||
| 211 | - }], | ||
| 212 | - effectiveDate: [{ | 314 | + message: "请输入合同金额", |
| 315 | + trigger: "blur", | ||
| 316 | + }, | ||
| 317 | + ], | ||
| 318 | + effectiveDate: [ | ||
| 319 | + { | ||
| 213 | required: true, | 320 | required: true, |
| 214 | - message: '请选择生效日期', | ||
| 215 | - trigger: 'change' | ||
| 216 | - }], | ||
| 217 | - expirationDate: [{ | 321 | + message: "请选择生效日期", |
| 322 | + trigger: "change", | ||
| 323 | + }, | ||
| 324 | + ], | ||
| 325 | + expirationDate: [ | ||
| 326 | + { | ||
| 218 | required: true, | 327 | required: true, |
| 219 | - message: '请选择到期日期', | ||
| 220 | - trigger: 'change' | ||
| 221 | - }], | ||
| 222 | - partyA: [{ | 328 | + message: "请选择到期日期", |
| 329 | + trigger: "change", | ||
| 330 | + }, | ||
| 331 | + ], | ||
| 332 | + partyA: [ | ||
| 333 | + { | ||
| 223 | required: true, | 334 | required: true, |
| 224 | - message: '请输入甲方', | ||
| 225 | - trigger: 'blur' | ||
| 226 | - }], | ||
| 227 | - partyAAddress: [{ | 335 | + message: "请输入甲方", |
| 336 | + trigger: "blur", | ||
| 337 | + }, | ||
| 338 | + ], | ||
| 339 | + partyAAddress: [ | ||
| 340 | + { | ||
| 228 | required: true, | 341 | required: true, |
| 229 | - message: '请输入甲方链接', | ||
| 230 | - trigger: 'blur' | ||
| 231 | - }], | ||
| 232 | - partyB: [{ | 342 | + message: "请输入甲方链接", |
| 343 | + trigger: "blur", | ||
| 344 | + }, | ||
| 345 | + ], | ||
| 346 | + partyB: [ | ||
| 347 | + { | ||
| 233 | required: true, | 348 | required: true, |
| 234 | - message: '请输入乙方', | ||
| 235 | - trigger: 'blur' | ||
| 236 | - }], | ||
| 237 | - partyBAddress: [{ | 349 | + message: "请输入乙方", |
| 350 | + trigger: "blur", | ||
| 351 | + }, | ||
| 352 | + ], | ||
| 353 | + partyBAddress: [ | ||
| 354 | + { | ||
| 238 | required: true, | 355 | required: true, |
| 239 | - message: '请输入乙方链接', | ||
| 240 | - trigger: 'blur' | ||
| 241 | - }], | ||
| 242 | - paymentMethod: [ | ||
| 243 | - {required: true, message: '请输入付款方式',trigger: 'blur'} | ||
| 244 | - ], | ||
| 245 | - signingDate: [ | ||
| 246 | - {required: true,message: '请选择签订日期',trigger: 'change'} | ||
| 247 | - ], | ||
| 248 | - subjectInformation: [ | ||
| 249 | - {required: true,message: '请输入标的物信息',trigger: 'blur'} | ||
| 250 | - ], | ||
| 251 | - attachments: [ | 356 | + message: "请输入乙方链接", |
| 357 | + trigger: "blur", | ||
| 358 | + }, | ||
| 359 | + ], | ||
| 360 | + paymentMethod: [ | ||
| 361 | + { required: true, message: "请输入付款方式", trigger: "blur" }, | ||
| 362 | + ], | ||
| 363 | + signingDate: [ | ||
| 364 | + { required: true, message: "请选择签订日期", trigger: "change" }, | ||
| 365 | + ], | ||
| 366 | + subjectInformation: [ | ||
| 367 | + { required: true, message: "请输入标的物信息", trigger: "blur" }, | ||
| 368 | + ], | ||
| 369 | + attachments: [ | ||
| 252 | // { | 370 | // { |
| 253 | // required: true, | 371 | // required: true, |
| 254 | // message: '请输入附件', | 372 | // message: '请输入附件', |
| 255 | // trigger: 'blur' | 373 | // trigger: 'blur' |
| 256 | // }, | 374 | // }, |
| 257 | - { required: true, validator: validatAttachments, trigger: "blur" }], | ||
| 258 | - }, | ||
| 259 | - } | ||
| 260 | - }, | ||
| 261 | - computed: {}, | ||
| 262 | - watch: {}, | ||
| 263 | - created() { | ||
| 264 | - }, | ||
| 265 | - mounted() {}, | ||
| 266 | - methods: { | ||
| 267 | - | ||
| 268 | - submitForm() { | ||
| 269 | - this.$refs['elForm'].validate(valid => { | 375 | + { required: true, validator: validatAttachments, trigger: "blur" }, |
| 376 | + ], | ||
| 377 | + }, | ||
| 378 | + }; | ||
| 379 | + }, | ||
| 380 | + computed: {}, | ||
| 381 | + watch: {}, | ||
| 382 | + created() { | ||
| 383 | + }, | ||
| 384 | + mounted() {}, | ||
| 385 | + methods: { | ||
| 386 | + submitForm() { | ||
| 387 | + this.$refs["elForm"].validate((valid) => { | ||
| 270 | // console.log(this.formData) | 388 | // console.log(this.formData) |
| 271 | - if (valid) { | ||
| 272 | - console.log('===',this.formData) | ||
| 273 | - this.formData.attachments = this.fileList[0].name | ||
| 274 | - // return | ||
| 275 | - addAndStart(this.formData).then(response => { | ||
| 276 | - this.$modal.msgSuccess("流程启动成功"); | ||
| 277 | - this.$router.push({ path: '/contract/compliancemanagement/contractmanagement/contract'}); | ||
| 278 | - }) | 389 | + if (valid) { |
| 390 | + console.log("===", this.formData); | ||
| 391 | + this.formData.attachments = this.fileList[0].name; | ||
| 392 | + // return | ||
| 393 | + addAndStart(this.formData).then((response) => { | ||
| 394 | + this.$modal.msgSuccess("流程启动成功"); | ||
| 395 | + this.$router.push({ | ||
| 396 | + path: "/contract/compliancemanagement/contractmanagement/contract", | ||
| 397 | + }); | ||
| 398 | + }); | ||
| 279 | } | 399 | } |
| 280 | - }) | ||
| 281 | - }, | ||
| 282 | - resetForm() { | ||
| 283 | - this.$refs['elForm'].resetFields() | ||
| 284 | - }, | ||
| 285 | - // 上传前校检格式和大小 | 400 | + }); |
| 401 | + }, | ||
| 402 | + resetForm() { | ||
| 403 | + this.$refs["elForm"].resetFields(); | ||
| 404 | + }, | ||
| 405 | + // 上传前校检格式和大小 | ||
| 286 | handleBeforeUpload(file) { | 406 | handleBeforeUpload(file) { |
| 287 | // 校检文件类型 | 407 | // 校检文件类型 |
| 288 | if (this.fileType) { | 408 | if (this.fileType) { |
| 289 | - const fileName = file.name.split('.'); | 409 | + const fileName = file.name.split("."); |
| 290 | const fileExt = fileName[fileName.length - 1]; | 410 | const fileExt = fileName[fileName.length - 1]; |
| 291 | const isTypeOk = this.fileType.indexOf(fileExt) >= 0; | 411 | const isTypeOk = this.fileType.indexOf(fileExt) >= 0; |
| 292 | if (!isTypeOk) { | 412 | if (!isTypeOk) { |
| 293 | - this.$modal.msgError(`文件格式不正确, 请上传${this.fileType.join("/")}格式文件!`); | 413 | + this.$modal.msgError( |
| 414 | + `文件格式不正确, 请上传${this.fileType.join("/")}格式文件!` | ||
| 415 | + ); | ||
| 294 | return false; | 416 | return false; |
| 295 | } | 417 | } |
| 296 | } | 418 | } |
| @@ -311,7 +433,7 @@ | @@ -311,7 +433,7 @@ | ||
| 311 | this.$modal.msgError(`上传文件数量不能超过 ${this.limit} 个!`); | 433 | this.$modal.msgError(`上传文件数量不能超过 ${this.limit} 个!`); |
| 312 | }, | 434 | }, |
| 313 | submitUpload() { | 435 | submitUpload() { |
| 314 | - this.$refs.upload.submit(); | 436 | + this.$refs.upload.submit(); |
| 315 | }, | 437 | }, |
| 316 | // 上传失败 | 438 | // 上传失败 |
| 317 | handleUploadError(err) { | 439 | handleUploadError(err) { |
| @@ -320,9 +442,13 @@ | @@ -320,9 +442,13 @@ | ||
| 320 | }, | 442 | }, |
| 321 | // 上传成功回调 | 443 | // 上传成功回调 |
| 322 | handleUploadSuccess(res, file) { | 444 | handleUploadSuccess(res, file) { |
| 323 | - console.log('handleUploadSuccess',res) | 445 | + console.log("handleUploadSuccess", res); |
| 324 | if (res.code === 200) { | 446 | if (res.code === 200) { |
| 325 | - this.uploadList.push({ name: res.data.fileName, url: res.data.url, ossId: res.data.ossId }); | 447 | + this.uploadList.push({ |
| 448 | + name: res.data.fileName, | ||
| 449 | + url: res.data.url, | ||
| 450 | + ossId: res.data.ossId, | ||
| 451 | + }); | ||
| 326 | this.uploadedSuccessfully(); | 452 | this.uploadedSuccessfully(); |
| 327 | } else { | 453 | } else { |
| 328 | this.number--; | 454 | this.number--; |
| @@ -367,10 +493,9 @@ | @@ -367,10 +493,9 @@ | ||
| 367 | } | 493 | } |
| 368 | return strs != "" ? strs.substr(0, strs.length - 1) : ""; | 494 | return strs != "" ? strs.substr(0, strs.length - 1) : ""; |
| 369 | }, | 495 | }, |
| 370 | - } | ||
| 371 | - } | ||
| 372 | - | ||
| 373 | - </script> | 496 | + }, |
| 497 | +}; | ||
| 498 | +</script> | ||
| 374 | <style> | 499 | <style> |
| 375 | - </style> | 500 | +</style> |
| 376 | 501 |
| @@ -249,7 +249,7 @@ export default { | @@ -249,7 +249,7 @@ export default { | ||
| 249 | headers: { Authorization: "Bearer " + getToken() }, | 249 | headers: { Authorization: "Bearer " + getToken() }, |
| 250 | // 上传的地址 | 250 | // 上传的地址 |
| 251 | url: process.env.VUE_APP_BASE_API + "/common/uploads", | 251 | url: process.env.VUE_APP_BASE_API + "/common/uploads", |
| 252 | - urlhead: "http://joycart.zgftlm.com", | 252 | + urlhead: process.env.VUE_APP_BASE_API, |
| 253 | fileList: [], | 253 | fileList: [], |
| 254 | dialogVisible: false, | 254 | dialogVisible: false, |
| 255 | dialogImageUrl: "", | 255 | dialogImageUrl: "", |
-
请 注册 或 登录 后发表评论