Merge remote-tracking branch 'origin/dev'

This commit is contained in:
纪寒 2022-12-07 10:35:46 +08:00
commit bfccbed146
16 changed files with 435 additions and 294 deletions

View File

@ -1,208 +1,213 @@
<!DOCTYPE html>
<html>
<head>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="renderer" content="webkit">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title><%= webpackConfig.name %></title>
<title>
<%= webpackConfig.name %>
</title>
<script type="text/javascript" src="https://webapi.amap.com/maps?v=2.0&key=6b427d1f3e633c70e11ca6e304444a63"></script>
<!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]-->
<style>
html,
body,
#app {
height: 100%;
margin: 0px;
padding: 0px;
}
.chromeframe {
margin: 0.2em 0;
background: #ccc;
color: #000;
padding: 0.2em 0;
}
<style>
html,
body,
#app {
height: 100%;
margin: 0px;
padding: 0px;
}
#loader-wrapper {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 999999;
}
.chromeframe {
margin: 0.2em 0;
background: #ccc;
color: #000;
padding: 0.2em 0;
}
#loader {
display: block;
position: relative;
left: 50%;
top: 50%;
width: 150px;
height: 150px;
margin: -75px 0 0 -75px;
border-radius: 50%;
border: 3px solid transparent;
border-top-color: #FFF;
-webkit-animation: spin 2s linear infinite;
-ms-animation: spin 2s linear infinite;
-moz-animation: spin 2s linear infinite;
-o-animation: spin 2s linear infinite;
animation: spin 2s linear infinite;
z-index: 1001;
}
#loader-wrapper {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 999999;
}
#loader:before {
content: "";
position: absolute;
top: 5px;
left: 5px;
right: 5px;
bottom: 5px;
border-radius: 50%;
border: 3px solid transparent;
border-top-color: #FFF;
-webkit-animation: spin 3s linear infinite;
-moz-animation: spin 3s linear infinite;
-o-animation: spin 3s linear infinite;
-ms-animation: spin 3s linear infinite;
animation: spin 3s linear infinite;
}
#loader {
display: block;
position: relative;
left: 50%;
top: 50%;
width: 150px;
height: 150px;
margin: -75px 0 0 -75px;
border-radius: 50%;
border: 3px solid transparent;
border-top-color: #FFF;
-webkit-animation: spin 2s linear infinite;
-ms-animation: spin 2s linear infinite;
-moz-animation: spin 2s linear infinite;
-o-animation: spin 2s linear infinite;
animation: spin 2s linear infinite;
z-index: 1001;
}
#loader:after {
content: "";
position: absolute;
top: 15px;
left: 15px;
right: 15px;
bottom: 15px;
border-radius: 50%;
border: 3px solid transparent;
border-top-color: #FFF;
-moz-animation: spin 1.5s linear infinite;
-o-animation: spin 1.5s linear infinite;
-ms-animation: spin 1.5s linear infinite;
-webkit-animation: spin 1.5s linear infinite;
animation: spin 1.5s linear infinite;
}
#loader:before {
content: "";
position: absolute;
top: 5px;
left: 5px;
right: 5px;
bottom: 5px;
border-radius: 50%;
border: 3px solid transparent;
border-top-color: #FFF;
-webkit-animation: spin 3s linear infinite;
-moz-animation: spin 3s linear infinite;
-o-animation: spin 3s linear infinite;
-ms-animation: spin 3s linear infinite;
animation: spin 3s linear infinite;
}
#loader:after {
content: "";
position: absolute;
top: 15px;
left: 15px;
right: 15px;
bottom: 15px;
border-radius: 50%;
border: 3px solid transparent;
border-top-color: #FFF;
-moz-animation: spin 1.5s linear infinite;
-o-animation: spin 1.5s linear infinite;
-ms-animation: spin 1.5s linear infinite;
-webkit-animation: spin 1.5s linear infinite;
animation: spin 1.5s linear infinite;
}
@-webkit-keyframes spin {
0% {
-webkit-transform: rotate(0deg);
-ms-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
-ms-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@-webkit-keyframes spin {
0% {
-webkit-transform: rotate(0deg);
-ms-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
-ms-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes spin {
0% {
-webkit-transform: rotate(0deg);
-ms-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
-ms-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes spin {
0% {
-webkit-transform: rotate(0deg);
-ms-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
-ms-transform: rotate(360deg);
transform: rotate(360deg);
}
}
#loader-wrapper .loader-section {
position: fixed;
top: 0;
width: 51%;
height: 100%;
background: #7171C6;
z-index: 1000;
-webkit-transform: translateX(0);
-ms-transform: translateX(0);
transform: translateX(0);
}
#loader-wrapper .loader-section {
position: fixed;
top: 0;
width: 51%;
height: 100%;
background: #7171C6;
z-index: 1000;
-webkit-transform: translateX(0);
-ms-transform: translateX(0);
transform: translateX(0);
}
#loader-wrapper .loader-section.section-left {
left: 0;
}
#loader-wrapper .loader-section.section-left {
left: 0;
}
#loader-wrapper .loader-section.section-right {
right: 0;
}
#loader-wrapper .loader-section.section-right {
right: 0;
}
.loaded #loader-wrapper .loader-section.section-left {
-webkit-transform: translateX(-100%);
-ms-transform: translateX(-100%);
transform: translateX(-100%);
-webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
}
.loaded #loader-wrapper .loader-section.section-right {
-webkit-transform: translateX(100%);
-ms-transform: translateX(100%);
transform: translateX(100%);
-webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
}
.loaded #loader-wrapper .loader-section.section-left {
-webkit-transform: translateX(-100%);
-ms-transform: translateX(-100%);
transform: translateX(-100%);
-webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
}
.loaded #loader {
opacity: 0;
-webkit-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}
.loaded #loader-wrapper .loader-section.section-right {
-webkit-transform: translateX(100%);
-ms-transform: translateX(100%);
transform: translateX(100%);
-webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
}
.loaded #loader-wrapper {
visibility: hidden;
-webkit-transform: translateY(-100%);
-ms-transform: translateY(-100%);
transform: translateY(-100%);
-webkit-transition: all 0.3s 1s ease-out;
transition: all 0.3s 1s ease-out;
}
.loaded #loader {
opacity: 0;
-webkit-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}
.no-js #loader-wrapper {
display: none;
}
.loaded #loader-wrapper {
visibility: hidden;
-webkit-transform: translateY(-100%);
-ms-transform: translateY(-100%);
transform: translateY(-100%);
-webkit-transition: all 0.3s 1s ease-out;
transition: all 0.3s 1s ease-out;
}
.no-js h1 {
color: #222222;
}
.no-js #loader-wrapper {
display: none;
}
#loader-wrapper .load_title {
font-family: 'Open Sans';
color: #FFF;
font-size: 19px;
width: 100%;
text-align: center;
z-index: 9999999999999;
position: absolute;
top: 60%;
opacity: 1;
line-height: 30px;
}
.no-js h1 {
color: #222222;
}
#loader-wrapper .load_title span {
font-weight: normal;
font-style: italic;
font-size: 13px;
color: #FFF;
opacity: 0.5;
}
</style>
</head>
#loader-wrapper .load_title {
font-family: 'Open Sans';
color: #FFF;
font-size: 19px;
width: 100%;
text-align: center;
z-index: 9999999999999;
position: absolute;
top: 60%;
opacity: 1;
line-height: 30px;
}
#loader-wrapper .load_title span {
font-weight: normal;
font-style: italic;
font-size: 13px;
color: #FFF;
opacity: 0.5;
}
</style>
</head>
<body>
<body>
<div id="app">
<div id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
<div class="load_title">正在加载系统资源,请耐心等待</div>
<div id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
<div class="load_title">正在加载系统资源,请耐心等待</div>
</div>
</div>
</body>
</div>
</body>
</html>

