main
张同海 1 year ago
parent 15e172394e
commit 30f352da6a

@ -1,15 +1,18 @@
<!DOCTYPE html>
<html lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title><%= htmlWebpackPlugin.options.title %></title>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width,initial-scale=1.0" />
<link rel="icon" href="<%= BASE_URL %>favicon.ico" />
<title>济舱海工作平台</title>
</head>
<body>
<noscript>
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
<strong
>We're sorry but 济舱海工作平台 doesn't work properly without JavaScript
enabled. Please enable it to continue.</strong
>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->

@ -237,7 +237,7 @@
<el-input v-model="form.shipperCode" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="16">
<el-form-item label-width="20">
<OpenBT :type="20" @SelectData="SelectData" />
<el-button @click="OpenMBDialog('20')" type="primary">
@ -255,7 +255,7 @@
<el-input v-model="form.consigneeCode" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="16">
<el-form-item label-width="20">
<OpenBT :type="10" @SelectData="SelectData" />
<el-button type="primary" @click="OpenMBDialog('10')">
@ -273,7 +273,7 @@
<el-input v-model="form.notifyPartyCode" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="16">
<el-form-item label-width="20">
<OpenBT :type="30" @SelectData="SelectData" />
<el-button type="primary" @click="OpenMBDialog('30')">

