123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409 |
- <template>
- <!-- 添加运力信息 -->
- <div class="addCapacity">
- <PageTitle>返回</PageTitle>
- <div class="form_box" style=" margin-right: 10rem">
- <dil-form :formId="309" v-model="form1" ref="from1"></dil-form>
- </div>
- <div class="elForm">
- <el-form :inline="true" class="demo-form-inline" label-width="80px">
- <el-form-item label="选择承运商">
- <el-autocomplete
- class="inline-input"
- v-model="state"
- :fetch-suggestions="querySearch"
- placeholder="请输入承运商名称"
- :trigger-on-focus="false"
- @select="handleSelect"
- >
- <template slot-scope="{ item }">
- <div class="name" v-if="item.carrierName">
- {{ item.carrierName }}
- </div>
- </template>
- </el-autocomplete>
- </el-form-item>
- </el-form>
- <el-form :inline="true" class="demo-form-inline" label-width="80px">
- <el-form-item label="上传行驶证">
- <el-upload
- class="upload-demo"
- ref="upload1"
- action="/api/v1/rms/uploadCarrier1"
- :before-upload="beforeUpload"
- :multiple="false"
- list-type="picture"
- :show-file-list="false"
- :on-success="handleAvatarSuccess"
- :on-error="onError(1)"
- >
- <span class="span"></span>
- <el-input
- class="shippingCertificate"
- placeholder="请选择运输证(必填项)"
- v-model="shippingCertificate"
- disabled
- >
- </el-input>
- <el-button size="small" type="primary" @click="upCLick(1)"
- >点击上传运输证</el-button
- >
- </el-upload>
- </el-form-item>
- </el-form>
- </div>
- <div class="button_box">
- <el-button @click="cancel">取消</el-button>
- <el-button type="primary" @click="makeSure" :loading="addLoading"
- >确定</el-button
- >
- </div>
- </div>
- </template>
- <script>
- import PageTitle from '@/components/Page/Title'
- import { getCookie } from '@/utils/util.js'
- export default {
- components: { PageTitle },
- data() {
- return {
- driverLicence: '',
- addLoading: false,
- form1: {},
- shippingCertificate: '',
- form1Initialization: {
- capacityTypeId: 1,
- capacityNumber: '',
- capacityCorlor: '黄',
- capacityOwneris: '否',
- capacityVip: '否',
- capacityBlacklist: '否'
- },
- value: undefined,
- carrierIds: null,
- state: null,
- userId: null,
- restaurants: [],
- accessToken: null,
- userCode: null,
- carrierUserId: null,
- carrierId: null,
- orgcode: null
- }
- },
- created() {
- this.carrierUserId = getCookie('userId')
- this.orgcode = getCookie('orgCode')
- if (this.orgcode === 'wuliuyunshubu' || this.orgcode === 'dagangadmin') {
- }
- this.form1 = this.form1Initialization
- },
- mounted() {
- this.axios
- .post(
- '/api/v1/rms/getCarrierNameBySSOId?carrierSSOId=' + this.carrierUserId
- )
- .then(res => {
- if (res.data.code == '200') {
- // console.log(res.data.data);
- if (res.data.data) {
- this.state = res.data.data.carrierName
- this.carrierIds = res.data.data.carrierId
- }
- }
- })
- },
- methods: {
- upCLick(val) {
- this.num = val
- },
- beforeUpload(file) {
- this.upBool = true
- const isLt2M = file.size < 1024 * 1024 * 0.5
- if (!isLt2M) {
- this.$message.error('上传文件大小不能超过500kb!')
- } else {
- let size = file.size / 1024
- let _URL = window.URL || window.webkitURL
- let img = new Image()
- img.src = _URL.createObjectURL(file)
- }
- return isLt2M
- },
- onError(err) {
- if (this.upBool) {
- if (this.num == 1) {
- this.shippingCertificate = null
- this.imageUrl1 = null
- // this.$message.error("上传失败");
- } else if (this.num == 2) {
- this.businessLicense = null
- this.imageUrl2 = null
- // this.$message.error("上传失败");
- } else if (this.num == 3) {
- this.businessLicense1 = null
- this.imageUrl3 = null
- // this.$message.error("上传失败");
- }
- }
- },
- handleAvatarSuccess(res, file) {
- console.log(res, file)
- if (res.code) {
- this.upBool = false
- if (this.num == 1) {
- this.driverLicence = res.data
- this.shippingCertificate = file.name
- } else if (this.num == 2) {
- this.imageUrl2 = res.data
- this.businessLicense = file.name
- } else if (this.num == 3) {
- this.imageUrl3 = res.data
- this.businessLicense1 = file.name
- }
- this.$message.success('上传成功')
- }
- },
- //承运商弹出层
- handleSelect(item) {
- this.carrierIds = item.carrierId
- item.carrierName = this.state
- },
- //以下是承运商边输边查搜索
- querySearch(queryString, cb) {
- this.axios
- .post('/api/v1/uc/getCarrierMesByLike?index=' + queryString)
- .then(res => {
- if (res.data.code == '200') {
- // console.log(res.data.data);
- var restaurants = res.data.data
- // console.log(restaurants, "restaurants");
- var results = queryString
- ? restaurants.filter(this.createFilter(queryString))
- : restaurants
- // 调用 callback 返回建议列表的数据
- cb(results)
- }
- })
- },
- createFilter(queryString) {
- return restaurants => {
- return (
- restaurants.value.toLowerCase().indexOf(queryString.toLowerCase()) >
- -1
- )
- }
- },
- //以上是承运商边输边查搜索
- deleteUser(userId) {
- this.axios.delete('pass/v1/sysusers/' + userId).then(res => {
- this.$message.error('添加失败,车牌可能重复')
- })
- },
- insertRole(userId, userCode) {
- this.axios
- .post(
- 'pass/v1/sysuserroles/addUserroles?userId=' +
- userId +
- '&userCode=' +
- userCode +
- '&roleId=' +
- '923693668269953024'
- )
- .then(res => {
- if (res.code === '0') {
- this.$message.success('添加成功')
- this.$router.push('capacity')
- // this.saveLoading = false;
- // this.rolesTree.loading = false;
- } else {
- this.$message.error(res.message)
- }
- })
- },
- isVehicleNumber(vehicleNumber) {
- // console.log(vehicleNumber);
- var result = false
- if (vehicleNumber.length == 7) {
- var express = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使场领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/
- result = express.test(vehicleNumber)
- } else if (vehicleNumber.length == 8) {
- var express = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼]{1}[A-HJ-NP-Z]{1}(([A-HJ-NP-Z0-9]{5})|([0-9]{6}|[A-HJ-NP-Z]{1}[0-9]{5}|[0-9]{5}[A-HJ-NP-Z]{1}|[A-HJ-NP-Z]{2}[0-9]{4}))$/
- result = express.test(vehicleNumber)
- }
- return result
- },
- makeSure() {
- this.addLoading = true
- if (!this.isVehicleNumber(this.form1.capacityNumber.toUpperCase())) {
- this.$message.error('车牌号格式不正确')
- this.addLoading = false
- return
- }
- if (this.carrierIds == null) {
- this.$message.error('请选择承运商')
- this.addLoading = false
- return
- }
- let RmsCapacity = {
- capacityTypeId: this.form1.capacityTypeId,
- capacityNumber: this.form1.capacityNumber.toUpperCase(),
- capacityCorlor: this.form1.capacityCorlor,
- capacityOwneris: this.form1.capacityOwneris,
- capacityVip: this.form1.capacityVip,
- capacityBlacklist: this.form1.capacityBlacklist,
- driverLicence: this.driverLicence,
- remark: this.form1.remark,
- carrierId: this.carrierIds,
- state: this.state,
- capacityTel: this.form1.capacityTel
- }
- console.log(RmsCapacity)
- if (
- RmsCapacity.capacityNumber == null ||
- RmsCapacity.capacityCorlor == null ||
- RmsCapacity.capacityOwneris == null ||
- RmsCapacity.capacityVip == null ||
- RmsCapacity.capacityBlacklist == null
- ) {
- this.$message.error('存在空值!')
- this.addLoading = false
- } else {
- //新增SSO运力账号
- var formData = new FormData()
- formData.append('userCode', this.form1.capacityNumber.toUpperCase())
- formData.append('orgCode', 'yunli')
- formData.append('orgName', '运力')
- formData.append('groupId', '506514577756917769')
- formData.append('companyId', '713710108567277568')
- formData.append('orgId', '924126716337721344')
- // console.log(formData.get("userCode"));
- // console.log(typeof formData);
- this.$store
- .dispatch('system/usersManage/addUser', formData)
- .then(res => {
- // console.log(res);
- if (res.code === '0') {
- // console.log(res.data.userId);
- this.userId = res.data.userId
- this.userCode = res.data.userCode
- RmsCapacity.ssoId = res.data.userId
- this.axios
- .post('/api/v1/rms/insertCapacity', RmsCapacity)
- .then(res => {
- if (res.data.data == 1) {
- this.insertRole(this.userId, this.userCode)
- } else if (res.data.code == '201') {
- this.deleteUser(this.userId)
- } else {
- this.deleteUser(this.userId)
- }
- })
- } else {
- // console.log(RmsCapacity, "RmsCapacity");
- if (res.message == '账号已被注册') {
- this.$confirm(
- '该账号已经被注册, 是否确定新增承运商绑定关系?',
- '提示',
- {
- confirmButtonText: '确定',
- cancelButtonText: '取消',
- type: 'warning'
- }
- )
- .then(() => {
- this.axios
- .post('/api/v1/rms/insertCapacity', RmsCapacity)
- .then(res => {
- // console.log(res, "res");
- if (res.data.data == 0) {
- this.$message.success('新增承运商绑定关系成功!')
- this.$router.push('capacity')
- } else {
- this.$message.error('该绑定关系已存在!')
- }
- })
- })
- .catch(() => {
- this.$message({
- type: 'info',
- message: '已取消删除'
- })
- })
- }
- }
- })
- this.addLoading = false
- }
- },
- // 取消
- cancel() {
- this.$router.go(-1)
- }
- }
- }
- </script>
- <style lang="scss">
- .shippingCertificate {
- width: 200px;
- }
- .el-form--inline .el-form-item__content {
- display: inline-block;
- vertical-align: top;
- position: relative;
- left: 37px;
- }
- .addCapacity {
- .elForm {
- margin-left: 40%;
- }
- .form_box {
- width: 100%;
- margin-top: 30px;
- margin-left: 50px;
- display: flex;
- justify-content: center;
- .el-form-item {
- display: flex;
- justify-content: center;
- .el-form-item__label {
- display: flex;
- align-items: center;
- }
- .el-form-item__content {
- .el-select {
- width: 250px;
- }
- .el-input {
- width: 250px;
- }
- }
- }
- }
- .inputBox {
- display: flex;
- justify-content: center;
- margin-bottom: 30px;
- .text {
- text-align: right;
- display: flex;
- align-items: center;
- margin-right: 5px;
- }
- .input {
- width: 250px;
- }
- }
- .button_box {
- display: flex;
- justify-content: center;
- .el-button {
- width: 80px;
- margin-right: 10px;
- }
- }
- }
- </style>
|