提交1
This commit is contained in:
@@ -84,16 +84,8 @@
|
||||
></textarea>
|
||||
</div>
|
||||
|
||||
<div class="form-item required" v-if="serviceForm.demandType == '4' || serviceForm.demandType == '5'">
|
||||
<label class="form-label">人员状态</label>
|
||||
<div class="radio-group">
|
||||
<label class="radio-item" v-for="item in personStatusOptions" :key="item.value">
|
||||
<input type="radio" name="personStatus" :value="item.value" v-model="serviceForm.personStatus" />
|
||||
<span class="radio-label">{{ item.label }}</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</view>
|
||||
|
||||
// </view>
|
||||
|
||||
<view class="inner-part" v-if="serviceForm.demandType == '4' || serviceForm.demandType == '5'">
|
||||
<div class="form-item">
|
||||
|
||||
@@ -4,22 +4,21 @@
|
||||
<u-image src="@/static/images/top.png" width="750rpx" height="496rpx" />
|
||||
</view>
|
||||
<view class="job-list__navbar">
|
||||
<u-navbar
|
||||
title="服务详情"
|
||||
:autoBack="true"
|
||||
bgColor="transparent"
|
||||
leftIconColor="#fff"
|
||||
:titleStyle="{ color: '#fff' }"
|
||||
>
|
||||
<u-icon
|
||||
v-show="$store.getters.roles.includes('shequn')"
|
||||
@tap="$store.commit('SET_SHOWEXITPOPUP', true)"
|
||||
name="list"
|
||||
slot="right"
|
||||
size="44rpx"
|
||||
color="#fff"
|
||||
></u-icon>
|
||||
</u-navbar>
|
||||
<div class="navbar">
|
||||
<view class="navbar-left" @click="goBack">
|
||||
<uni-icons name="back" color="#fff" size="36"></uni-icons>
|
||||
</view>
|
||||
<view class="navbar-title" style="color: #fff">服务详情</view>
|
||||
<view class="navbar-right">
|
||||
<uni-icons
|
||||
v-show="$store.getters.roles.includes('shequn')"
|
||||
@tap="$store.commit('SET_SHOWEXITPOPUP', true)"
|
||||
name="list"
|
||||
size="44rpx"
|
||||
color="#fff"
|
||||
></uni-icons>
|
||||
</view>
|
||||
</div>
|
||||
</view>
|
||||
<view class="job-list__content">
|
||||
<img
|
||||
@@ -92,7 +91,7 @@
|
||||
<view style="width: 100%;display: flex;justify-content: space-between;">
|
||||
<view class="xuqiushu-box-item" @click="activeType = 1">
|
||||
<view class="xuqiushu-box-item-title">
|
||||
<view :style="{color: activeType == 1 ? '#1A62CE' : '#3d3d3d'}">求职需求数</view>
|
||||
<view :style="{color: activeType == 1 ? '#1A62CE' : '#3d3d3d'}">求职需求数2</view>
|
||||
<!-- <view style="color: #3D3D3D;">需求数</view> -->
|
||||
</view>
|
||||
<view class="xuqiushu-box-item-num">{{ jobSearchList.length }}</view>
|
||||
@@ -390,61 +389,80 @@
|
||||
closeOnClickOverlay
|
||||
@close="openDeal = false"
|
||||
>
|
||||
<u--form
|
||||
class="self-form"
|
||||
labelPosition="top"
|
||||
:model="formData"
|
||||
:rules="rules"
|
||||
ref="uForm"
|
||||
labelWidth="300"
|
||||
>
|
||||
<u-form-item label="实际解决时间" prop="actualSolveDate" required>
|
||||
<view
|
||||
class="bordered"
|
||||
style="width: 100%"
|
||||
@click="showTime = true"
|
||||
:class="{ noValue: !formData.actualSolveDate }"
|
||||
>{{ formData.actualSolveDate || "请选择" }}</view
|
||||
>
|
||||
<u-icon slot="right" name="arrow-down" color="#A6A6A6"></u-icon>
|
||||
</u-form-item>
|
||||
<u-form-item label="经办人" prop="agentUserName" required>
|
||||
<u--input
|
||||
v-model="formData.agentUserName"
|
||||
border="surround"
|
||||
placeholder="请输入"
|
||||
></u--input>
|
||||
<u-icon slot="right" name="edit-pen" color="#A6A6A6"></u-icon>
|
||||
</u-form-item>
|
||||
<u-form-item label="人员状态" prop="personStatus" required>
|
||||
<view class="person-status-select" @click="showPersonStatusPicker = true"
|
||||
:class="{noValue: !formData.personStatus}">
|
||||
{{ getDictLabel(formData.personStatus, dict.personStatusList) || '请选择' }}
|
||||
</view>
|
||||
<u-picker
|
||||
:show="showPersonStatusPicker"
|
||||
:columns="[dict.personStatusList]"
|
||||
keyName="dictLabel"
|
||||
@confirm="onPersonStatusConfirm"
|
||||
@cancel="showPersonStatusPicker = false"
|
||||
/>
|
||||
</u-form-item>
|
||||
<u-form-item label="附件" prop="fileUrl">
|
||||
<ImageUpload
|
||||
:fileList="fileList"
|
||||
@update="changeFile"
|
||||
:maxCount="6"
|
||||
/>
|
||||
</u-form-item>
|
||||
<div class="self-form">
|
||||
<div class="form-item required">
|
||||
<div class="form-label">实际解决时间</div>
|
||||
<div class="form-content">
|
||||
<view
|
||||
class="bordered"
|
||||
style="width: 100%"
|
||||
@click="showTime = true"
|
||||
:class="{ noValue: !formData.actualSolveDate }"
|
||||
>{{ formData.actualSolveDate || "请选择" }}</view
|
||||
>
|
||||
<uni-icons name="arrow-down" color="#A6A6A6" size="24"></uni-icons>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-item required">
|
||||
<div class="form-label">经办人</div>
|
||||
<div class="form-content">
|
||||
<input
|
||||
v-model="formData.agentUserName"
|
||||
class="form-input"
|
||||
placeholder="请输入"
|
||||
/>
|
||||
<uni-icons name="edit" color="#A6A6A6" size="24"></uni-icons>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-item required">
|
||||
<div class="form-label">人员状态</div>
|
||||
<div class="form-content">
|
||||
<view class="person-status-select" @click="showPersonStatusPicker = true"
|
||||
:class="{noValue: !formData.personStatus}">
|
||||
{{ getDictLabel(formData.personStatus, dict.personStatusList) || '请选择' }}
|
||||
</view>
|
||||
<!-- 自定义picker弹出层 -->
|
||||
<uni-popup v-model="showPersonStatusPicker" mode="bottom">
|
||||
<view class="picker-container">
|
||||
<view class="picker-header">
|
||||
<view @click="showPersonStatusPicker = false">取消</view>
|
||||
<view>人员状态</view>
|
||||
<view @click="onPersonStatusConfirm">确定</view>
|
||||
</view>
|
||||
<view class="picker-content">
|
||||
<view v-for="item in dict.personStatusList" :key="item.dictValue"
|
||||
class="picker-item" @click="selectPersonStatus(item)">
|
||||
{{ item.dictLabel }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<div class="form-label">附件</div>
|
||||
<div class="form-content">
|
||||
<ImageUpload
|
||||
:disabled="disabled"
|
||||
:fileList="fileList"
|
||||
@update="changeFile"
|
||||
:maxCount="6"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<u-form-item label="解决说明" prop="solveDesc" required>
|
||||
<u-textarea
|
||||
v-model="formData.solveDesc"
|
||||
placeholder="请输入"
|
||||
></u-textarea>
|
||||
<u-icon slot="right" name="edit-pen" color="#A6A6A6"></u-icon>
|
||||
</u-form-item>
|
||||
</u--form>
|
||||
<div class="form-item required">
|
||||
<div class="form-label">解决说明</div>
|
||||
<div class="form-content">
|
||||
<textarea
|
||||
v-model="formData.solveDesc"
|
||||
class="form-textarea"
|
||||
placeholder="请输入"
|
||||
></textarea>
|
||||
<uni-icons name="edit" color="#A6A6A6" size="24"></uni-icons>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<view class="button-area">
|
||||
<view class="btn" @click="openDeal = false">取消</view>
|
||||
<view
|
||||
@@ -582,6 +600,7 @@ export default {
|
||||
},
|
||||
openDeal: false,
|
||||
activeType: 1,
|
||||
disabled: false,
|
||||
showPersonStatusPicker: false,
|
||||
personStatusLabel: '',
|
||||
};
|
||||
@@ -590,14 +609,15 @@ export default {
|
||||
this.form.id = options.id;
|
||||
this.form.userId = options.userId;
|
||||
|
||||
this.getPersonInfo();
|
||||
this.getPersonInfo11();
|
||||
},
|
||||
onShow() {
|
||||
// 移除show重置,避免影响弹窗显示
|
||||
this.getListPersonDemand();
|
||||
this.serviceTraceability();
|
||||
// this.serviceTraceability();
|
||||
},
|
||||
mounted() {
|
||||
this.getPersonInfo11();
|
||||
let arr = [
|
||||
{
|
||||
key: "qcjy_zgzpgz",
|
||||
@@ -626,6 +646,22 @@ export default {
|
||||
},
|
||||
|
||||
methods: {
|
||||
// 返回上一页
|
||||
goBack() {
|
||||
uni.navigateBack();
|
||||
},
|
||||
|
||||
// 选择人员状态
|
||||
selectPersonStatus(item) {
|
||||
this.formData.personStatus = item.dictValue;
|
||||
this.showPersonStatusPicker = false;
|
||||
},
|
||||
|
||||
// 确认人员状态选择
|
||||
onPersonStatusConfirm() {
|
||||
// 已在selectPersonStatus中处理
|
||||
},
|
||||
|
||||
getJobWorkTypeName(data) {
|
||||
if (data) {
|
||||
let arr = this.jobTypeList.filter((ele) => ele.id == data);
|
||||
@@ -648,12 +684,7 @@ export default {
|
||||
this.show = false;
|
||||
// console.log('close');
|
||||
},
|
||||
serviceTraceability() {
|
||||
const userId = this.form.userId;
|
||||
serviceTraceability(userId).then((res) => {
|
||||
this.serviceTotal = res.data;
|
||||
});
|
||||
},
|
||||
|
||||
goAddServices() {
|
||||
|
||||
uni.navigateTo({
|
||||
@@ -888,10 +919,11 @@ export default {
|
||||
});
|
||||
},
|
||||
|
||||
getPersonInfo() {
|
||||
getPersonInfo11() {
|
||||
getPersonInfo(this.form.id).then((res) => {
|
||||
if (res.code == 200) {
|
||||
this.form = res.data;
|
||||
console.log("res.data",res.data)
|
||||
}
|
||||
});
|
||||
},
|
||||
@@ -900,6 +932,118 @@ export default {
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
/* 表单样式 */
|
||||
.self-form {
|
||||
padding: 20rpx;
|
||||
}
|
||||
|
||||
.form-item {
|
||||
margin-bottom: 30rpx;
|
||||
}
|
||||
|
||||
.form-item.required .form-label::after {
|
||||
content: '*';
|
||||
color: #ff4d4f;
|
||||
margin-left: 4rpx;
|
||||
}
|
||||
|
||||
.form-label {
|
||||
font-size: 28rpx;
|
||||
color: #333;
|
||||
margin-bottom: 12rpx;
|
||||
}
|
||||
|
||||
.form-content {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.form-input {
|
||||
width: 100%;
|
||||
padding: 20rpx;
|
||||
border: 1rpx solid #d9d9d9;
|
||||
border-radius: 8rpx;
|
||||
font-size: 28rpx;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.form-textarea {
|
||||
width: 100%;
|
||||
min-height: 200rpx;
|
||||
padding: 20rpx;
|
||||
border: 1rpx solid #d9d9d9;
|
||||
border-radius: 8rpx;
|
||||
font-size: 28rpx;
|
||||
background-color: #fff;
|
||||
resize: none;
|
||||
}
|
||||
|
||||
/* 导航栏样式 */
|
||||
.navbar {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 20rpx 30rpx;
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.navbar-left,
|
||||
.navbar-right {
|
||||
width: 60rpx;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.navbar-title {
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
font-size: 36rpx;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
/* 自定义picker样式 */
|
||||
.picker-container {
|
||||
background-color: #fff;
|
||||
border-radius: 20rpx 20rpx 0 0;
|
||||
padding-bottom: 30rpx;
|
||||
}
|
||||
|
||||
.picker-header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding: 20rpx 30rpx;
|
||||
border-bottom: 1rpx solid #f0f0f0;
|
||||
}
|
||||
|
||||
.picker-header > view {
|
||||
font-size: 32rpx;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.picker-header > view:first-child {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.picker-header > view:last-child {
|
||||
color: #1A62CE;
|
||||
}
|
||||
|
||||
.picker-content {
|
||||
max-height: 500rpx;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.picker-item {
|
||||
padding: 24rpx 30rpx;
|
||||
font-size: 30rpx;
|
||||
color: #333;
|
||||
border-bottom: 1rpx solid #f5f5f5;
|
||||
}
|
||||
|
||||
.picker-item:active {
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
|
||||
.job-list {
|
||||
&__navbar {
|
||||
height: 80rpx;
|
||||
|
||||
Reference in New Issue
Block a user