@ -126,7 +126,7 @@ export default {
multipleData: ["vessel", "voyageNo"],
},
{ label: "订舱日期", prop: "createTime", width: "100" },
{ label: "操作人", prop: "createByName" },
// { label: "", prop: "createByName" },
{
label: "操作",
prop: "operate",

@ -42,9 +42,9 @@
<p><span> </span>基本信息</p>
</el-col>
<el-col :span="4">
<el-form-item label="委托方">
<!-- <el-form-item label="委托方">
<el-input :disabled="true" v-model="DialogForm.weituo" />
</el-form-item>
</el-form-item> -->
</el-col>
<el-col :span="5">
<el-form-item label="船公司">
@ -95,8 +95,8 @@
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="SCAC代码">
<el-input :disabled="true" v-model="DialogForm.scacCode" />
<el-form-item label="销售代码">
<el-input :disabled="true" v-model="DialogForm.sale" />
</el-form-item>
</el-col>
<el-col :span="20">
@ -374,9 +374,7 @@
/>
</el-form-item>
</el-col>
<p>
</p>
<p class="Csbian"></p>
<el-col :span="6">
<el-form-item label="签单方式">
<el-input
@ -454,9 +452,7 @@
/>
</el-form-item>
</el-col>
<p>
</p>
<p class="Csbian"></p>
<el-col :span="12">
<el-form-item label="SO备注">
<el-input
@ -853,10 +849,11 @@
</el-col>
<span
class="CsGoods"
v-for="item in DialogForm.serviceItemList"
:key="item.id"
v-for="item in DialogForm.WebserviceItemList"
:key="item.serviceCode"
:class="item.show ? 'active' : ''"
>
{{ item.value }}
{{ item.serviceName }}
</span>
</el-row>
<el-row class="UnitBox">
@ -1211,7 +1208,20 @@ export default {
console.log(e);
bookingOrderInfo({ id: e.id }).then((res) => {
dialogFormVisible.value = true;
// store.state.Data.cobServiceItemTenantList
//
DialogForm.value = { ...e, ...res.data };
let Arr = [];
store.state.Data.cobServiceItemTenantList.forEach((item) => {
DialogForm.value.serviceItemList.forEach((item2) => {
if (item2.code == item.serviceCode) {
item.show = true;
}
});
Arr.push(item);
});
DialogForm.value.WebserviceItemList = Arr;
});
// e.type.split("[").forEach((a) => {
@ -1228,7 +1238,7 @@ export default {
};
const TableData = reactive([
{ label: "船公司代号", prop: "carrierCode" },
{ label: "订单编号", prop: "billNo" },
{ label: "订单编号", prop: "billNo", StyleActive: true },
{ label: "主提单号", prop: "mblNo" },
{
label: "船名/航次",
@ -1236,12 +1246,10 @@ export default {
multiple: true,
multipleData: ["vessel", "voyageNo"],
},
{ label: "开船日期", prop: "etdBegin" },
{ label: "开船日期", prop: "etd" },
{
label: "箱型/箱量",
prop: "vessel",
multiple: true,
multipleData: ["vessel", "voyageNo"],
prop: "containerTotalInfo",
},
{
label: "业务状态",
@ -1424,6 +1432,7 @@ export default {
}
};
return {
store,
bizStatusData,
DialogForm,
dialogFormVisible,
@ -1541,4 +1550,9 @@ export default {
.el-form-item--default {
margin-bottom: 12px;
}
.Csbian {
width: 100%;
height: 1px;
background: #606266;
}
</style>

@ -32,11 +32,16 @@
>
登录
</el-button>
<el-button class="CsSignB" type="primary" link @click="FnReg">
注册用户
</el-button>
<div class="ButtonBox">
<el-button class="CsSignB" type="primary" link @click="FnPas">
忘记密码
</el-button>
<el-button class="CsSignB" type="primary" link @click="FnReg">
注册用户
</el-button>
</div>
</div>
<div class="fromBox fromBox2" v-else>
<div class="fromBox fromBox2" v-else-if="Type == 'reg'">
<el-form :rules="rules" :model="RegData" ref="ruleFormRef">
<el-form-item prop="account">
<el-input
@ -120,6 +125,61 @@
返回
</el-button>
</div>
<div class="fromBox fromBox2" v-else>
<el-form :rules="rules" :model="PasData" ref="rulePasFormRef">
<el-form-item prop="phone">
<el-input
class="CsPasswordI CsI2"
v-model="PasData.phone"
size="large"
placeholder="手机号"
/>
</el-form-item>
<el-form-item prop="checkCode">
<div class="bind_code">
<el-input
class="CsPasswordI CsI2 bind_code_input"
v-model="PasData.checkCode"
size="large"
placeholder="验证码"
/>
<el-button
@click="bindforgetSendPasCode"
class="codebtn"
:disabled="disabled"
>
{{ btnText }}
</el-button>
</div>
</el-form-item>
<el-form-item prop="newPassword">
<el-input
class="CsPasswordI CsI2"
type="password"
v-model="PasData.newPassword"
size="large"
placeholder="新密码"
show-password
/>
</el-form-item>
<el-form-item prop="newRepeatPassword">
<el-input
class="CsPasswordI CsI2"
type="password"
v-model="PasData.newRepeatPassword"
size="large"
placeholder="重复新密码"
show-password
/>
</el-form-item>
</el-form>
<el-button class="CsLoginB" size="large" type="primary" @click="Pas">
修改密码
</el-button>
<el-button class="CsSignB2" type="primary" link @click="FnLogin">
返回
</el-button>
</div>
</div>
</div>
</div>
@ -131,6 +191,7 @@ import {
UserReg,
UserGetLoginUser,
genRegisterCheckCode,
userForgetPasswordForm,
} from "@/api/Index";
import { ref, reactive } from "vue";
import { useRouter } from "vue-router";
@ -147,9 +208,11 @@ export default {
password: "",
});
const RegData = ref({});
const PasData = ref({});
console.log(msg);
const name = ref("Login");
const ruleFormRef = ref();
const rulePasFormRef = ref();
const FnClick = () => {
console.log(name.value);
};
@ -177,6 +240,10 @@ export default {
const FnReg = () => {
Type.value = "reg";
};
const FnPas = () => {
Type.value = "pas";
};
const FnLogin = () => {
Type.value = "login";
RegData.value = {};
@ -201,6 +268,18 @@ export default {
}
});
};
const Pas = () => {
userForgetPasswordForm(PasData.value).then((res) => {
console.log(res);
if (res.code == 200) {
ElMessage({
message: "注册成功!",
type: "success",
});
FnLogin();
}
});
};
const validatePass = (rule, value, callback) => {
if (value == "") {
callback(new Error("请再次确认密码"));
@ -289,20 +368,58 @@ export default {
}
});
};
const bindforgetSendPasCode = () => {
rulePasFormRef.value.validateField("phone", (errorMessage) => {
if (errorMessage) {
console.log();
// captchaSms({ phonenumber: RegData.value.phone }).then((res) => {
// console.log(res);
// });
disabled.value = true;
btnText.value = "请稍候...";
genRegisterCheckCode({ phone: RegData.value.phone }).then((res) => {
console.log(res);
let i = 0;
let time = () => {
if (i < 60) {
setTimeout(() => {
++i;
btnText.value = `${60 - i}s`;
time();
}, 1000);
} else {
disabled.value = false;
btnText.value = "获取验证码";
}
};
time();
});
} else {
console.log(errorMessage);
return false;
}
});
};
return {
Type,
name,
ruleFormRef,
rulePasFormRef,
FnClick,
// -----------------
LoginData,
RegData,
PasData,
Login,
Reg,
Pas,
FnReg,
FnPas,
FnLogin,
rules,
bindforgetSendCode,
bindforgetSendPasCode,
disabled,
btnText,
};
@ -376,9 +493,14 @@ export default {
width: 100%;
margin-bottom: 21px;
}
.CsSignB {
margin-left: 180px;
.ButtonBox {
width: 100%;
display: flex;
justify-content: space-between;
}
// .CsSignB {
// margin-left: 180px;
// }
.CsSignB2 {
margin-left: 210px;
}

@ -53,6 +53,31 @@
</el-form>
</div>
</el-tab-pane>
<el-tab-pane label="修改密码">
<div class="UnitBox">
<el-form
:model="form1"
label-width="120px"
class="ChangPhoneForm"
ref="ruleFormRef"
>
<el-form-item label="原密码">
<el-input v-model="form1.password" />
</el-form-item>
<el-form-item label="新密码">
<el-input v-model="form1.newPassword" />
</el-form-item>
<el-form-item label="重复新密码">
<el-input v-model="form1.newRepeatPassword" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmitChangePas">
更改
</el-button>
</el-form-item>
</el-form>
</div>
</el-tab-pane>
<!-- <el-tab-pane label="Config">Config</el-tab-pane>
<el-tab-pane label="Role">Role</el-tab-pane>
<el-tab-pane label="Task">Task</el-tab-pane> -->
@ -61,13 +86,18 @@
</template>
<script>
import { ref } from "vue";
import { UserChangPhone, genRegisterCheckCode } from "@/api/Index";
import {
UserChangPhone,
genRegisterCheckCode,
userChangPassword,
} from "@/api/Index";
import { ElMessage } from "element-plus";
export default {
name: "ViewUserinfo",
setup() {
const ruleFormRef = ref();
const form = ref({});
const form1 = ref({});
const disabled = ref(false);
const btnText = ref("获取验证码");
const newdisabled = ref(false);
@ -129,15 +159,27 @@ export default {
}
});
};
const onSubmitChangePas = () => {
userChangPassword(form1.value).then((res) => {
if (res.code == 200) {
ElMessage({
message: res.message,
type: "success",
});
}
});
};
return {
ruleFormRef,
form,
form1,
disabled,
btnText,
newdisabled,
newbtnText,
bindforgetSendCode,
onSubmit,
onSubmitChangePas,
};
},
};

@ -21,6 +21,29 @@ const UserReg = (data) => {
},
});
};
// 用户修改密码(2023-10增加)
const userChangPassword = (data) => {
return request({
data: {
url: "/api/bookingAip/user/userChangPassword",
method: "post",
data,
// headers: { Authorization: localStorage.getItem("token") },
},
});
};
// 用户忘记密码(2023-10增加)
const userForgetPasswordForm = (data) => {
return request({
data: {
url: "/api/bookingAip/user/userForgetPasswordForm",
method: "post",
data,
// headers: { Authorization: localStorage.getItem("token") },
},
});
};
// 用户更新手机号(2023-10增加)
const UserChangPhone = (data) => {
return request({
@ -536,6 +559,8 @@ const TenantDepart = (data) => {
export {
UserLogin,
UserReg,
userChangPassword,
userForgetPasswordForm,
UserChangPhone,
genRegisterCheckCode,
UserGetLoginUser,

@ -50,6 +50,9 @@
{{ RData(scope.row[item.prop], item) }}
</el-button>
</span>
<span v-else-if="item.StyleActive" class="StyleActive">
{{ scope.row[item.prop] }}
</span>
<span v-else-if="item.multiple">
<span v-for="(e, index) in item.multipleData" :key="index">
{{ scope.row[e] }}
@ -240,4 +243,10 @@ export default {
margin-top: 1rem;
margin-right: 2rem;
}
.StyleActive {
color: #409eff;
&:hover {
font-weight: bolder;
}
}
</style>

Loading…
Cancel
Save