View File

@ -60,7 +60,7 @@ export default {
},
data() {
return {
uploadUrl: process.env.VUE_APP_BASE_API + "/common/upload", //
uploadUrl: process.env.VUE_APP_BASE_API + "/common/richTextPictureUrl", //
headers: {
Authorization: "Bearer " + getToken()
},
@ -82,7 +82,7 @@ export default {
[{ color: [] }, { background: [] }], //
[{ align: [] }], //
["clean"], //
["link", "image", "video"] //
["link", "image"] //
],
},
placeholder: "请输入内容",
@ -177,6 +177,9 @@ export default {
let length = quill.getSelection().index;
// res.url
quill.insertEmbed(length, "image", process.env.VUE_APP_BASE_API + res.fileName);
this.$emit("imgs", res.fileName);
//
quill.setSelection(length + 1);
} else {

View File

@ -11,46 +11,46 @@ NProgress.configure({ showSpinner: false })
const whiteList = ['/login', '/auth-redirect', '/bind', '/register']
router.beforeEach((to, from, next) => {
NProgress.start()
if (getToken()) {
to.meta.title && store.dispatch('settings/setTitle', to.meta.title)
/* has token*/
if (to.path === '/login') {
next({ path: '/' })
NProgress.done()
NProgress.start()
if (getToken()) {
to.meta.title && store.dispatch('settings/setTitle', to.meta.title)
/* has token*/
if (to.path === '/login') {
next({ path: '/' })
NProgress.done()
} else {
if (store.getters.roles.length === 0) {
isRelogin.show = true
// 判断当前用户是否已拉取完user_info信息
store.dispatch('GetInfo').then(() => {
isRelogin.show = false
store.dispatch('GenerateRoutes').then(accessRoutes => {
// 根据roles权限生成可访问的路由表
router.addRoutes(accessRoutes) // 动态添加可访问路由表
next({...to, replace: true }) // hack方法 确保addRoutes已完成
})
}).catch(err => {
store.dispatch('LogOut').then(() => {
Message.error(err)
next({ path: '/' })
})
})
} else {
next()
}
}
} else {
if (store.getters.roles.length === 0) {
isRelogin.show = true
// 判断当前用户是否已拉取完user_info信息
store.dispatch('GetInfo').then(() => {
isRelogin.show = false
store.dispatch('GenerateRoutes').then(accessRoutes => {
// 根据roles权限生成可访问的路由表
router.addRoutes(accessRoutes) // 动态添加可访问路由表
next({ ...to, replace: true }) // hack方法 确保addRoutes已完成
})
}).catch(err => {
store.dispatch('LogOut').then(() => {
Message.error(err)
next({ path: '/' })
})
})
} else {
next()
}
// 没有token
if (whiteList.indexOf(to.path) !== -1) {
// 在免登录白名单,直接进入
next()
} else {
next(`/login?redirect=${to.fullPath}`) // 否则全部重定向到登录页
NProgress.done()
}
}
} else {
// 没有token
if (whiteList.indexOf(to.path) !== -1) {
// 在免登录白名单,直接进入
next()
} else {
next(`/login?redirect=${to.fullPath}`) // 否则全部重定向到登录页
NProgress.done()
}
}
})
router.afterEach(() => {
NProgress.done()
NProgress.done()
})

View File

@ -356,6 +356,7 @@
style="margin-top: 20px"
>
<editor
@imgs="imgs"
:min-height="100"
style="width: 90%; margin: 0 auto"
v-model="form.goodsRemark"

View File

@ -18,6 +18,7 @@ export default {
name: "OperateGoodsInfo",
data() {
return {
imgsurl: { pictureUrlList: [] },
imgone: "",
imageUrl: "", //商品图片
@ -134,6 +135,10 @@ export default {
this.goodsCategoryinfo();
},
methods: {
imgs(item) {
this.imgsurl.pictureUrlList.push(item);
// console.log(this.imgsurl)
},
upwhetherShelf(row) {
console.log(row);
if (row.whetherShelf == false) {
@ -224,6 +229,10 @@ export default {
console.log(res);
});
}
if (this.imgsurl.pictureUrlList.length > 0) {
updatePicture(this.imgsurl).then((res) => {});
}
this.imgsurl={pictureUrlList:[]};
this.open = false;
this.reset();
this.StationName = "请选择所属护理站";

View File

@ -298,23 +298,24 @@
</el-form-item>
<el-form-item label="下单方式" prop="buySource">
<el-input
:value="buySourceinfo(orderList.buySource)"
:value="orderChannelinfo(orderList.orderChannel)"
disabled
style="width: 240px"
/>
</el-form-item>
<el-form-item label="购买来源" prop="orderChannel">
<el-input
:value="orderChannelinfo(orderList.orderChannel)"
:value="buySourceinfo(orderList.buySource)"
disabled
style="width: 240px"
/>
</el-form-item>
<el-form-item label="综合评分" v-if="ratelist.compositeScore">
<el-form-item label="综合评分" v-if="orderList.compositeScore">
<div style="width: 240px">
<el-rate
v-if="ratelist.compositeScore"
v-model="ratelist.compositeScore"
v-if="orderList.compositeScore"
v-model="orderList.compositeScore"
style="padding-top: 7px"
disabled
show-score
@ -331,18 +332,15 @@
></el-input>
</div>
</el-form-item>
<el-form-item label="评价内容" v-if="ratelist.evaluateContent">
<el-form-item label="评价内容" v-if="orderList.evaluateContent">
<el-input
type="textarea"
disabled
style="width: 240px"
v-model="ratelist.evaluateContent"
style="width: 610px"
v-model="orderList.evaluateContent"
/>
</el-form-item>
<el-form-item
label="评价图片"
v-if="ratelist.orderEvaluatePictureInfoList"
>
<el-form-item label="评价图片" v-if="ratelist">
<div
style="
display: flex;
@ -351,8 +349,8 @@
"
>
<img
style="width: 240px"
v-for="(item, index) in ratelist.orderEvaluatePictureInfoList"
style="width: 23%; height: 100%; margin: 1%"
v-for="(item, index) in ratelist"
:src="baseurl + item.evaluatePictureUrl"
alt=""
:key="index"

View File

@ -9,7 +9,6 @@ import {
editExpressNo,
goodsOrderrefund,
weChatRefundOrderApply,
selectOrderEvaluate
} from "@/api/system/goodsOrder";
import { getListByUser } from "@/api/system/userlist.js";
import baseurl from '@/api/baseurl.js'
@ -243,16 +242,10 @@ export default {
getGoodsOrderlist(id).then((res) => {
this.orderList = res.data;
this.innerorder = true;
this.ratelist = {}
if (row.orderStatus == 'EVALUATED') {
this.ratelist = {}
selectOrderEvaluate(id).then(res => {
if (res.data) {
this.ratelist = res.data
}
})
} else {
this.ratelist = {}
}
this.ratelist = res.data.orderEvaluatePictureInfoList
} else {}
});
},
// 查看录入物流单号弹框

View File

@ -56,6 +56,7 @@
>
</el-form-item>
</el-form>
<el-table
v-loading="loading"
:data="OrderDetailsList"
@ -289,7 +290,26 @@
>
</el-table-column>
</el-table>
<el-form-item
label="预约服务位置"
v-if="
query.orderStatus == 'COMPLETE' || query.orderStatus == 'EVALUATED'
"
>
<el-input
v-model="query.serviceLocationName"
disabled
style="width: 250px"
/>
</el-form-item>
</el-form>
<div
id="container"
v-if="
this.query.orderStatus == 'COMPLETE' ||
this.query.orderStatus == 'EVALUATED'
"
></div>
</el-dialog>
<!-- 派单弹框 -->
<el-dialog
@ -600,5 +620,9 @@ export default indexjs;
width: 250px;
height: 250px;
}
#container {
width: 100%;
height: 600px;
}
</style>

View File

@ -7,15 +7,13 @@ import {
xylWeChatRefundNotify,
appointmentOrderDetails,
} from "@/api/system/order";
import {
selectOrderEvaluate
} from "@/api/system/goodsOrder";
import { getListByUser } from "@/api/system/userlist.js";
import baseurl from '@/api/baseurl.js'
export default {
name: "order",
data() {
return {
map: null,
baseurl: null,
orderStatuslist: [{
value: "WAIT_PAY",
@ -127,7 +125,52 @@ export default {
this.getList();
this.baseurl = baseurl
},
mounted() {},
methods: {
init(query) {
this.map = new AMap.Map("container", {
resizeEnable: true, //设置地图可缩放
zoom: 18, //设置地图的层级
center: [query.serveLocationLongitude, query.serveLocationLatitude], //设置地图中心点 更多配置项参照高德官网的配置
});
var layer = new AMap.LabelsLayer({
zooms: [3, 20],
zIndex: 1000,
// 开启标注避让默认为开启v1.4.15 新增属性
collision: true,
// 开启标注淡入动画默认为开启v1.4.15 新增属性
animation: true,
});
this.map.add(layer);
var labelMarker = new AMap.LabelMarker({
name: query.serviceLocationName,
position: [query.serveLocationLongitude, query.serveLocationLatitude],
icon: {
type: "image",
image: "https://a.amap.com/jsapi_demos/static/images/poi-marker.png",
clipOrigin: [280, 8],
clipSize: [50, 68],
size: [25, 34],
anchor: "bottom-center",
angel: 0,
retina: true,
},
text: {
content: query.serviceLocationName,
direction: "top",
offset: [0, 0],
style: {
fontSize: 13,
fontWeight: "normal",
fillColor: "black",
padding: "2, 5",
backgroundColor: "",
},
},
});
layer.add(labelMarker);
},
//取消预约确定按钮
ordercacenl() {
var obj = {
@ -176,6 +219,7 @@ export default {
seeLook(row) {
this.loading = true
const id = row.orderNo;
this.map = null
appointmentOrderDetails(id).then((res) => {
res.data.forEach((e) => {
if (e.serviceDate) {
@ -184,25 +228,33 @@ export default {
}
});
this.query = res.data[0];
this.query.evaluateSatisfaction = null
if (row.orderStatus == 'EVALUATED') {
selectOrderEvaluate(id).then(res => {
if (res.data) {
if (res.data.evaluateSatisfaction == 'COMMONLY') {
this.query.evaluateSatisfaction = '一般'
} else if (res.data.evaluateSatisfaction == 'SATISFIED') {
this.query.evaluateSatisfaction = '满意'
} else if (res.data.evaluateSatisfaction == 'DISSATISFIED') {
this.query.evaluateSatisfaction = '不满意'
}
this.loading = false
this.innerVisible4 = true;
} else {
this.loading = false
this.innerVisible4 = true;
if (res.data) {
if (res.data[0].evaluateSatisfaction == 'COMMONLY') {
this.query.evaluateSatisfaction = '一般'
} else if (res.data[0].evaluateSatisfaction == 'SATISFIED') {
this.query.evaluateSatisfaction = '满意'
} else if (res.data[0].evaluateSatisfaction == 'DISSATISFIED') {
this.query.evaluateSatisfaction = '不满意'
}
})
this.loading = false
this.innerVisible4 = true;
setTimeout(() => {
this.init(this.query)
}, 500);
} else {
this.loading = false
this.innerVisible4 = true;
setTimeout(() => {
this.init(this.query)
}, 500);
}
} else if (row.orderStatus == 'COMPLETE') {
this.loading = false
this.innerVisible4 = true;
setTimeout(() => {
this.init(this.query)
}, 500);
} else {
this.loading = false
this.innerVisible4 = true;
@ -363,4 +415,4 @@ export default {
);
},
},
};
};

View File

@ -298,6 +298,7 @@
</el-form-item>
<el-form-item label="护理站简介" prop="agencyIntroduce">
<editor
@imgs="imgs"
:min-height="62"
style="width: 90%; margin: 0 auto"
v-model="form.agencyIntroduce"

View File

@ -42,6 +42,7 @@ export default {
}
};
return {
imgsurl: { pictureUrlList: [] },
imageUrl: "",
imageUrl2: "",
imgtwo: "",
@ -159,6 +160,9 @@ export default {
this.info();
},
methods: {
imgs(item) {
this.imgsurl.pictureUrlList.push(item);
},
imgUrl(imgUrl) {
this.form.stationPictureUrl = imgUrl;
},
@ -248,6 +252,10 @@ export default {
if (obj.pictureUrlList.length > 0) {
updatePicture(obj).then((res) => {});
}
if (this.imgsurl.pictureUrlList.length > 0) {
updatePicture(this.imgsurl).then((res) => {});
}
this.imgsurl={pictureUrlList:[]};
this.open = false;
this.reset();
},

View File

@ -54,6 +54,7 @@
/>
<div v-else></div>
</div>
<div class="title">请上传图片为800x800px的正方形</div>
</el-col>
</el-row>
<br />
@ -244,6 +245,12 @@ export default {
};
</script>
<style scoped lang="scss">
.title {
position: absolute;
bottom: 5%;
left: 50%;
transform: translate(-50%, 0%);
}
.avatar-upload-preview {
position: absolute;
top: 0%;
@ -279,4 +286,4 @@ export default {
line-height: 110px;
border-radius: 50%;
}
</style>
</style>

View File

@ -144,11 +144,11 @@
align="center"
prop="nurseItemName"
/>
<el-table-column
<!-- <el-table-column
label="提前预约时长(h)"
align="center"
prop="advanceAppointDuration"
/>
/> -->
<el-table-column label="创建时间" align="center" prop="createTime" />
<el-table-column label="创建人" align="center" prop="createBy" />
<el-table-column
@ -260,7 +260,7 @@
maxlength="50"
/>
</el-form-item>
<el-form-item
<!-- <el-form-item
label="提前预约时长"
prop="nurseStationItem.advanceAppointDuration"
>
@ -271,6 +271,14 @@
type="number"
min="0"
/>
</el-form-item> -->
<el-form-item label="排序" prop="nurseStationItem.sort">
<el-input
placeholder="请输入排序"
v-model="form.nurseStationItem.sort"
oninput="value=value.replace(/[^\d]/g,'')"
maxLength="9"
/>
</el-form-item>
<el-form-item label="项目头像" prop="nurseStationItem.itemPictureUrl">
<stationAcatar
@ -280,19 +288,11 @@
:type="'itemPictureUrl'"
/>
</el-form-item>
<el-form-item label="排序" prop="nurseStationItem.sort">
<el-input
placeholder="请输入排序"
v-model="form.nurseStationItem.sort"
oninput="value=value.replace(/[^\d]/g,'')"
maxLength="9"
/>
</el-form-item>
<el-form-item
label="项目内容简介"
prop="nurseStationItem.nurseItemContent"
>
<el-input
<!-- <el-input
maxlength="300"
type="textarea"
:autosize="{ minRows: 2, maxRows: 4 }"
@ -300,7 +300,15 @@
style="width: 208px"
v-model="form.nurseStationItem.nurseItemContent"
>
</el-input>
</el-input> -->
<editor
@imgs="imgs"
maxlength="300"
:min-height="82"
placeholder="请输入内容"
style="width: 90%"
v-model="form.nurseStationItem.nurseItemContent"
></editor>
</el-form-item>
<el-form-item label="项目时长和价格" required>
<el-table

View File

@ -17,6 +17,7 @@ export default {
name: "NurseItem",
data() {
return {
imgsurl: { pictureUrlList: [] },
imageUrl: "",
imgone: "",
// 用户导入参数
@ -111,9 +112,9 @@ export default {
"nurseStationItem.sort": [
{ required: true, message: "排序不能为空", trigger: "blur" },
],
"nurseStationItem.advanceAppointDuration": [
{ required: true, message: "提前预约时长不能为空", trigger: "blur" },
],
// "nurseStationItem.advanceAppointDuration": [
// { required: true, message: "提前预约时长不能为空", trigger: "blur" },
// ],
"nurseStationItem.itemPictureUrl": [{
required: true,
trigger: "blur",
@ -135,7 +136,11 @@ export default {
this.getList();
},
methods: {
imgs(item) {
this.imgsurl.pictureUrlList.push(item);
},
imgUrl(imgUrl) {
this.form.nurseStationItem.itemPictureUrl = imgUrl;
},
handleAvatarSuccess(res, file) {
@ -292,6 +297,10 @@ export default {
if (obj.pictureUrlList.length > 0) {
updatePicture(obj).then((res) => { });
}
if (this.imgsurl.pictureUrlList.length > 0) {
updatePicture(this.imgsurl).then((res) => {});
}
this.imgsurl={pictureUrlList:[]};
this.open = false;
this.reset();
@ -467,6 +476,7 @@ export default {
this.form.nurseStationItemPrices.forEach(e => {
e.price = Number(e.price)
})
this.form.nurseStationItem.advanceAppointDuration=0
updateNurseItem(this.form).then((response) => {
this.$modal.msgSuccess("修改成功");
this.open = false;
@ -476,6 +486,7 @@ export default {
this.form.nurseStationItemPrices.forEach(e => {
e.price = Number(e.price)
})
this.form.nurseStationItem.advanceAppointDuration=0
addNurseItem(this.form).then((response) => {
this.$modal.msgSuccess("新增成功");
this.$forceUpdate();

View File

@ -797,19 +797,23 @@ export default {
const userId = row.userId || this.ids;
getUser(userId).then((response) => {
this.form = response.data;
this.form.nurseStationIds = Number(this.form.nurseStationIds);
if (!this.form.nurseStationIds) {
this.form.nurseStationIds = ''
} else {
this.form.nurseStationIds = Number(this.form.nurseStationIds);
}
// if (
// !this.form.nurseStationIds ||
// this.form.nurseStationIds == null ||
// this.form.nurseStationIds.length == 0
// ) {
// ) {getList
// } else {
// this.form.nurseStationIds = this.form.nurseStationIds.split(",");
// this.form.nurseStationIds = this.form.nurseStationIds.map((e) => {
// return (e = Number(e));
// });
// }
console.log(this.form);
this.postOptions = response.posts;
this.roleOptions = response.roles;
@ -835,7 +839,7 @@ export default {
this.$modal.msgSuccess("修改成功,新密码是:" + value);
});
})
.catch(() => {});
.catch(() => { });
},
/** 分配角色操作 */
handleAuthRole: function (row) {
@ -844,7 +848,6 @@ export default {
},
/** 提交按钮 */
submitForm: function () {
console.log(this.form);
this.$refs["form"].validate((valid) => {
if (valid) {
// this.form.nurseStationIds = this.form.nurseStationIds.join(",");
@ -853,13 +856,28 @@ export default {
// obj.push(this.form.nurseStationIds);
// console.log(obj)
// this.form.nurseStationIds = obj;
console.log(this.form);
if (this.form.userId != undefined) {
updateUser(this.form).then((response) => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
if (!this.form.nurseStationIds) {
this.form.nurseStationIds = null
updateUser(this.form).then((response) => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
// console.log('bbb',this.form)
});
} else {
this.form.nurseStationIds = Number(this.form.nurseStationIds);
updateUser(this.form).then((response) => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
// console.log('bbb',this.form)
});
}
} else {
addUser(this.form).then((response) => {
this.$modal.msgSuccess("新增成功");
@ -882,7 +900,7 @@ export default {
this.getList();
this.$modal.msgSuccess("删除成功");
})
.catch(() => {});
.catch(() => { });
},
/** 导出按钮操作 */
handleExport() {
@ -918,8 +936,8 @@ export default {
this.$refs.upload.clearFiles();
this.$alert(
"<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
response.msg +
"</div>",
response.msg +
"</div>",
"导入结果",
{ dangerouslyUseHTMLString: true }
);

View File

@ -52,6 +52,9 @@ module.exports = {
}
},
configureWebpack: {
externals: {
'AMap': 'AMap'
},
name: name,
resolve: {
alias: {
@ -132,4 +135,4 @@ module.exports = {
}
)
}
}
}