From 09da100729793848bc01b51f7b05ca3f1e7ec64f Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期四, 20 六月 2024 14:05:35 +0800
Subject: [PATCH] 提交一把
---
company/src/components/business/OperaSolutionsWindow.vue | 159 +++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 124 insertions(+), 35 deletions(-)
diff --git a/company/src/components/business/OperaSolutionsWindow.vue b/company/src/components/business/OperaSolutionsWindow.vue
index c48dbfe..260c454 100644
--- a/company/src/components/business/OperaSolutionsWindow.vue
+++ b/company/src/components/business/OperaSolutionsWindow.vue
@@ -44,27 +44,29 @@
</el-select>
</div>
</el-form-item>
- <el-form-item label="淇濋櫓璐圭敤" prop="price">
+ <el-form-item label="鏂规璐圭敤" prop="price">
<div style="display: flex; align-items: center;">
<el-input v-model="form.price" style="flex: 1;" placeholder="璇疯緭鍏�" v-trim/>
<span style="margin: 0 30px;">鍏�/浜�</span>
- <el-select v-model="form.timeUnit" style="flex: 1;" placeholder="璇烽�夋嫨">
+ <el-select v-model="form.timeUnit" style="flex: 1;" placeholder="璇烽�夋嫨鍛ㄦ湡鍗曚綅" @change="changeTimeUnit">
<el-option label="澶�" :value="0"></el-option>
<!-- <el-option label="鍗婃湀" :value="1"></el-option>-->
- <el-option label="鏈�" :value="2"></el-option>
- <el-option label="骞�" :value="3"></el-option>
+ <el-option label="鏈�" :value="2"></el-option>
+ <el-option label="瀛e害" :value="3"></el-option>
+ <el-option label="鍗婂勾" :value="4"></el-option>
+ <el-option label="骞�" :value="5"></el-option>
</el-select>
</div>
</el-form-item>
- <el-form-item label="鎶曚繚鍛ㄦ湡" prop="insureCycle">
+ <el-form-item label="鎵规敼璁¤垂瑙勫垯" prop="insureCycleUnit">
<div style="display: flex; align-items: center;">
- <el-input v-model="form.insureCycle" style="flex: 1;" placeholder="璇疯緭鍏�" v-trim/>
- <span style="margin: 0 30px;"></span>
<el-select v-model="form.insureCycleUnit" style="flex: 1;" placeholder="璇烽�夋嫨">
- <el-option label="澶�" :value="0"></el-option>
-<!-- <el-option label="鍗婃湀" :value="1"></el-option>-->
- <el-option label="鏈�" :value="2"></el-option>
- <el-option label="骞�" :value="3"></el-option>
+ <el-option label="澶�" :value="0"></el-option>
+ <el-option v-if="form.timeUnit>=1" label="鍗婃湀" :value="1"></el-option>
+ <el-option v-if="form.timeUnit>=2" label="鏈�" :value="2"></el-option>
+ <el-option v-if="form.timeUnit>=3" label="瀛e害" :value="3"></el-option>
+ <el-option v-if="form.timeUnit>=4" label="鍗婂勾" :value="4"></el-option>
+ <el-option v-if="form.timeUnit>=5" label="骞�" :value="5"></el-option>
</el-select>
</div>
</el-form-item>
@@ -76,16 +78,41 @@
<el-radio :label="1">娆℃湀鐢熸晥</el-radio>
</el-radio-group>
</div>
- <el-input style="margin-left: 20px;" type="number" v-model="form.validTypeNum" placeholder="璇疯緭鍏ュ欢杩熷ぉ鏁�" v-if="form.validType === 0"></el-input>
+ <el-input style="margin-left: 20px;" type="number" v-model="form.validTypeNum" placeholder="璇疯緭鍏ュ欢杩熷ぉ鏁�" v-if="form.validType === 0"></el-input>
</div>
</el-form-item>
+ <el-form-item label="鎵规敼鏀寔" >
+ <div style="width: 100%; display: flex; align-items: center;">
+ <el-checkbox :true-label="1" :false-label="0" v-model="form.canAdd">鍔犱繚</el-checkbox>
+ <el-checkbox :true-label="1" :false-label="0" v-model="form.canReduce">鍑忎繚</el-checkbox>
+ <el-checkbox :true-label="1" :false-label="0" v-model="form.canChangeUnit">鏇存崲娲鹃仯鍗曚綅</el-checkbox>
+ </div>
+ </el-form-item>
+ <el-form-item label="鎵瑰噺鍙敮鎸佹浛鎹紙鍑忎繚鎵规敼浠呮敮鎸佹浛鎹汉鍛�,鍗冲噺淇濅汉鍛樹笉灏戜簬鍔犱繚浜哄憳鏁伴噺锛�" prop="delOnlyReplace" v-if="form.insureCycleUnit===0 || (form.insureCycleUnit===form.timeUnit)">
+ <div style="width: 100%; display: flex; align-items: center;">
+ <el-radio-group v-model="form.delOnlyReplace">
+ <el-radio :label="1">鏄�</el-radio>
+ <el-radio :label="0">鍚�</el-radio>
+ </el-radio-group>
+ </div>
+ </el-form-item>
+ <el-form-item label="鎵瑰鐢熸晥锛堝ぉ鏁帮級" prop="addValidDays" v-if="form.delOnlyReplace != 1">
+ <div style="width: 100%; display: flex; align-items: center;">
+ <el-input style="margin-left: 0px;" type="number" v-model="form.addValidDays" placeholder="璇疯緭鍏ユ壒澧炵敓鏁堟椂闂达紙澶╂暟锛�" ></el-input>
+ </div>
+ </el-form-item>
+ <el-form-item label="鎵瑰噺鐢熸晥锛堝ぉ鏁帮級" prop="delValidDays">
+ <div style="width: 100%; display: flex; align-items: center;">
+ <el-input style="margin-left: 0px;" type="number" v-model="form.delValidDays" placeholder="璇疯緭鍏ユ壒鍑忕敓鏁堟椂闂达紙澶╂暟锛�" ></el-input>
+ </div>
+ </el-form-item>
<el-form-item label="鎶曚繚绫诲瀷" prop="type">
- <el-radio-group v-model="form.type">
- <el-radio :label="0">鐩翠繚</el-radio>
+ <el-radio-group v-model="form.type" :disabled="form.id!=null">
+ <el-radio :label="0" >鐩翠繚</el-radio>
<el-radio :label="1">濮旀墭鎶曚繚</el-radio>
</el-radio-group>
</el-form-item>
- <el-form-item label="濮旀墭鍟嗘埛" prop="shopId" v-if="form.type =='1'">
+ <el-form-item label="濮旀墭鍟嗘埛" prop="shopId" v-if="form.type =='1'" :rules="form.type===1?[{required:true,message:'璇烽�夋嫨鍟嗘埛'}]:[{required:false}]">
<el-select v-model="form.shopId" placeholder="璇烽�夋嫨濮旀墭鍟嗘埛">
<el-option
v-for="item in shops"
@@ -95,8 +122,8 @@
</el-option>
</el-select>
</el-form-item>
- <el-form-item label="涓婁紶鏂规纭涔︼細" prop="fanganFile" v-if="form.type =='1'">
- <UploadFile :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileList="form.fileList1" @uploadSuccess="editFanganFile" />
+ <el-form-item label="涓婁紶鏂规纭涔︼細" prop="fanganFile" v-if="form.type =='1'" :rules="form.type===1?[{required:true,message:'璇蜂笂浼犳柟妗堢‘璁や功'}]:[{required:false}]">
+ <UploadFile @remove="deleFile" :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileList="form.fileList1" @uploadSuccess="editFanganFile" />
</el-form-item>
<el-form-item label="鎺ユ敹鏂囦欢閭" prop="email">
<el-input v-model="form.email" placeholder="璇疯緭鍏�" v-trim/>
@@ -141,13 +168,13 @@
</el-table-column>
</el-table>
<el-form-item label="鐗瑰埆绾﹀畾" prop="specialAgreement">
- <el-input type="textarea" v-model="form.specialAgreement" placeholder="璇疯緭鍏ョ壒鍒害瀹�" v-trim/>
+ <RichEditor :richData="form.specialAgreement" :styleEditor="'border: 1px solid #ccc;display: inline-block;'" @getWangedditor="getWangedditor" :readonly="false"/>
</el-form-item>
<el-form-item label="鐗瑰埆璇存槑" prop="specialInfo">
- <el-input type="textarea" v-model="form.specialInfo" placeholder="璇疯緭鍏ョ壒鍒鏄�" v-trim/>
+ <RichEditor :richData="form.specialInfo" :styleEditor="'border: 1px solid #ccc;display: inline-block;'" @getWangedditor="getWangedditor1" :readonly="false"/>
</el-form-item>
- <el-form-item label="鍏朵粬璇存槑" prop="ortherInfo">
- <el-input type="textarea" v-model="form.ortherInfo" placeholder="璇疯緭鍏ュ叾浠栬鏄�" v-trim/>
+ <el-form-item label="鍏朵粬璇存槑" prop="ortherInfo">
+ <RichEditor :richData="form.ortherInfo" :styleEditor="'border: 1px solid #ccc;display: inline-block;'" @getWangedditor="getWangedditor2" :readonly="false"/>
</el-form-item>
</el-form>
</GlobalWindow>
@@ -160,11 +187,13 @@
import { all as allWorktype } from '@/api/business/worktype'
import { solutionsId } from '@/api/business/solutions'
import { pageAll as shopList } from '@/api/business/company'
-import UploadFile from "@/components/common/UploadFile";
+import UploadFile from '@/components/common/UploadFile'
+import { checkMobile, numRule } from '@/utils/form'
+import RichEditor from '@/components/common/RichEditor'
export default {
name: 'OperaSolutionsWindow',
extends: BaseOpera,
- components: { GlobalWindow ,UploadFile},
+ components: { GlobalWindow, UploadFile, RichEditor },
data () {
var validType = (rule, value, callback) => {
if (this.form.validType === 0 && !value) {
@@ -196,14 +225,29 @@
ortherInfo: '',
signKeyword: '',
validTypeNum: '',
- fileList1:[],
- fanganFile:null,
+ canReduce: 0,
+ canChangeUnit: 0,
+ addValidDays: 0,
+ delValidDays: 0,
+ delOnlyReplace: 0,
+ canAdd: 0,
+ fileList1: [],
+ fanganFile: null,
worktypeIdList: [{ worktypeId: '' }]
},
// 楠岃瘉瑙勫垯
rules: {
name: [
{ required: true, message: '璇疯緭鍏ユ柟妗堝悕绉�' }
+ ],
+ delOnlyReplace: [
+ { required: true, message: '璇烽�夋嫨' }
+ ],
+ addValidDays: [
+ { validator: numRule }
+ ],
+ delValidDays: [
+ { validator: numRule }
],
insuranceId: [
{ required: true, message: '璇烽�夋嫨淇濋櫓鍏徃' }
@@ -215,10 +259,10 @@
{ required: true, message: '璇烽�夋嫨鎶曚繚骞撮緞' }
],
price: [
- { required: true, message: '璇疯緭鍏ヤ繚闄╄垂鐢�' }
+ { required: true, message: '璇疯緭鍏ユ柟妗堣垂鐢�' }
],
- insureCycle: [
- { required: true, message: '璇疯緭鍏ユ姇淇濆懆鏈�' }
+ insureCycleUnit: [
+ { required: true, message: '璇疯緭鍏ユ壒鏀硅璐瑰崟浣�' }
],
validTypeNum: [
{ required: true, validator: validType }
@@ -242,8 +286,32 @@
})
},
methods: {
- editFanganFile(data){
- this.form.fanganFile=data
+ getWangedditor(val){
+ this.form.specialAgreement = val;
+ },
+ getWangedditor1(val){
+ this.form.specialInfo = val;
+ },
+ getWangedditor2(val){
+ this.form.ortherInfo = val;
+ },
+
+ handNumberInput (value) {
+ const regex = /^[-+]?\d*$/
+ if (!regex.test(value)) {
+ // 濡傛灉杈撳叆鐨勪笉鏄暣鏁帮紝鍒欒缃负涓婁竴涓湁鏁堢殑鏁存暟鍊�
+ this.form.addValidDays = value.replace(/[^0-9]/g, '')
+ this.form.addValidDays = value.replace(/[^0-9]/g, '')
+ this.form.delValidDays = value.replace(/[^0-9]/g, '')
+ }
+ },
+ changeTimeUnit () {
+ if (this.form.timeUnit < this.form.insureCycleUnit) {
+ this.form.insureCycleUnit = null
+ }
+ },
+ editFanganFile (data) {
+ this.form.fanganFile = data
},
// 鍒囨崲鍏徃
getAllWorktype1 () {
@@ -256,6 +324,10 @@
data.worktypeIdList = data.worktypeIdList.map(item => item.worktypeId)
this.$refs.form.validate((valid) => {
if (!valid) {
+ return
+ }
+ if (data.type === 1 && (!data.fanganFile || !data.fanganFile.fileurl)) {
+ this.$message.error('璇蜂笂浼犳柟妗堢‘璁や功锛�')
return
}
// 璋冪敤鏂板缓鎺ュ彛
@@ -289,15 +361,24 @@
}
})
},
+ deleFile () {
+ this.form.fanganFile = {}
+ },
open (title, target) {
this.title = title
+ this.visible = true
this.form.maxAge = ''
this.form.timeUnit = ''
this.form.insureCycleUnit = ''
this.form.validTypeNum = ''
- this.visible = true
- this.form.fanganFile=null
- this.form.fileList1= new Array();
+ this.form.fanganFile = null
+ this.form.canReduce = 0
+ this.form.canChangeUnit = 0
+ this.form.addValidDays = 0
+ this.form.delOnlyReplace = 0
+ this.form.delValidDays = 0
+ this.form.canAdd = 0
+ this.form.fileList1 = []
this.form.worktypeIdList = [{ worktypeId: '' }]
// this.$refs['$upload'].clearFiles()//鍒濆鍖栧鍏ョ粍浠�
this.allCompany()
@@ -306,6 +387,13 @@
if (target == null) {
this.$nextTick(() => {
this.$refs.form.resetFields()
+ this.form.maxAge = ''
+ this.form.timeUnit = ''
+ this.form.insureCycleUnit = ''
+ this.form.validTypeNum = ''
+ this.form.fanganFile = null
+ this.form.fileList1 = []
+ this.form.worktypeIdList = [{ worktypeId: '' }]
this.form[this.configData['field.id']] = null
})
return
@@ -317,8 +405,8 @@
for (const key in this.form) {
this.form[key] = res[key]
}
- if(this.form.fanganFile && this.form.fanganFile.fileurl){
- this.form.fileList1= [{url: this.form.fanganFile.fileurlFull, name:this.form.fanganFile.name}];
+ if (this.form.fanganFile && this.form.fanganFile.fileurl) {
+ this.form.fileList1 = [{ url: this.form.fanganFile.fileurlFull, name: this.form.fanganFile.name }]
}
console.log(this.form.fileList1)
this.form.worktypeIdList = res.worktypeList.map(item => {
@@ -338,6 +426,7 @@
this.typeWork = res
})
},
+
// 鏌ヨ鍏ㄩ儴淇濋櫓鍏徃
allCompany () {
all({ dataType: 2, status: 0 })
--
Gitblit v1.9.3